OpenNHP 保护的演示服务器

https://acdemo.opennhp.org

🎭
未授权
用户
👤
已授权
用户
不可见 & 已拦截
可见 & 已放行
🛡️
NHP
Network-infrastructure
Hiding Protocol
🖥️
受保护的
服务器
acdemo.opennhp.org

1) 受保护的服务器默认对未认证用户"不可见"

默认情况下,任何连接受保护服务器的尝试都会导致 TIME OUT 错误, 因为所有端口都是关闭的,使服务器看起来处于离线状态,实际上是"不可见的"

尝试访问受保护的服务器:

🚀 尝试访问:https://acdemo.opennhp.org NHP 演示 - 服务器对未认证用户不可见

2) 端口扫描同样返回 TIME OUT

对服务器进行端口扫描同样会返回 TIME OUT 错误。 所有端口对未授权的扫描器都显示为关闭状态。您可以使用在线端口扫描工具亲自验证:

3) 通过登录网页或 StealthDNS 应用进行认证

使用登录网页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< 10ms
端口隐藏100K req/s< 1ms
DNS 解析50K req/s< 5ms

*在 AWS t3.xlarge 实例上测试

集成

将 OpenNHP 集成到您的应用中

根据您的应用类型选择合适的 SDK:原生客户端应用或 Web 应用。

🖥️

客户端应用集成(桌面端 & 移动端)

StealthDNS 是一个开源示例应用,展示了如何将 OpenNHP SDK 集成到原生桌面和移动应用中。 通过研究其源代码,您可以学习:

  • 如何在您的应用中初始化 NHP-Agent
  • 如何向 NHP-Server 发起加密敲门请求
  • 如何处理认证和访问令牌
  • 如何在 NHP 授权后访问受保护的资源
🌐

Web 应用集成(JavaScript SDK)

OpenNHP JavaScript Agent 是将 NHP 认证集成到 Web 应用的官方 SDK。 它为基于 Web 的 NHP 保护资源访问提供了轻量级、浏览器兼容的解决方案。

  • 适用于浏览器环境的纯 JavaScript 实现
  • 与现有 Web 框架无缝集成
  • NHP 认证流程和连接状态可视化
  • 适用于任何由 OpenNHP 保护的后端
📖 OpenNHP SDK 文档

准备好隐藏您的基础设施了吗?

部署 OpenNHP,让您的服务对攻击者不可见。