Я использую серверный компьютер Ubuntu 14.04 в качестве основного домашнего маршрутизатора и брандмауэра. Он имеет DNS, DHCP и использует iptables для обеспечения безопасности. Iptables также действует как нац.
На eth0 у меня есть входящее интернет-соединение, а на eth1 у меня есть локальная сеть для обслуживания DNS и DHCP. Все клиенты (подключенные к eth1) должны иметь возможность делать что-либо исходящее как обычно. А на локальной сети у меня есть несколько машин, к которым я хочу подключиться снаружи, используя PREROUTING.
Однако в последнее время я обнаружил, что мой набор правил был определен с помощью ACCEPT на * фильтре INPUT без какого-либо DROP, определенного в конце. Поэтому я сейчас определил DROP при входящем. После обнаружения этого я немного обеспокоился и хочу дважды проверить весь набор правил, если я пропустил что-то большее.
Достаточно ли этого набора iptables для обеспечения безопасности? Как я понял из прочтения, можно сказать, что PREROUTING и FORWARD могут быть установлены в ACCEPT, так как он попадет в INPUT, если ничего не будет совпадать, и я получу DROPped по правилу по умолчанию. Это правильно?
*filter
:INPUT DROP
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 53 --sport 53 -m state --state NEW -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
:FORWARD ACCEPT
-A FORWARD -i eth0 -j ACCEPT
:OUTPUT ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp -s x.x.x.x --dport 8466 -j DNAT --to-destination 192.168.0.149:8465
-A PREROUTING -i eth0 -p tcp -m tcp -s x.x.x.x --dport 5667 -j DNAT --to-destination 192.168.0.111:5666
-A PREROUTING -i eth0 -p tcp -m tcp -s x.x.x.x --dport 5666 -j DNAT --to-destination 192.168.0.201:5666
-A PREROUTING -i eth0 -p tcp -m tcp -s x.x.x.x --dport 2548 -j DNAT --to-destination 192.168.0.201:548
-A PREROUTING -i eth0 -p tcp -m multiport --dports 32400,32469 -j DNAT --to-destination 192.168.0.201
:INPUT ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT