Основы работы с iptables
A. Теория.
B. Пишем правила.
1. Для начала создадим наш файл с конфигом для загрузки правил в iptables
cd /etc && mkdir firewall && chmod 0700 firewall && cd firewall && touch rc.firewall && chmod 0600 firewall
2. Заранее запишем наш конфиг в /etc/network/interfaces, для того, что бы после ребута у нас не оказался сервер без фаерволла.
echo «up /sbin/iptables-restore < /etc/firewall/rc.firewall»
» /etc/network/interfaces
*filter
← В этих трёх правилах мы задаём политики по умолчанию для цепочек INPUT, FORWARD и OUTPUT
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-INPUT -i lo -j ACCEPT
-A INPUT -m state –state INVALID -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN FIN,SYN -j DROP
-A INPUT -p tcp -m tcp –tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-OUTPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state –state INVALID -j DROP
-A OUTPUT -o eth0 -p udp -m state –state NEW -m owner –uid-owner 0 -m udp –dport 33434:33524 -j ACCEPT -m comment –comment «traceroute»
-A OUTPUT -p icmp -m owner –uid-owner 0 -m icmp –icmp-type 8 -m state –state NEW -j ACCEPT -m comment –comment «just ping»
COMMIT