Pukanie do portów to proces polegający na wykonaniu określonej liczby połączeń (wykonanie połączenia SYN) na różne porty, aby proces nasłuchujący knockd wykonał zdefiniowane polecenie np. otwarcie portu komunikacyjnego dla adresu wywołującego.

Przykład wykonania prośby otwarcia portu 22 dla wywołującego klienta:

 

W laboratorium przygotujemy wykonanie otwarcia i zamknięcia portu 10000 (Webmin) dla wywołującego klienta po sekwecji wysłania żądania SYN na porty 5000, 6000, 7000. Wykonanie tej samej sekwencji w odwrotnej kolejności spowoduje zamknięcie otwartego portu na firewall.

1. W celu uruchomienia procesu nasłuchującego zainstaluj:

knockd

2. Edytuj plik /etc/knockd.conf i zdefiniuj kombinację portów po której nastąpi odblokowanie dostępu do serwera. Ustaw kombinację portów 5000, 6000, 7000 jako odblokowanie usługi (włączenie) oraz 7000,6000,5000 jako wyłączenie usługi.

3. Edytuj plik /etc/default/knockd i włącz startowanie nasłuchiwania knockd „START_KNOCKD=1” oraz ustaw interfejs na którym ma nasłuchiwać np. KNOCKD_OPTS=”-i ens18″. Sprawdź nazwę interfejsu poleceniem ifconfig lub ip a i zobacz jego nazwę. Interfejs, który posiada właściwy adres IP twojej maszyny wirtualnej.

4. Wykonaj restart usługi: service knockd restart

 

Testowanie

1. Pobierz oprogramowanie do wykonywania połączeń typu knock. To oprogramowanie nie jest niezbędne. Można dokonać takich połączeń z wykorzystaniem programów np.: telnet, pytty, itp. wykonując kolejne połączenia na określone porty.

Program PortKnock.zip

2. Rozpakuj i uruchom program portknock.exe i zdefiniuj akcje włączającą i wyłączającą.

– podaj adres IP maszyny wirtualnej

– zdefiniuj nazwę akcji (DESC)

– podaj kolejne porty do odblokowania

Następnie zdefiniuj akcję blokującą

3. Przetestuj działanie. Odblokowanie powinno wpisać twój adres IP na początku listy firewall (iptables), a blokowanie powinno usunąć ten wpis.