Jak testujesz reguły iptables, aby zapobiec zdalnej blokadzie i sprawdzać dopasowania?

14

Kiedy uczę się o iptables, popełniłem kilka błędów i zamknąłem się.

Jakich metod używasz do testowania reguł bez blokowania się?

Używam serwera Ubuntu 12.04 LTS


Wszystkie poniższe odpowiedzi były pomocne. W końcu użyłem kombinacji opcji. Pomaga także mieć dostęp IPMI do twojego zdalnego serwera na wszelki wypadek! Ale najlepiej przetestuj reguły lokalnie w zreplikowanym środowisku i przetestuj to najpierw. Vagrant pomaga w tym zakresie szybko skonfigurować ustawienia testowe.

Matt
źródło

Odpowiedzi:

17

iptables-applyjest specjalnie do tego zaprojektowany. Stosuje twoje zasady, a następnie zachęca do potwierdzenia. Jeśli nie potwierdzisz, wycofuje je. Więc jeśli zamurujesz system lub zablokujesz się, zastosuj, wycofuje się.

Craig Constantine
źródło
7

Jakich metod używasz do testowania reguł bez blokowania się?

Pomyśl o efekcie tego, co piszesz, zanim je wpiszesz.

zamknąłem się

Zanim zaczniesz zdalnie zmieniać rzeczy, które mogą Cię zablokować, wstaw regułę akceptacji odpowiadającą Twojemu połączeniu na początku listy. Utwórz kopię zapasową za pomocą skryptu watchdog, który zresetuje wszystkie reguły do ​​tego, co działało podczas uruchamiania, jeśli nie zresetujesz timera. Możesz to zrobić za pomocą pętli monitorowania plików i uruchomienia touchpolecenia resetowania znacznika czasu podczas pracy. Pamiętaj tylko o wyłączeniu go po sfinalizowaniu zasad. Bardzo prosty format to:

sleep $((10*60)) && iptables-restore /path/to/working/script
Jeff Ferland
źródło
2
sleep 10mteż działa :)
poinformował
Chociaż OP poprosił o Ubuntu, a zatem odpowiedź na „iptables-Apply” byłaby idealna (dla wszystkich hybryd Debiana), dla innych dystrybucji, takich jak Fedora, która nie ma „iptables-Apply”, wolę / doceniam tę metodę / ćwiczenie / sugestia.
HidekiAI,
3

Możesz skonfigurować iptables bez domyślnej reguły DROP w łańcuchu wprowadzania. Jeśli utworzysz regułę, a następnie wstawisz to polecenie:

$ iptables -nvL

Następnie zobaczysz liczbę pakietów i sprawdź, czy masz trafienia od swojego hosta.

Inną opcją jest utworzenie pliku crontab, który uruchamia skrypt. W tym skrypcie możesz pisać

$ iptables -F

Za pomocą tego polecenia możesz spłukać swój IPTABLES-config.

Dave Greebe
źródło