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-restore
sesji 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 state
tutaj majstrować . Nie zapomnij też naprawić lptables-restore
tego iptables-restore
przed wypróbowaniem;)