單包授權
PortGuard
PortGuard 提供強大的單包授權技術來保護您的網路免受未經授權的訪問,包括連接埠掃描威脅。
立即下載,多平台 GUI
多平台 GUI
下載 Windows 版本
fwknopc_2_6_11_x64-setup.exe
下載 Macos 版本
fwknopc_2_6_11_x64.pkg
下載 Android 版
fwknopc_2_6_11_x64.apk
適用於 CentOS7 的 Fwknop 伺服器
檔案名稱 | 上次修改 | 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.我為什麼要開發PortGuard?
我第一次了解到單包授權 (SPA) 的概念是在一次與同事的閒聊中。在此之前,我對連接埠敲擊或 SPA 一無所知。恰巧公司需要一個連接埠敲擊解決方案,在查閱和研究相關資料後,我發現了 fwknop。 fwknop 的概念令人印象深刻——對於那些只需要少數人訪問的服務來說,fwknop 是一個絕佳的解決方案。我們曾考慮開發自己的工具,但 fwknop 更成熟。然而,fwknop 也有其缺點:它很複雜,安裝和使用的學習曲線很高,而且缺乏專用的客戶端應用程式。這促成了 PortGuard 的誕生。 PortGuard 的目標是支援主流的連接埠敲擊協議,例如 fwknop 以及未來的 tnok,同時提供跨平台的用戶端。作為 fwknop 和 tnok 的擴展,PortGuard 旨在使 SPA 技術更加用戶友好且易於存取。
2. PortGuard 客戶端支援的平台
目前,PortGuard 支援以下平台:
- iOS
- Android
- Windows
- macOS
3. PortGuard 使用案例
PortGuard的核心功能是透過隱藏服務連接埠(預設為關閉)來增強網路安全性,適用於以下場景:
3.1 保護遠端存取服務(例如 SSH)
設想:管理員需要從不同位置(例如,家中、咖啡店、行動網路)安全地存取 SSH 服務,而不會將 SSH 連接埠暴露給公共網路。
執行: 使用fwknop或tnok,客戶端發送SPA封包或TOTP敲擊封包,服務端進行驗證,驗證通過後臨時開放SSH連接埠(預設22)。
優點: 防止Nmap等連接埠掃描工具發現服務,降低零日漏洞被利用的風險。
例子: 遠端團隊成員使用fwknop客戶端在Windows或Android裝置上傳送SPA封包,安全地存取公司內部伺服器。
3.2 雲端環境中的服務保護
設想:AWS、Azure 等雲端平台中的內部服務(例如資料庫、Web 伺服器)需要透過公網訪問,但需要避免連接埠直接暴露。
執行: PortGuard 與 NAT 集成,允許外部客戶端透過 SPA 存取 RFC 1918 位址空間中的內部服務。
優點: 支援複雜的網路拓撲,適用於混合雲和多租戶環境。
例子: 在AWS EC2執行個體上執行fwknopd,動態開啟MySQL連接埠(3306)供授權使用者存取。
3.3 防禦埠掃描和暴力破解
設想:伺服器面臨連接埠掃描(例如,Nmap)或暴力攻擊,需要隱藏服務連接埠以減少攻擊面。
執行: PortGuard 維持預設的丟棄防火牆策略,僅在接收到有效的 SPA 封包後才開啟連接埠。
優點: 即使存在未修補的漏洞,攻擊者也無法發現服務連接埠。
例子: 防止 SSH 暴力破解,fwknop 僅在驗證 HMAC 後開啟連接埠。
3.4 支援多種業務保護
設想:企業需要保護多種服務(例如 SSH、RDP、VPN、資料庫),但不希望所有連接埠始終處於開放狀態。
執行: fwknop支援在access.conf中定義多個服務和端口,客戶端可以指定目標協定和端口。
優點: 靈活的規則配置,支援自訂逾時和連接埠開放策略。
例子: 設定 fwknop 以保護 SSH(tcp/22)和 OpenVPN(udp/1194)。
3.5 嵌入式或物聯網設備安全
設想:物聯網設備或嵌入式系統需要遠端管理,但設備資源有限,容易受到攻擊。
執行: 在資源受限的裝置上執行輕量級 fwknopd 或 tnokd,透過 SPA 或 TOTP 控制存取。
優點: 資源消耗低,適合小型設備。
例子: 保護在 Raspberry Pi 上執行的 Web 服務。
3.6 第三方設備集成
設想:需要與不支援原生 fwknop 的裝置(例如思科路由器)集成,控制防火牆規則。
執行: fwknop的命令開啟/關閉循環(command open/close cycle)功能允許執行自訂腳本來動態修改第三方裝置的ACL。
優點: 可擴展,支援非標準防火牆設備。
例子: 在Linux伺服器上執行fwknopd,透過SSH更新Cisco路由器的ACL。
3.7 技術細節
- fwknop支援定義逾時時間(CMD_CYCLE_TIMER),連接埠開啟後自動關閉,減少暴露時間。
- 可以與VPN(例如WireGuard,OpenVPN)結合使用,以建立安全的專用網路。
- 支援X-Forwarded-For頭解析,適合HTTP環境下的SPA。
4.PortGuard 的安全性如何?
PortGuard 的安全性主要依賴 fwknop 的單包授權(SPA)機制,結合加密、身份驗證和防火牆集成,提供多層防護。以下是安全性的詳細分析:
4.1 加密和認證
加密: fwknop支援Rijndael(AES)對稱加密或GnuPG非對稱加密,無法直接解析SPA封包內容。
驗證: 使用HMAC-SHA256(預設)或更高版本進行資料包認證,確保資料完整性和來源信任。
安全: 防止中間人(MITM)和重播攻擊,加密後套用 HMAC,抵抗 CBC 模式填充 oracle 攻擊(例如,Vaudenay 攻擊)。
限制: 對稱加密需要客戶端和伺服器共享金鑰,金鑰管理不當可能導致洩漏;GnuPG模式需要維護金鑰環,
4.2 防止連接埠掃描
機制: PortGuard採用預設的丟棄防火牆策略,未授權時服務連接埠是看不見的,因此Nmap等工具無法偵測到。
安全: 大大減少了攻擊面,即使存在零日漏洞,攻擊者也無法定位服務連接埠。
限制: 如果敲擊封包被嗅到(傳統的連接埠敲擊更容易受到這種影響),攻擊者可能會嘗試重播(SPA 透過 HMAC 解決了這個問題)。
4.3 抵制暴力破解
機制: SPA封包需要正確加密和HMAC認證,暴力破解幾乎不可能(HMAC失敗的封包會直接丟棄)。
安全: 相較於傳統的連接埠敲擊,SPA的單包設計和加密機制顯著提高了抵抗暴力破解的能力。
限制: 配置錯誤(例如,弱密鑰或停用 HMAC)可能會降低安全性。
✨ 特徵




人們❤️Fwknop

John

Michael

James

David

Olivia

William