Sécurité du routeur: mots de passe et SSH
Définition
Durcir un routeur, c'est fermer les portes laissées ouvertes par défaut: pas de mot de passe en console, pas de service désactivé, telnet actif. Les bases: mots de passe de type 8 ou 9 plutôt que 7, SSH version 2 pour le management, lignes VTY verrouillées par transport input ssh, timeout de session, et un login bloquant les tentatives répétées. Le blueprint thème 5.3 demande de configurer et vérifier le contrôle d'accès aux équipements avec des mots de passe locaux.
Contexte
L'examen pose des commandes concrètes: générer les clés RSA, forcer SSH sur VTY, lire la différence entre service password-encryption et username ... secret, reconnaître une sortie show running-config avec type 7 et conclure qu'elle est faible. Les thèmes 5.3 et 5.4 croisent ici gestion des accès et politiques de mots de passe: complexité, expiration, alternatives (MFA, certificats, biométrie côté identité).
Les mots de passe hachés
IOS stocke les secrets avec un type indiqué avant la chaîne:
| Type | Algorithme | Statut |
|---|---|---|
| 0 | Clair | À proscrire, défaut si password sans service |
| 7 | Réversible (algorithme propriétaire, tables publiques) | Ne protège rien, service password-encryption produit du type 7 |
| 4 et 5 | MD5 | Obsolète |
| 8 | SHA-256 (PBKDF2) | Recommandé |
| 9 | scrypt (cost, block, parallelism paramétrables) | Le plus fort, défaut avec username NAME secret 9 |
service password-encryption convertit les line password en type 7: visible dans un dump, cassable en secondes par des outils publics. La commande secret évite le débat: enable secret, username ... secret produisent du hash non réversible. Sur IOS moderne, username CDurand privilege 15 secret Ccna2026!Secure donne type 8 par défaut.
SSH v2 côté serveur
R1(config)# ip domain-name entreprise.fr
R1(config)# crypto key generate rsa modulus 2048
R1(config)# ip ssh version 2
R1(config)# username CDurand privilege 15 secret Ccna2026!Secure
R1(config)# line vty 0 4
R1(config-line)# transport input ssh
R1(config-line)# login local
R1(config-line)# exec-timeout 5 0
R1(config-line)# logging synchronous
Sans domaine configuré, crypto key generate rsa refuse: la clé est dérivée du FQDN. modulus 1024 est un minimum historique, 2048 est le plancher raisonnable. transport input ssh purgé du telnet: le mot de passe ne circule plus en clair. Côté client, ssh -o RSA -l CDurand 10.0.0.1. Vérification: show ip ssh (version, timeout, retries) et show crypto key mypubkey rsa.
Protéger contre le brute-force
R1(config)# login block-for 300 attempts 3 within 60
R1(config)# login delay 5
R1(config)# banner motd #Acces surveille. Seules personnes autorisees.#
login block-for suspend toutes les nouvelles tentatives pendant 300 s si 3 échecs surviennent en 60 s. login delay 5 ajoute 5 s entre chaque tentative: un attaquant à 1000 mots de passe/minute tombe à 12. Attention à l'auto-lockout: exclure ses propres adresses avec access-class sur VTY ou un login quiet-mode access-class, ou réserver la console, jamais bloquée par ces réglages.
Hygiène générale des équipements
| Action | Commande | Pourquoi |
|---|---|---|
| Désactiver HTTP/HTTPS admin | no ip http server, no ip http secure-server |
Interface web jamais patchée en priorité |
| Éteindre les services inutiles | no service tcp-small-servers, no service udp-small-servers, no finger |
Fuites d'infos et amplification |
| Désactiver les interfaces dormantes | shutdown sur Gi0/2 inutilisée |
Surface d'attaque et CDP |
| Timeout console | line con 0 + exec-timeout 10 0 |
Session laissée ouverte en salle technique |
| Journaliser | logging host 10.10.1.40, logging trap informational |
Preuve et détection |
| NTP exact | ntp server 10.10.1.45 |
Horodatage des logs crédible |
Le hardening complet s'appelle Security Device Manager puis IOS Foundation Services; l'essentiel pour l'examen tient dans ce tableau et les blocs SSH.
Exemple concret
Un rapport d'audit liste 14 équipements avec service password-encryption et zéro secret. Un ancien prestataire parti en mauvais termes possède encore le type 7 du routeur Edge-Paris1; l'outil public le casse en 30 secondes depuis un dump, puis un show running-config | section username lui livre le hash type 7 du compte admin, tout aussi réversible. Après remédiation: comptes recréés en secret 9, transport input ssh, login block-for 120 attempts 2 within 30, telnet désactivé partout. L'audit suivant ne trouve plus que du type 9, et les tentatives de brute-force depuis Internet, 48 en 10 minutes sur un port TCP 23 ouvert, retombent à zéro faute de porte.