0

Mikrotik Port Knocking

Poza podstawowym zabezpieczeniem Mikrotik, możemy także zastosować bardziej zaawansowaną konfigurację. W poprzednim wpisie odradzałem udostępnianie portów na publicznych adresach, jednak stosując port knocking możemy nagiąć tą regułę.

Czym jest port knocking?

Jest to metoda wysłania sekwencji zapytań(pakietów) do routera w celu otworzenia portu. Co kryje się po sformułowaniem sekwencja zapytań? Może być to próba zalogowania się na konkretnym porcie, może być to zwykły pakiet icmp(ping) o określonej wielkości, a może sam text wysłany po udp. Pole do popisu mamy bardzo duże, dlatego złamanie takiej kombinacji dla intruza będzie bardzo ciężkie.

Jak to wygląda w praktyce

Zaczynamy o ustalenia klucza logowania, aby nie utrudniać skorzystamy tylko z 3 kroków:

  • 1. Próba logowania na port 3311
  • 2. Próba logowania na port 1289
  • 3. Próba logowania na port 9933

Przechodzimy do korku pierwszego i próbujemy się zalogować na port 3311, router dodaje nasz adres do listy tymczasowej z czasem wygaśnięcia 60 sekund, czyli mamy dokładnie minutę, aby wykonać krok 2. Przy drugim “zapukaniu” router sprawdza czy adres znajduje się na liście tymczasowej, jeżeli tak dodaje go do kolejnej listy, także z czasem 60 sekund, innym przypadku zrywa połączenie. Zostaje nam trzecie podejść, podobnie jak w przypadku drugiego kroku router sprawdza czy nasz adres znajduje się na drugiej liście, jeżeli tak przyznaje dostęp do routera poprzez dodanie go do listy zaufanej. Czas życia adresów na liście zaufanej definiujemy na 1h, jest to dostęp tylko tymczasowy:)

Konfiguracja Mikrotika

Jeżeli konfigurowałeś router zgodnie z moim poprzednim wpisie te dwie reguły powinny już istnieć

/ip firewall filter add chain=input src-address-list=allow_to_router action=accept
/ip firewall filter add action=drop chain=input 

Podajemy regułę odpowiedzialną za krok 1.

/ip firewall filter add action=add-src-to-address-list address-list="step_1" address-list-timeout=1m chain=input dst-port=3311 protocol=tcp

Znakiem plusa dodajemy nowy wpis, uzupełniając:

  • Chain: input
  • Protocol: tcp
  • Dst. Port: 3311
  • Action: add src to address list
  • Address List: step_1
  • Timeout: 00:01:00

Mikrotik Port Knocking

Mikrotik Port Knocking
Przechodzimy do ustawień drugiego kroku. Próbujemy otworzyć połączenie na porcie 1289. Router w pierwszej kolejności sprawdzi, czy nasz adres znajduje się na liście step_1, jeżeli tak doda adres do listy step_2.

/ip firewall filter add action=add-src-to-address-list address-list="step_2" address-list-timeout=1m chain=input dst-port=1289 protocol=tcp src-address-list="step_1"

Klikamy na plus i uzupełniamy:

  • Chain: input
  • Protocol: tcp
  • Dst. Port: 1289
  • Src. Address List: step_1
  • Action: add src to address list
  • Address List: step_2
  • Timeout: 00:01:00

Mikrotik Port Knocking

Mikrotik Port Knocking

Mikrotik Port Knocking

Ostatnia reguła odpowiedzialna jest za sprawdzenie czy próbójemy podłączyć się na dobry port, wybraliśmy 9933 oraz czy nasz adres znajduje się na liście step_2. W przypadku, gdy spełnimy wszystkie wymagania, nasz adres zostanie dodany do listy adresowej allowed_to_router, która daje możliwość zalogowania się na router.

/ip firewall filter add action=add-src-to-address-list address-list="allow_to_router" address-list-timeout=1h chain=input dst-port=9933 protocol=tcp src-address-list="step_2"
  • Chain: input
  • Protocol: tcp
  • Dst. Port: 9933
  • Src. Address List: step_2
  • Action: add src to address list
  • Address List: allowed_to_router
  • Timeout: 01:00:00

Mikrotik Port Knocking

Mikrotik Port Knocking

Mikrotik Port Knocking

Podsumowanie

Zadbaj o bezpieczeństwo swoich urządzeń, jeżeli nie masz innej opcji niż wystawienie router na świat, skonfiguruj Port Knocking. Sekwencje kroków można konfigurować wedle uznania. Można wykorzystać tcp, udp, icmp, zapytania w formie text, na port. Ograniczania Cię tylko wyobraźnia i firewall:)

Nie lubisz czytać?

Grzegorz Kowalik

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Captcha * Time limit is exhausted. Please reload the CAPTCHA.