To pytanie ma już odpowiedź tutaj:
Blokowanie wszystkich portów (wejściowych i wyjściowych) jest łatwe, ale jest trudne ze słowem „oprócz”. Nie znam żadnych reguł, które spełniają ten warunek.
PS: Wiem, że to pytanie nie jest niczym nowym. Ale tak naprawdę nie znalazłem nic, co mogłoby pomóc. Więc pomóżcie mi proszę!
Odpowiedzi:
Po pierwsze ! jest symbolem NOT.
Po drugie, reguły, które napisałeś, mogą nie przynieść oczekiwanych rezultatów. Upuszczasz wszystko, łącznie z odpowiedzią na połączenie na porcie 80. Dlatego nie będziesz w stanie połączyć się z nim na potrzeby serwera WWW.
Reguły te zezwalają na POWIĄZANE i USTANOWIONE połączenia, więc serwer sieciowy powinien działać, jeśli tak naprawdę próbujesz to zrobić.
źródło
!
się tak uciekać\!
, jeśli używana jest powłoka Bash?!
Nie trzeba uciekać z równiny . Przepraszam za fałszywy alarm.To powinno dać ci to, czego potrzebujesz
źródło
Możesz ustawić domyślną akcję na DROP, a następnie utworzyć reguły wyjątków, aby zezwolić na 80 i 443, na przykład:
iptables będzie przeglądać listę „wyjątków”, dopóki nie znajdzie pasującego. Następnie wykona akcję określoną przez
-j
parametr (w tym przypadku AKCEPTUJ). Jeśli nie znajdzie dopasowania, wróci do domyślnych zasad i upuści pakiet.Pamiętaj, że dzięki temu obejściu wszystkie subdomeny zostaną zablokowane. Na przykład dzięki tej metodzie będzie działać poprawnie na www.mydomain.com, ale twoja subdomena powiedzmy, że www.sub.mydomain.com nie otworzy się na błędy DNS.
źródło
iptables -nvL
?ssh
.