Sunday, January 25, 2009

Рецепты на каждый день: iptables - firewall

Тщательно очистите 3 цепочки
iptables -F FORWARD
iptables -F INPUT
iptables -F OUTPUT

Поместите инструкцию "запретить все" в самое начало

iptables -P FORWARD DROP
iptables -A INPUT -i eth0 -j DROP

И разрешите фрагментированным пакетам проходить через вашу сеть

iptables -A FORWARD -f -j ACCEPT

Попытки подделатся под нашу сеть или затопить ее должны быть пресечены сразу же.

iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -j DROP
iptables -A FORWARD -p icmp -i eth0 -d 192.168.0.255 -j DENY

Пропускаем инициированный из внутренней сети соединения.

iptables -A FORWARD -p tcp -i eth0 -d 192.168.0.0/24 --dports www,smtp --tcp-flags SYN, ACK -j ACCEPT

Пропускаем соединения инициированные изнутри.

iptables -A FORWARD -m multiport -p tcp -i eth0 -d 192.168.0.0/24 --dport smtp --syn -j ACCEPT

Разрешаем некоторые порты для входящих соединений.

iptables -A FORWARD -m multiport -p tcp -i eth0 -d 192.168.0.0/24 --dport smtp --syn -j ACCEPT

Разрешаем пользователям инициировать некоторые соединения изнутри

iptables -A FORWARD -m multiport -p tcp -o eth0 -d 0.0.0.0 --dports www,smtp --syn -j ACCEPT

Разрешаем UDP для DNS.

iptables -A FORWARD -m multiport -p udp -i eth0 -d 192.168.0.0/24 --dports domain -j ACCEPT
iptables -A FORWARD -m multiport -p udp -i eth0 -s 192.168.0.0/24 --sports domain -j ACCEPT
iptables -A FORWARD -m multiport -p udp -i eth1 -d 0.0.0.0--dports domain -j ACCEPT
iptables -A FORWARD -m multiport -p udp -i eth0 -s 0.0.0.0 --sports domain -j ACCEPT

Все таки разрешаем немного пинга

iptables -A FORWARD -m multiport -p icmp -i eth0 -d 192.168.0.0/24 --dports 0, 3,11 -j ACCEPT
iptables -A FORWARD -m multiport -p icmp -i eth1 -d 0.0.0.0 --dports 8, 3,11 -j ACCEPT

Устанавливаем журналирование для всех отброшенных пакетов

iptables -A FORWARD -m tcp -p tcp -j LOG
iptables -A FORWARD -m udp -p udp -j LOG
iptables -A FORWARD -m udp -p icmp -j LOG

No comments:

Post a Comment