Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Настройка iptables  (Прочитано 3697 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн avuraltsev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Настройка iptables
« : 28 Апреля 2013, 11:19:04 »
В локальной сети шлюз под управлением Ubuntu Server 12.04, 2 сетевых интерфейса, eth2 смотрит в интернет, eth0 в локалку. Так же на этой тачке крутятся transmission, bind9, minidlna, webmin, apache, samba. Проблема, возможно надуманная состоит в том что, клиенты под управлением Windows в сетевом окружении видят левые компьютеры, на днях сменил провайдера, был ADSL от Ростелекома, теперь Интернет от ТТК. Так же боюсь что шлюз виден и этим компьютерам, что не хорошо, так как на нем есть шары, каким образом поправить данную ситуацию?

rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#exit 0
iptables -F
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -A FORWARD -i eth2 -o eth2 -j REJECT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu



#:~$ route
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
default         rtl1.124.uraltt 0.0.0.0         UG    100    0        0 eth2
xx.xx.xxx.x     *               255.255.252.0   U     0      0        0 eth2
localnet        *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0

Пользователь решил продолжить мысль 28 Апреля 2013, 11:37:09:
Сейчас проверил в рабочего компьютера, если постучаться на мой внешний адрес \\xxx.xxx.xxx.xxx, то доступны все шары. как запретить доступ из вне?

Пользователь решил продолжить мысль 28 Апреля 2013, 12:09:53:
Вот что NMap говорит:
Host is up (0.00089s latency).
Not shown: 993 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
8200/tcp  open  unknown
9091/tcp  open  unknown
10000/tcp open  snet-sensor-mgmt
« Последнее редактирование: 28 Апреля 2013, 12:09:53 от avuraltsev »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Настройка iptables
« Ответ #1 : 29 Апреля 2013, 10:59:19 »
Почитайте что-нибудь про настройку iptables, хотя бы там:
https://forum.ubuntu.ru/index.php?topic=20334.msg140391#msg140391

Оффлайн avuraltsev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Настройка iptables
« Ответ #2 : 29 Апреля 2013, 11:41:01 »
Проблему решил, надеюсь что полностью, оставил открытыми только 22,80,9091,10000 порты.

/etc/iptables.up.rules
-A INPUT -p tcp -m tcp -m multiport -i eth2 -j ACCEPT --dports 22,80,9091,10000
-A INPUT -p tcp -m tcp -i eth2 --tcp-flags FIN,SYN,ACK SYN -j LOG  --log-level 7 --log-tcp-options
-A INPUT -p tcp -m tcp -i eth2 --tcp-flags SYN,ACK,FIN SYN -j REJECT --reject-with icmp-port-unreachable

Вывод NMap:
Not shown: 996 filtered ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
9091/tcp  open  unknown
10000/tcp open  snet-sensor-mgmt
Nmap done: 1 IP address (1 host up) scanned in 30.23 seconds

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Настройка iptables
« Ответ #3 : 29 Апреля 2013, 11:46:32 »
На мой взгляд, REJECT стоит делать более строго, т.е. независимо от --tcp-flags.
А также добавить что-то типа:
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

Оффлайн avuraltsev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Настройка iptables
« Ответ #4 : 29 Апреля 2013, 11:59:21 »
Пробовал делать вот так:

-A INPUT -i eth2 DROP

Но интернеты пропадают))

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Настройка iptables
« Ответ #5 : 29 Апреля 2013, 14:53:01 »
Если что, там ещё важен порядок следования правил.

Оффлайн avuraltsev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Настройка iptables
« Ответ #6 : 29 Апреля 2013, 15:08:00 »
Если что, там ещё важен порядок следования правил.

Я в курсе)) как ни странно, эта запись стояла в самом конце... но потом я просто очистил файл с правилами и написал новые)) сегодня прислушаюсь к вашим советам и попробую более тонко настроить, отпишусь

Пользователь решил продолжить мысль 29 Апреля 2013, 19:45:58:
Вот что написал в /etc/iptables.up.rules
-A INPUT -p tcp -m tcp -m multiport -i eth2 -j ACCEPT --dports 22,80,9091,10000
-A INPUT -i eth2 -j DROP

