Wstęp
Jeżeli posiadamy w naszej firmowej sieci router Mikrotik oraz dodatkowo nasi pracownicy korzystają z VPN to warto rozważyć wdrożenie dodatkowego zabezpieczenia jakim jest Port Knocking.
Osoby które będą chciały się włamać do naszej sieci bardzo często korzystają z tej metody skanowania portów. Metoda skanowania portów pozwala ustalić które porty w naszej sieci są otwarte na zewnątrz. Najczęściej są to roboty które skanują sieć w poszukiwaniu otwartych portów. W ciągu godziny taki robot może przeskanować kilkaset adresów IP i zwrócić raport zawierający adresy z otwartymi portami.
W sieci wiele mówi się o VPN opartych na PPTP oraz L2TP aby nie korzystać bo są przestarzałe i niebezpieczne. Z doświadczenia wiem, że firmy nadal często korzystają z tego typu rozwiązań. Dlaczego? Bo wdrożenie jest bardzo łatwe oraz daje ogromne możliwości. Dodatkowo Windows umożliwia bardzo proste konfigurację tych połączeń. Małe firmy często nie stać aby zatrudnić informatyka, co gorszą często sieć konfiguruję osoba nietechniczna która nie do końca rozumie co tak naprawdę robi.
Materiał w formie video obejrzysz tutaj 🙂
Zagrożenie
Jeżeli nasz publiczny adres IP zostanie przeskanowany w celu wykrycia otwartego portu i okaże się że nasz oprawca wykrył otwarty port np. 1723 to będzie wiedział że używamy protokołu komunikacyjnego PPTP. Co można zrobić z taką wiedzą? Wszystko! To już zależy od umiejętności naszego oprawcy. Być może hasła i zabezpieczenia będą na tyle silne że nic nie zrobi, a może się okazać że posiadamy lukę która umożliwia dostanie się do środka naszej sieci.
Poniższe zdjęcie świetnie pokazuje że dziś sieć jest praktycznie cały czas skanowana, a roboty próbują się dostać wszędzie gdzie tylko mogą.
Poniżej zrzut ekranu gdzie o godzinie 19:00 zostało zdjęte zabezpieczenie port knocking, a o godzinie 19:03 były pierwsze próby przedostania się.
Ile potrzeba czasu aby ktoś nas znalazł? 3 minuty! A Ty kiedy ostatni raz zaglądałeś do logów? Nim podłączymy Mikrotika do sieci, warto sobie go skonfigurować na stole.
Dobra praktyka
Zacznijmy od sprawdzenia naszej sieci. Wystarczy w wyszukiwarkę wpisać “skaner portów online” i już w prosty sposób możemy sprawdzić czy jakiś port na zewnątrz jest udostępniony. Jeżeli posiadamy VPN-a to najprawdopodobniej zostanie ujawniony port naszego VPN-a
Dobrą praktyką jest aby nasz adres na zewnątrz wraz z portami widniał tak jak by nic tam nie było. Oprawca, który napisał skrypt lub program do szukania adresów będzie mocno skanować sieć w poszukiwaniu najbardziej popularnych używanych portów. Jeżeli jego skrypt nic nie wykryje to przejdzie do kolejnego adresu, a nasz adres uzna za nieprzydatny do ataku.
Port knocking – dlaczego warto?
I tutaj na pomoc przychodzi metoda która nazywa się port knocking. Dzięki której będziesz mieć dostęp do swojego VPN w taki sposób że potencjalni oprawcy będę myśleć że masz zablokowane wszystkie porty.
Jak skonfigurować Mikrotika aby uzyskać taki efekt? Bardzo prosto!
Łączymy się za pomocą np. WinBox-a z naszym Mikrotikiem, klikamy IP a następnie Firewall
Następnie klikamy niebieski plusik i dodajemy nową regułę do naszego firewalla
Z zakładce GENERAL ustawiamy:
• Chain: input (wejście)
• Protocol: 6 (tcp)
• Dst. Port: tutaj wpisujemy numer potu który będzie jako pierwszy służyć do pukania
Następnie przechodzimy do zakładki ACTION
• Action: add src to address list – czyli dodajemy wpis do listy
• Adress List: tutaj wpisujemy nazwę do której odwołamy się przy drugiej regule
• Timeout: ustawiamy czas, jak długo nasz wpis ma być aktywny, 30 sekund w zupełności wystarczy z biegiem czasu warto ten czas zmniejszyć do 10 sekund aby jeszcze bardziej utrudnić zalogowanie.
Kolejną regułę tworzymy bardzo podobnie
Z zakładce GENERAL ustawiamy:
• Chain: input (wejście)
• Protocol: 6 (tcp)
• Dst. Port: tutaj wpisujemy kolejny numer potu który będzie służyć do pukania
Przechodzimy do zakładki ADVANCED
• Src. Adress List: wybieramy tutaj wcześniej zdefiniowaną nazwę.
Przechodzimy do zakładki ACTION
• Action: add src to address list – czyli dodajemy wpis do listy
• Timeout: tutaj warto dać więcej niż 30 sekund. Jeżeli nasi pracownicy pracują 8-11 godzin to warto tutaj dać w takimi przypadku 12 godzin. Pozwoli to łączyć się z naszym VPNem bez konieczności ponownego pukania w porty. Oczywiście każdy tutaj ustawia czas pod siebie.
Czas na ustawienie reguł dla naszego VPN. Weźmiemy dla przykładu protokół PPTP, który działa domyślnie na porcie 1723
Tworzymy nową regułę dla wcześniej ustawionej konfiguracji PPTP
• Chain: input (wejście)
• Protocol: 6 (tcp)
• Dst. Port: 1723
Przechodzimy do zakładki ADVANCED
• Src. Address List: wybieramy z listy ostatnie zabezpieczenie do zapukania, w naszym wypadku jest to “zabezpieczenie_2_ok“
Przechodzimy do zakładki ACTION
• Action: ustawiamy “accept”
Jak sprawdzić?
Metod na odpukanie portów w celu udostępnienia portu jest wiele. Można użyć Windows PowerShell , Telnet jak również można użyć przeglądarki np. Chroma
Wystarczy wpisać w adresie “naszadresip:port_pierwszy” a nasz Mikrotik doda nas do listy. Następnie wystarczy wpisać “naszadresip:port_drugi” a nasz port do VPN zostanie dla nas udostępniony.
Poniżej filmik jak to wygląda w praktyce.
Dobra praktyka w firmie
Jeżeli chcemy aby nasz użytkownik nie miał problemu z połączeniem się z VPN-em warto utworzyć skrót na pulpicie do sekwencji uruchomienie VPN. Dotyczy to głównie osób mocno nie technicznych. Na przełomie kilku lat zauważyłem że stworzenie dwóch skrótów na pulpicie mocno zmniejsza ilość zgłoszeń w helpdesku dotyczących problemów z połączeniem.
Kolejną dobrą praktyką jest wcześniej skonfigurowanie VPN w Windowsie.
Oczywiście nic nie stoi na przeszkodzie, aby zwiększyć ilość reguł do podania pięć a nawet dziesięć kolejnych do odpukania portów. Oczywiście nie popadajmy w paranoję, ale dwa to minimum.