El servidor de demostración protegido por OpenNHP
Hiding Protocol
1) El servidor protegido es, por defecto, «invisible» para los usuarios no autenticados
Por defecto, cualquier intento de conectarse al servidor protegido dará como resultado un error de TIME OUT, ya que todos los puertos están cerrados, lo que hace que el servidor parezca desconectado y sea efectivamente «invisible».
2) El escaneo de puertos también devuelve TIME OUT
Escanear los puertos del servidor también devolverá un error de TIME OUT. Todos los puertos parecen cerrados para los escáneres no autorizados. Pruébelo usted mismo con un escáner de puertos en línea:
3) Autentíquese con la página web de inicio de sesión o con la app StealthDNS
Utilice la página web de inicio de sesión o la app StealthDNS para autenticarse con el servidor NHP. Tras iniciar sesión con éxito, podrá acceder al servidor protegido.
4) Acceso concedido tras la autenticación
Tras una autenticación NHP correcta, el servidor protegido se vuelve accesible. Ahora podrá ver el contenido protegido que antes era invisible.

Ocultación de los puertos del servidor de aplicaciones
Antes de NHP, todos los puertos del servidor están expuestos. Con NHP, se vuelven completamente invisibles.
Puertos del servidor de aplicaciones visibles
$ nmap -sS -p 1-65535 server.example.com✗ Todos los puertos visibles para los atacantes
✗ Superficie de ataque totalmente expuesta
✗ Vulnerable al escaneo de puertos
Todos los puertos ocultos a los no autorizados
$ nmap -sS -p 1-65535 server.example.com✓ Todos los puertos invisibles para los atacantes
✓ Exposición de superficie de ataque nula
✓ Solo los usuarios autenticados pueden acceder
Cómo funciona NHP
El paradigma de autenticación-antes-de-conexión en acción.
Invisibilidad total
Los recursos protegidos no tienen presencia pública. El DNS devuelve NXDOMAIN, los puertos parecen cerrados y las direcciones IP son desconocidas. Para los observadores no autorizados, el servicio no existe.
Knock criptográfico
Los clientes autorizados envían un paquete de «knock» cifrado usando el Noise Protocol Framework. Esto prueba su identidad sin revelar la existencia del servicio a los observadores.
Autenticación mutua
Tanto el cliente como el servidor se autentican mutuamente utilizando criptografía asimétrica moderna. Sin secretos compartidos, sin vulnerabilidad MITM, sin ataques de repetición.
Acceso con tiempo limitado
Tras una autenticación correcta, el cliente recibe acceso temporal. Las reglas de cortafuegos se crean de forma dinámica y expiran automáticamente, minimizando la exposición.
Resultados de pruebas
NHP ofrece un alto rendimiento con una latencia añadida mínima.
| Operación | Rendimiento | Latencia |
|---|---|---|
| Autenticación | 10 000 req/s | < 10 ms |
| Ocultación de puertos | 100 000 req/s | < 1 ms |
| Resolución DNS | 50 000 req/s | < 5 ms |
*Probado en una instancia AWS t3.xlarge
Integre OpenNHP en sus aplicaciones
Elija el SDK adecuado según el tipo de aplicación: apps cliente nativas o aplicaciones web.
Integración en apps cliente (escritorio y móvil)
StealthDNS es una aplicación de ejemplo de código abierto que demuestra cómo integrar el SDK de OpenNHP en aplicaciones nativas de escritorio y móvil. Al estudiar su código fuente, aprenderá:
- ✓ Cómo inicializar NHP-Agent en su aplicación
- ✓ Cómo realizar solicitudes de knock criptográfico al NHP-Server
- ✓ Cómo gestionar la autenticación y los tokens de acceso
- ✓ Cómo acceder a los recursos protegidos tras la autorización NHP
Integración en apps web (SDK de JavaScript)
OpenNHP JavaScript Agent es el SDK oficial para integrar la autenticación NHP en aplicaciones web. Proporciona una solución ligera y compatible con navegadores para el acceso desde la web a recursos protegidos por NHP.
- ✓ Implementación en JavaScript puro para entornos de navegador
- ✓ Integración fluida con los frameworks web existentes
- ✓ Visualización del flujo de autenticación NHP y del estado de la conexión
- ✓ Funciona con cualquier backend protegido por OpenNHP
¿Listo para ocultar su infraestructura?
Despliegue OpenNHP y haga que sus servicios sean invisibles para los atacantes.


