示範用 OpenNHP 保護伺服器

https://ac.opennhp.org

🎭
✗
未授權
使用者
👤
✓
已授權
使用者
隱形且被阻擋
⊘
可見且允許
🛡️
NHP
Network-infrastructure
Hiding Protocol
🖥️
受保護
伺服器
ac.opennhp.org

演示影片回放

預設不可見,僅在驗證後可存取。

觀看 OpenNHP 如何透過 Auth Plugin、Web NHP-Agent 和 StealthDNS App 工作流程對使用者進行身份驗證,並動態公開授權資源。

線上演示體驗

1) 受保護的伺服器預設對未驗證使用者「隱形」

預設情況下,任何嘗試連線到受保護伺服器的行為都會導致逾時(TIME OUT)錯誤, 因為所有連接埠都是關閉的,使伺服器看起來像離線,實際上達到「隱形」的效果。

嘗試存取受保護的伺服器:

🚀 嘗試存取:https://ac.opennhp.org NHP 示範 - 伺服器對未驗證使用者隱形

2) 連接埠掃描逾時 —— 伺服器看似離線

對伺服器進行連接埠掃描會回傳逾時(TIME OUT)錯誤,nmap 還會回報 「Host seems down」 —— 對未授權掃描器而言,伺服器不僅看似被防火牆封鎖,而是根本不在線上。您可以使用線上連接埠掃描器自行嘗試:

直接執行 nmap 也會回傳 「Host seems down」 —— 從攻擊者的角度看,這台伺服器並非只是被防火牆擋住,而是看起來根本不存在:

$ nmap --reason ac.opennhp.org
Starting Nmap 7.80 ( https://nmap.org ) at 2026-05-07 11:40 PDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

✗ 0 hosts up(沒有主機上線)—— nmap 的主機探索本身就失敗了,掃描器在嘗試任何連接埠探測之前就已判定伺服器離線。

3) 透過 Auth Plugin、Web NHP-Agent 或 StealthDNS 應用程式進行驗證

使用Auth Plugin 網頁、Web NHP-Agent或 StealthDNS 應用程式向 NHP 伺服器進行身份驗證。 驗證成功後,您即可存取受保護的伺服器。

4) 驗證成功後授予存取權限

NHP 身份驗證成功後,受保護的伺服器即可存取。 您現在可以看到先前隱形的受保護內容。

已驗證 ✓ 存取已授予
NHP 示範 - 驗證後存取已授予
連接埠隱藏

隱藏應用程式伺服器連接埠

在使用 NHP 之前,所有伺服器連接埠都是暴露的。使用 NHP 之後,它們變得完全隱形。

使用 NHP 之前 ⚠️ 已暴露

應用程式伺服器連接埠可見

$ nmap -sS -p 1-65535 server.example.com
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
8080/tcp open http-proxy

✗ 所有連接埠對攻擊者可見
✗ 攻擊面完全暴露
✗ 容易遭受連接埠掃描

使用 NHP 之後 🛡️ 已保護

所有連接埠對未授權者隱藏

$ nmap -sS -p 1-65535 server.example.com
PORT STATE SERVICE
All 65535 scanned ports are filtered
Host seems down or heavily firewalled.
No ports visible to unauthorized scanners.

✓ 所有連接埠對攻擊者隱形
✓ 零攻擊面暴露
✓ 僅經過驗證的使用者可存取

流程

NHP 運作方式

先驗證後連線的運作模式。

步驟 1

完全隱形

受保護的資源沒有任何公開存在。DNS 回傳 NXDOMAIN,連接埠顯示為關閉, IP 位址不可知。對未授權的觀察者而言,該服務根本不存在。

步驟 2

加密敲門

已授權的用戶端使用 Noise Protocol Framework 發送加密的「敲門」封包。 這在不向觀察者暴露服務存在的情況下證明其身份。

步驟 3

雙向驗證

用戶端與伺服器使用現代非對稱加密技術相互驗證。 無需共享金鑰,無中間人攻擊漏洞,無重放攻擊。

步驟 4

限時存取

驗證成功後,用戶端獲得臨時存取權限。 防火牆規則動態建立並自動過期,最大限度減少暴露。

效能

效能測試結果

NHP 以極低的延遲開銷提供高效能表現。

操作吞吐量延遲
身份驗證10K req/s< 100ms
連接埠隱藏100K req/s< 1ms
DNS 解析50K req/s< 5ms

*在 AWS t3.xlarge 執行個體上測試

整合

將 OpenNHP 整合到您的應用程式

根據您的應用程式類型選擇合適的 SDK:原生用戶端應用程式或網頁應用程式。

🖥️

用戶端應用程式整合(桌面與行動裝置)

StealthDNS 是一個開源範例應用程式,展示如何將 OpenNHP SDK 整合到原生桌面和行動應用程式中。 透過研究其原始碼,您可以學習:

  • ✓ 如何在您的應用程式中初始化 NHP-Agent
  • ✓ 如何向 NHP-Server 發送加密敲門請求
  • ✓ 如何處理身份驗證和存取權杖
  • ✓ 如何在 NHP 授權後存取受保護的資源
🌐

網頁應用程式整合(JavaScript SDK)

OpenNHP JavaScript Agent 是將 NHP 身份驗證整合到網頁應用程式的官方 SDK。 它提供輕量級、瀏覽器相容的解決方案,用於基於網頁的方式存取 NHP 保護的資源。

  • ✓ 適用於瀏覽器環境的純 JavaScript 實作
  • ✓ 與現有網頁框架無縫整合
  • ✓ NHP 身份驗證流程與連線狀態視覺化
  • ✓ 適用於任何受 OpenNHP 保護的後端
📖 OpenNHP SDK 文件

準備好隱藏您的基礎設施了嗎?

部署 OpenNHP,讓您的服務對攻擊者完全隱形。