Интернет отвалился((
« Последнее редактирование: 29 Апреля 2013, 19:46:51 от avuraltsev »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28476
    • Просмотр профиля
Re: Настройка iptables
« Ответ #7 : 29 Апреля 2013, 20:06:50 »
iptables-save показывайте.
И учтите, что фильтрация INPUT имеет мало отношения к видимости компьютеров вокруг шлюза.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн avuraltsev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Настройка iptables
« Ответ #8 : 29 Апреля 2013, 20:45:15 »
iptables-save показывайте.
И учтите, что фильтрация INPUT имеет мало отношения к видимости компьютеров вокруг шлюза.

#:~# iptables-save
# Generated by iptables-save v1.4.12 on Mon Apr 29 22:42:24 2013
*filter
:INPUT ACCEPT [44:5421]
:FORWARD ACCEPT [87:63070]
:OUTPUT ACCEPT [82:36413]
-A INPUT -i eth2 -p tcp -m tcp -m multiport --dports 22,80,9091,10000,27960 -j ACCEPT
-A INPUT -i eth2 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth0 -o eth2 -j ACCEPT
-A FORWARD -o eth2 -p tcp -j DROP
COMMIT
# Completed on Mon Apr 29 22:42:24 2013
# Generated by iptables-save v1.4.12 on Mon Apr 29 22:42:24 2013
*mangle
:PREROUTING ACCEPT [241:88545]
:INPUT ACCEPT [77:12226]
:FORWARD ACCEPT [150:75227]
:OUTPUT ACCEPT [92:37893]
:POSTROUTING ACCEPT [243:113152]
COMMIT
# Completed on Mon Apr 29 22:42:24 2013
# Generated by iptables-save v1.4.12 on Mon Apr 29 22:42:24 2013
*nat
:PREROUTING ACCEPT [31:2987]
:INPUT ACCEPT [3:164]
:OUTPUT ACCEPT [6:381]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT
# Completed on Mon Apr 29 22:42:24 2013

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Настройка iptables
« Ответ #9 : 29 Апреля 2013, 21:00:43 »
В начало соответствующих цепочек необходимо добавить:
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Оффлайн avuraltsev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Настройка iptables
« Ответ #10 : 29 Апреля 2013, 21:16:56 »
В начало соответствующих цепочек необходимо добавить:
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Спасибо, добавил, интернет появился...если честно я так и не понял суть этих правил.
проверяю хост nmap'ом, говорит что 27960 порт закрыт, хотя в правилах разрешено соединение

#:~# iptables-save
#:~# iptables-save
# Generated by iptables-save v1.4.12 on Mon Apr 29 23:10:36 2013
*filter
:INPUT ACCEPT [38:3921]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3043:282351]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth2 -p tcp -m tcp -m multiport --dports 22,80,9091,10000,27960 -j ACCEPT
-A INPUT -i eth2 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth2 -j ACCEPT
-A FORWARD -o eth2 -p tcp -j DROP
COMMIT
# Completed on Mon Apr 29 23:10:36 2013
# Generated by iptables-save v1.4.12 on Mon Apr 29 23:10:36 2013
*mangle
:PREROUTING ACCEPT [3147:235581]
:INPUT ACCEPT [3008:225156]
:FORWARD ACCEPT [112:8349]
:OUTPUT ACCEPT [3054:283843]
:POSTROUTING ACCEPT [3206:294603]
COMMIT
# Completed on Mon Apr 29 23:10:36 2013
# Generated by iptables-save v1.4.12 on Mon Apr 29 23:10:36 2013
*nat
:PREROUTING ACCEPT [327:41358]
:INPUT ACCEPT [5:532]
:OUTPUT ACCEPT [1064:50371]
:POSTROUTING ACCEPT [1021:46419]
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT
# Completed on Mon Apr 29 23:10:36 2013

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Настройка iptables
« Ответ #11 : 29 Апреля 2013, 22:12:07 »
если честно я так и не понял суть этих правил
Суть в более быстрой обработке пакетов для разрешённых ранее соединений.
И нет нужды разрешать трафик в обратную сторону.
Кроме того, обычно в исключениях по портам разрешают только пакеты со статусом NEW.

В вашем случае таблицу filter я бы настроил так:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth2 -p tcp -m conntrack --ctstate NEW -m multiport --dports 22,80,9091,10000,27960 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i eth0 -o eth2 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Пинги можете убрать, если не нужны.

И кстати, для выгрузки/загрузки правил настоятельно рекомендуется использовать iptables-save/iptables-restore.

проверяю хост nmap'ом, говорит что 27960 порт закрыт, хотя в правилах разрешено соединение
Проверяйте
sudo ss -lnptu

 

Страница сгенерирована за 0.07 секунд. Запросов: 25.