vermin.eu.org

Specjalista IT na tru^Hopie

Entries Comments



knockd - kilka słów jak zrobić rzecz szybko i nie zepsuć :)

25 January, 2006 (23:37) | debian(ized), linux | By: vermin

Knockd jest niewielkim pakietem (circa 20kB), który pozwala m.in. na czasowe otwieranie i zamykanie odpowiednich portów w firewall’u. Pakiet jest bardzo prosty w instalacji i konfiguracji - nie wymaga otwierania w firewallu portów na których nasłuchuje (działa w warstwie łącza - link-layer). Dodatkowo pozwala na bardzo szczegółowe ustawienie parametrów zdarzenia na jakie będzie reagował.

Sama idea działania programu jest banalna - po otrzymaniu sekwencji pakietów TCP lub UDP, zawierających określone flagi (np. SYN, FIN, ACK…), na serwerze wykonywana jest zdefiniowana akcja. Domyślnie jest nią otwarcie portu 22 w zaporze iptables dla adresu IP z którego nadeszły stuki-puki. Podobnie, określoną sekwencją, zdefiniowane jest zamknięcie tego portu. Program ponadto dopuszcza wykonanie dwóch komend (start_command i stop_command - opcje nie ujęte w domyślnym pliku konfiguracyjnym) po zdefinowanym interwale czasowym. Pozwala to administratorom na jeszcze mocniejsze zaostrzenie polityki bezpieczeństwa i zamykanie portu po, powiedzmy, kwadransie.
Oczywiście można zdefiniować inne niż iptables programy uruchamiane zdalnie - można wymusić przeprowadzenie skanowania systemu, włączenie backupu, co adminowi przyjdzie do głowy :) Należy tylko pamiętać, że dane polecenie jest wykonywane w kontekście roota i przy wpisywaniu go warto byłoby użyc sudo.

Żeby szybko i sprawnie włączyć knockd a jednocześnie nie odciąć sobie dostępu do zdalnego serwera podczas ustawień warto pamiętać, żeby:

  • dobrze zdefiniować reguły otwierające i zamykające w /etc/knockd.conf - szczególnie, jeśli domyślnie nie wypuszczamy ruchu related,
  • zmienić regułę -A na -I. Inaczej możemy przez przypadek nie móc otworzyć sobie dziurki…
  • jeśli ustawiliśmy zasady ograniczania ilości połączeń omówione w jednym z poprzednich artykułów, to warto je wyłączyć (jest tam przypadkiem reguła DENY…),
  • tak ustawić porty na które będzie reagował knockd, żeby nie generowac fałszywych alarmów, (warto przeglądać strony sans institute),
  • pamiętać, że w razie problemów jest plik /var/log/knockd.log (chociaż knockd może logowac do sysloga) a także opcja -j LOG lub ULOG w iptables.

Write a comment