Le serveur de démonstration protégé par OpenNHP

https://acdemo.opennhp.org

🎭
NON AUTORISÉ
Utilisateur
👤
AUTORISÉ
Utilisateur
Invisible et bloqué
Visible et autorisé
🛡️
NHP
Network-infrastructure
Hiding Protocol
🖥️
Protégé
Serveur
acdemo.opennhp.org

1) Le serveur protégé est « invisible » par défaut pour les utilisateurs non authentifiés

Par défaut, toute tentative de connexion au serveur protégé se solde par une erreur TIME OUT, car tous les ports sont fermés, ce qui fait paraître le serveur hors ligne et donc « invisible ».

Essayez d'accéder au serveur protégé à l'adresse :

🚀 Tenter l'accès : https://acdemo.opennhp.org Démo NHP - Serveur invisible aux utilisateurs non authentifiés

2) Le scan de ports renvoie également TIME OUT

Le scan de ports du serveur renvoie lui aussi une erreur TIME OUT. Tous les ports paraissent fermés pour les scanners non autorisés. Essayez vous-même avec un scanner de ports en ligne :

3) S'authentifier via la page de connexion ou l'application StealthDNS

Utilisez la page de connexion ou l'application StealthDNS pour vous authentifier auprès du serveur NHP. Une fois la connexion réussie, vous pouvez accéder au serveur protégé.

4) Accès accordé après authentification

Après une authentification NHP réussie, le serveur protégé devient accessible. Vous pouvez désormais voir le contenu protégé qui était auparavant invisible.

AUTHENTIFIÉ ✓ Accès accordé
Démo NHP - Accès accordé après authentification
Dissimulation des ports

Dissimuler les ports du serveur applicatif

Avant NHP, tous les ports du serveur sont exposés. Après NHP, ils deviennent totalement invisibles.

AVANT NHP ⚠️ Exposé

Ports du serveur applicatif visibles

$ 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

Tous les ports sont visibles pour les attaquants
Surface d'attaque entièrement exposée
Vulnérable au scan de ports

APRÈS NHP 🛡️ Protégé

Tous les ports dissimulés aux non autorisés

$ 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.

Tous les ports invisibles pour les attaquants
Aucune exposition de la surface d'attaque
Seuls les utilisateurs authentifiés peuvent accéder

Processus

Comment NHP fonctionne

Le paradigme d'authentification avant connexion en action.

Étape 1

Invisibilité totale

Les ressources protégées n'ont aucune présence publique. Le DNS renvoie NXDOMAIN, les ports paraissent fermés et les adresses IP sont inconnues. Pour les observateurs non autorisés, le service n'existe pas.

Étape 2

Knock cryptographique

Les clients autorisés envoient un paquet « knock » chiffré à l'aide du Noise Protocol Framework. Celui-ci prouve leur identité sans révéler l'existence du service aux observateurs.

Étape 3

Authentification mutuelle

Le client et le serveur s'authentifient mutuellement à l'aide de la cryptographie asymétrique moderne. Pas de secrets partagés, pas de vulnérabilité MITM, pas d'attaques par rejeu.

Étape 4

Accès limité dans le temps

En cas d'authentification réussie, le client reçoit un accès temporaire. Des règles de pare-feu sont créées dynamiquement et expirent automatiquement, minimisant l'exposition.

Performance

Résultats de benchmark

NHP offre de hautes performances avec un surcoût de latence minimal.

OpérationDébitLatence
Authentification10K req/s< 10 ms
Dissimulation de ports100K req/s< 1 ms
Résolution DNS50K req/s< 5 ms

*Testé sur une instance AWS t3.xlarge

Intégration

Intégrer OpenNHP à vos applications

Choisissez le SDK adapté à votre type d'application : applications clientes natives ou applications web.

🖥️

Intégration d'application cliente (bureau et mobile)

StealthDNS est un exemple d'application open source qui illustre comment intégrer le SDK OpenNHP dans des applications natives pour bureau et mobile. En étudiant son code source, vous apprendrez :

  • Comment initialiser le NHP-Agent dans votre application
  • Comment effectuer les requêtes de knock cryptographique vers NHP-Server
  • Comment gérer l'authentification et les jetons d'accès
  • Comment accéder aux ressources protégées après autorisation NHP
🌐

Intégration d'application web (SDK JavaScript)

OpenNHP JavaScript Agent est le SDK officiel pour intégrer l'authentification NHP dans les applications web. Il fournit une solution légère et compatible navigateur pour l'accès web aux ressources protégées par NHP.

  • Implémentation pur JavaScript pour les environnements navigateur
  • Intégration fluide avec les frameworks web existants
  • Visualisation du flux d'authentification NHP et du statut de connexion
  • Fonctionne avec n'importe quel backend protégé par OpenNHP
📖 Documentation du SDK OpenNHP

Prêt à dissimuler votre infrastructure ?

Déployez OpenNHP et rendez vos services invisibles aux attaquants.