Obecnie używamy w zasadzie domyślnej polityki WYJŚCIA, AKCEPTUJĘ.
To wystarcza dla WYJŚCIA, ponieważ Netfilter nie potrzebuje specjalnych reguł, aby rozpocząć śledzenie połączeń stanowych.
Ale jeśli chcesz odfiltrować ruch przychodzący zgodnie z zasadą „ domyślnego odmowy ”, możesz to zrobić przełączając INPUT-chain na DROP:iptables -P INPUT DROP
Potem wszystko będzie ustawione z tylko 2 zasadami :
iptables -A INPUT -j ACCEPT -i lo
iptables -A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
Zwróć uwagę na regułę zezwalającą na ruch wejściowy na interfejsie sprzężenia zwrotnego - jak zauważyłem w swoim blogu „ Minimalna zapora ogniowa dla użytkownika końcowego ”, chyba że wyraźnie zezwolono, ruch sprzężenia zwrotnego nie będzie obsługiwany przez „sprawdzone” sprawdzanie stanu, w porównaniu ze zwrotem ruch na, powiedzmy, eth0.
Aby mieć pewność, że ten minimalny zestaw reguł jest ładowany „ tak jak jest ” bez ingerencji w reguły, które już mogą tam być, wygodnie jest skorzystać z iptables-restoresesji SHELL:
lptables-restore <<__EOF__
-P INPUT DROP
-A INPUT -j ACCEPT -i lo
-A INPUT -j ACCEPT -m state --state RELATED,ESTABLISHED
__EOF__
Zanim to zrobisz, upewnij się, że nie przerwiesz własnego połączenia sieciowego 1 , chociaż już otwarte sesje SSH powinny kontynuować normalne działanie, próby otwarcia nowych nie będą działać.
__
- Oczywiście możesz dodać inne reguły, aby umożliwić takie połączenia. Może to być tak proste, jak po prostu
-A INPUT -j ACCEPT -p tcp --dport 22- nie trzeba -m statetutaj majstrować . Nie zapomnij też naprawić lptables-restoretego iptables-restoreprzed wypróbowaniem;)