Port Knocking - Slides de Présentation pour Développeurs Slide 1: Introduction et Contexte Titre : Port Knocking - Sécuriser SSH de façon Élégante

Contenu :

Qu'est-ce que c'est ? Une technique de sécurisation des serveurs SSH (née en 2005-2006)

Le problème : En France, 680 000 serveurs SSH sont exposés publiquement

Vulnérabilités constantes

Scans de ports massifs

Spam de logs intensif

La solution : Masquer le service derrière un firewall et l'ouvrir à la demande

Avantage clé : Ouverture temporaire et limitée à une adresse IP

Slide 2: Fondamentaux Techniques - TCP et Firewall Titre : Comment ça marche ? Les bases réseau

Contenu - TCP :

4 paramètres : IP source + destination, port source + destination

Poignée de main en 3 étapes : SYN → SYN-ACK → ACK

Contenu - Actions du Firewall :

Action Résultat Serveur Visible ? Accept Paquet autorisé ✅ Oui (vulnérable) Reject Paquet refusé (RST) ✅ Oui (fermeture confirmée) Drop Paquet supprimé ❌ Non (invisible) Le fondement du port knocking : Exploiter la différence entre Drop et Reject pour masquer un service tout en offrant un accès contrôlé

Slide 3: Principe du Port Knocking Titre : Le concept - Frapper à la porte

Analogie : Comme annoncer sa présence en frappant sur une porte avec une séquence rythmique

Fonctionnement en 5 étapes :

Firewall bloque le port 22 (DROP) → Service invisible

Client envoie séquence sur ports spécifiques (3000 → 4000 → 5000)

Firewall reconnaît la séquence → Port 22 s'ouvre

Connexion SSH établie et persistante (keyword established)

Timeout atteint → Port 22 se ferme automatiquement

Caractéristiques :

Ouverture temporaire (ex: 30 secondes)

Limitée à une adresse IP spécifique

Le service ne semble jamais exposé aux yeux du monde

Slide 4: Implémentation Pratique Titre : Mettre en place le Port Knocking

Environnement testé :

Debian 12 + iptables

Côté Serveur :

text Configuration firewall : - Policy : INPUT DROP - Interface : Écoute tous les paquets - Séquence : Ports à frapper (3000, 4000, 5000) - Timeout : Durée de validité de la séquence - Commande : Ajoute règle iptables + SSH timeout 30s - Cron : Nettoie les règles expirées Côté Client :

Installation similaire (démon inactif)

CLI uniquement pour la séquence

Fourniture : IP serveur + ports de la séquence

Résultat :

✅ Port 22 introuvable par scan (filtré)

✅ Après séquence correcte : connexion SSH normale

✅ Après 30s : port se referme automatiquement

Slide 5: Améliorations et Alternatives Titre : Évolution - De fixe à dynamique et au-delà

Port Knocking Classique - Limitation :

❌ Séquence fixe = Vulnérable aux attaques par rejeu

Attaquant écoute la séquence → La rejoue → Accès obtenu

Solution 1 : Port Knocking + TOTP :

Séquence change toutes les minutes

Basée sur clé partagée + temps

Éphémère et jetable

✅ Élimine vulnérabilité par rejeu

Solution 2 : Single Packet Authorization (SPA) :

Approche moderne et plus efficace

Un seul paquet UDP au lieu de séquence

Contient instruction (ex: ouvrir port 22)

Chiffré (clé publique serveur)

Outils : fwknop, implémentations Rust

Recommandation :

Cas simples : Port Knocking + TOTP

Robuste : Passer à SPA (Single Packet Authorization)

Notes de Présentation Pour Slide 1 Accroche : "Vous avez 680 000 raisons de sécuriser votre SSH"

Amener le problème avant la solution

Montrer la simplicité du concept

Pour Slide 2 Dessiner les 3 actions du firewall avec symboles visuels

Souligner la différence DROP vs REJECT (le cœur du concept)

Aider les développeurs à visualiser les flux réseau

Pour Slide 3 Utiliser l'analogie de la caverne d'Alibaba (mentionnée dans la présentation)

Montrer un diagramme des étapes avec des flèches

Insister sur la persistance de la connexion (keyword established)

Pour Slide 4 Montrer une démo en parallèle (optionnel)

Terminal client vs Terminal serveur

Montrer progression : filtré → ouvert → filtré (après 30s)

Code iptables si public DevOps/SysAdmin

Pour Slide 5 Tableau comparatif : Port Knocking vs TOTP vs SPA

Matricer sécurité / complexité / commodité

Proposer un chemin d'adoption progressif

Mentionner que SPA est "l'avenir" mais complexe