Autoryzacja pojedynczego pakietu
PortGuard
PortGuard oferuje niezawodną technologię autoryzacji pojedynczego pakietu, która chroni sieć przed nieautoryzowanym dostępem, w tym przed zagrożeniami wynikającymi ze skanowania portów.
Pobierz teraz, wieloplatformowy interfejs graficzny
Wieloplatformowy interfejs graficzny
Pobierz dla systemu Windows
fwknopc_2_6_11_x64-setup.exe
Pobierz dla Macos
fwknopc_2_6_11_x64.pkg
Pobierz na Androida
fwknopc_2_6_11_x64.apk
Serwer Fwknop dla CentOS7
Nazwa pliku | Ostatnia modyfikacja | MD5 |
---|---|---|
fwknop-server-2.6.11-1.el7.x86_64.rpm | 2025-07-29 |
1a375f89c2aa16935ddce164ad16adad
|
libfko-3.0.0-1.x86_64.rpm | 2025-07-29 |
7f720f1f444f1634bab7cadbbfec40b2
|
1. Dlaczego stworzyłem PortGuard?
Po raz pierwszy zetknąłem się z koncepcją Autoryzacji Pojedynczego Pakietu (SPA) podczas luźnej rozmowy z kolegami w pracy. Wcześniej nie miałem pojęcia o port knockingu ani SPA. Tak się złożyło, że nasza firma potrzebowała rozwiązania do port knockingu i po zapoznaniu się z odpowiednimi materiałami odkryłem fwknop. Koncepcja fwknop była naprawdę imponująca — w przypadku usług, które muszą być dostępne tylko dla nielicznych, fwknop jest doskonałym rozwiązaniem. Rozważaliśmy stworzenie własnego narzędzia, ale fwknop był o wiele bardziej dojrzały. Jednak fwknop ma swoje wady: jest złożony, wymagający nauki instalacji i użytkowania oraz brakuje mu dedykowanej aplikacji klienckiej. To doprowadziło do stworzenia PortGuard. Celem PortGuard jest obsługa popularnych protokołów port knockingu, takich jak fwknop, a w przyszłości tnok, przy jednoczesnym zapewnieniu klienta wieloplatformowego. PortGuard to rozszerzenie technologii fwknop i tnok, które ma na celu uczynienie technologii SPA bardziej przyjazną dla użytkownika i dostępną.
2. Platformy obsługiwane przez klienta PortGuard
Obecnie PortGuard obsługuje następujące platformy:
- iOS
- Android
- Windows
- macOS
3. Przypadki użycia PortGuard
Podstawową funkcjonalnością PortGuard jest zwiększenie bezpieczeństwa sieci poprzez ukrywanie portów usług (domyślnie są zamknięte). Rozwiązanie to sprawdza się w następujących scenariuszach:
3.1 Chroń usługi dostępu zdalnego (np. SSH)
Scenariusz:Administratorzy muszą mieć możliwość bezpiecznego dostępu do usług SSH z różnych lokalizacji (np. z domu, kawiarni, sieci komórkowej) bez udostępniania portu SSH sieci publicznej.
Realizacja: Użyj fwknop lub tnok, klient wysyła pakiety danych SPA lub pakiety TOTP Knock, a serwer weryfikuje i tymczasowo otwiera port SSH (domyślnie 22) po weryfikacji.
Zalety: Zapobiegaj wykrywaniu usług przez Nmap i inne narzędzia do skanowania portów, zmniejszając w ten sposób ryzyko wykorzystania luk typu zero-day.
Przykład: Członkowie zespołu pracującego zdalnie korzystają z klienta fwknop w celu wysyłania pakietów danych SPA na urządzeniach z systemem Windows lub Android i bezpiecznego dostępu do wewnętrznych serwerów firmy.
3.2 Ochrona usług w środowiskach chmurowych
Scenariusz:Dostęp do usług wewnętrznych (np. baz danych, serwerów WWW) w AWS, Azure i innych platformach chmurowych musi być możliwy za pośrednictwem sieci publicznej, ale należy zadbać o to, aby porty nie były bezpośrednio widoczne.
Realizacja: PortGuard integruje się z NAT, umożliwiając klientom zewnętrznym dostęp do wewnętrznych usług w przestrzeni adresowej RFC 1918 za pośrednictwem SPA.
Zalety: Obsługuje złożone topologie sieciowe, odpowiednie dla środowisk hybrydowych i wielodostępnych.
Przykład: Uruchom fwknopd na instancjach AWS EC2, dynamicznie otwórz port MySQL (3306) dla autoryzowanych użytkowników.
3.3 Obrona przed skanowaniem portów i atakami siłowymi
Scenariusz:Serwery są narażone na skanowanie portów (np. za pomocą Nmap) lub ataki siłowe, dlatego konieczne jest ukrywanie portów usług w celu ograniczenia powierzchni ataku.
Realizacja: PortGuard stosuje domyślną politykę odrzucania zapory sieciowej i otwiera porty dopiero po otrzymaniu prawidłowych pakietów danych SPA.
Zalety: Nawet jeśli istnieją niezałatane luki, atakujący nie mogą odkryć portów usług.
Przykład: Zapobiegaj atakom typu brute force na SSH, fwknop otwiera porty dopiero po sprawdzeniu HMAC.
3.4 Obsługa ochrony wielu usług
Scenariusz:Przedsiębiorstwa muszą chronić wiele usług (np. SSH, RDP, VPN, bazę danych), ale nie chcą, aby wszystkie porty były cały czas otwarte.
Realizacja: fwknop obsługuje definiowanie wielu usług i portów w pliku access.conf, a klient może określić protokół docelowy i port.
Zalety: Elastyczna konfiguracja reguł, obsługa niestandardowych strategii limitu czasu i otwierania portu.
Przykład: Skonfiguruj fwknop tak, aby chronił zarówno SSH (tcp/22), jak i OpenVPN (udp/1194).
3.5 Bezpieczeństwo urządzeń wbudowanych lub IoT
Scenariusz:Urządzenia IoT i systemy wbudowane wymagają zdalnego zarządzania, ale zasoby urządzeń są ograniczone i podatne na ataki.
Realizacja: Uruchamiaj lekkie polecenia fwknopd lub tnokd na urządzeniach o ograniczonych zasobach, kontroluj dostęp przez SPA lub TOTP.
Zalety: Niskie zużycie zasobów, odpowiednie dla małych urządzeń.
Przykład: Chroń usługę internetową działającą na Raspberry Pi.
3.6 Integracja urządzeń innych firm
Scenariusz:Potrzeba integracji z urządzeniami, które nie obsługują natywnego fwknop (np. routery Cisco), kontrola reguł zapory sieciowej.
Realizacja: Funkcja cyklu poleceń otwórz/zamknij (command open/close cycle) programu fwknop umożliwia wykonywanie niestandardowych skryptów w celu dynamicznej modyfikacji listy kontroli dostępu (ACL) urządzeń innych firm.
Zalety: Możliwość rozszerzenia, obsługa niestandardowych urządzeń zapory sieciowej.
Przykład: Uruchom fwknopd na serwerach Linux, zaktualizuj ACL routerów Cisco przez SSH.
3.7 Szczegóły techniczne
- fwknop obsługuje definiowanie limitu czasu (CMD_CYCLE_TIMER), port otwierany automatycznie zamykany, co zmniejsza czas ekspozycji.
- Można łączyć z VPN (np. WireGuard, OpenVPN) w celu stworzenia bezpiecznej prywatnej sieci.
- Obsługuje analizę nagłówka X-Forwarded-For, co jest przydatne w przypadku SPA w środowisku HTTP.
4. Jak bezpieczny jest PortGuard?
Bezpieczeństwo PortGuard opiera się przede wszystkim na mechanizmie autoryzacji pojedynczego pakietu (SPA) fwknop, w połączeniu z szyfrowaniem, uwierzytelnianiem i integracją zapory sieciowej, co zapewnia wielowarstwową ochronę. Poniżej znajduje się szczegółowa analiza bezpieczeństwa:
4.1 Szyfrowanie i uwierzytelnianie
Szyfrowanie: fwknop obsługuje symetryczne szyfrowanie Rijndael (AES) lub asymetryczne szyfrowanie GnuPG, a zawartość pakietu danych SPA nie może być bezpośrednio analizowana.
Uwierzytelnianie: Użyj HMAC-SHA256 (domyślnie) lub nowszych wersji do uwierzytelniania pakietów danych, co zapewni integralność danych i zaufanie do źródła.
Bezpieczeństwo: Zapobiegaj atakom typu man-in-the-middle (MITM) i atakom typu replay, stosuj HMAC po szyfrowaniu, przeciwstawiaj się atakom typu padding oracle w trybie CBC (np. atakom Vaudenay).
Ograniczenia: Szyfrowanie symetryczne wymaga współdzielenia kluczy klienta i serwera, nieprawidłowe zarządzanie kluczami może prowadzić do wycieku; tryb GnuPG wymaga utrzymywania pęków kluczy,
4.2 Zapobiegaj skanowaniu portów
Mechanizm: PortGuard korzysta z domyślnej polityki zapory sieciowej, a port usługi jest niewidoczny, gdy nie ma autoryzacji, więc narzędzia Nmap i inne nie mogą go wykryć.
Bezpieczeństwo: Znacznie zmniejsza powierzchnię ataku, nawet jeśli występują luki typu zero-day, atakujący nie mogą zlokalizować portu usługi.
Ograniczenia: Jeśli pakiet danych typu „knock” zostanie podsłuchany (tradycyjne „knockowanie” portów jest na to bardziej podatne), atakujący mogą próbować go odtworzyć (SPA rozwiązało ten problem za pomocą HMAC).
4.3 Odporność na brutalną siłę
Mechanizm: Pakiety danych SPA muszą być poprawnie zaszyfrowane i uwierzytelnione za pomocą protokołu HMAC. Atak siłowy jest praktycznie niemożliwy (pakiety danych z nieudanym protokołem HMAC są od razu odrzucane).
Bezpieczeństwo: W porównaniu do tradycyjnego port knock-in, jednopakietowa konstrukcja SPA i mechanizm szyfrowania znacznie poprawiają odporność na ataki siłowe.
Ograniczenia: Błędy konfiguracji (np. słabe klucze lub wyłączony HMAC) mogą obniżyć poziom bezpieczeństwa.
✨ Cechy




Ludzie ❤️ Fwknop

John

Michael

James

David

Olivia

William