настройка iptables
Доброго времени суток.
Добрался я наконец до iptables... Ну, как всегда, самое важное делается в последнюю
очередь:(.
Имеется комп, подключенный к локальной сети и иногда к инету (диалап). Задача
- закрыть доступ ко всем сервисам из инета, дать полную свободу локальным клиентским
приложениям во всех сетях, обеспечить доступ к samba и http из локалки. Прочитал
несколько статей, пробежался по iptables-tutorial... Вот чего получилось:
$ nmap 127.0.0.1
Starting nmap 3.30 ( http://www.insecure.org/nmap/ ) at 2004-11-14 12:59 EET
Interesting ports on localhost (127.0.0.1):
(The 1637 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
53/tcp open domain
80/tcp open http
111/tcp open sunrpc
139/tcp open netbios-ssn
443/tcp open https
6000/tcp open X11
Nmap run completed -- 1 IP address (1 host up) scanned in 0.517 seconds
$ sudo iptables-save
# Generated by iptables-save v1.2.8 on Sun Nov 14 12:59:51 2004
*filter
:INPUT ACCEPT [30882:1566091]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [20679:1066452]
-A INPUT -i ppp+ -p tcp -m tcp --dport 21 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i ppp+ -p tcp -m tcp --dport 53 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i ppp+ -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i ppp+ -p tcp -m tcp --dport 111 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i ppp+ -p tcp -m tcp --dport 139 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i ppp+ -p tcp -m tcp --dport 443 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i ppp+ -p tcp -m tcp --dport 6000 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth+ -p tcp -m tcp --dport 21 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth+ -p tcp -m tcp --dport 53 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth+ -p tcp -m tcp --dport 443 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth+ -p tcp -m tcp --dport 6000 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sun Nov 14 12:59:51 2004
$
Так вот чем-то мне такая конфигурация не нравится... Например, если я установлю
какой-нибудь новый сервис, то до явного запрещения iptables он будет незащищен.
Логичнее было бы в конце цепочки указать полный запрет на все пакекты, а в начале
- указать правила для всех разрешенных пакетов. Однако нигде не нашел сведений,
какие пакеты нужно пропускать, чтобы разрешить доступ клиентам с моего компа
к стандартным сервисам в сети (http, ftp, smtp, pop3, icq и т.п.). Может кто-нибудь
что-нибудь посоветует на этот счет? Просьба только не посылать на англоязычные
ресурсы:).
И еще - я так понимаю, что для нормальной работы samba порты 111 и 139 нужно
держать открытыми? А какие конкретно функции выполняют протоколы sunrpc и netbios-ssn?
На часах было Sun, 14 Nov 2004 13:14:15 +0200,
когда Rygoravich <rygoravi***@o*****.info> написал следующее:
/////////////
наверно так:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
samba пользует 137, 138 и 139-й порты:
(из /etc/services)
netbios-ns 137/tcp #NETBIOS Name Service
netbios-ns 137/udp #NETBIOS Name Service
netbios-dgm 138/tcp #NETBIOS Datagram Service
netbios-dgm 138/udp #NETBIOS Datagram Service
netbios-ssn 139/tcp #NETBIOS Session Service
netbios-ssn 139/udp #NETBIOS Session Service