Le protocole SSH sous CISCO
Telnet n’est pas sécurisé : place à SSH. Configuration pas à pas sur un équipement CISCO, de la clé RSA aux lignes VTY, jusqu’à l’ouverture d’une session.
Pour se connecter sur un équipement actif à distance, il existe deux protocoles :
Le protocole TELNET :
- TCP port 23.
- Non sécurisé (le login et le password passent en clair sur le réseau…).
Le protocole SSH (Secure SHell) :
- TCP port 22.
- Sécurisé.
Nous allons donc voir comment mettre en place le protocole SSH.
Configurer le SSH sur un équipement CISCO
Changer le nom de notre équipement
router(config)# hostname R1
Ces informations vont servir pour la création de la clé RSA.
Mettre un nom de domaine
R1(config)# ip domain-name FingerInTheNet
Ces informations vont servir pour la création de la clé RSA.
Générer une clef RSA
R1(config)# crypto key generate rsa modulus 2048
% Generating 2048 bit RSA keys, keys will be non-exportable…[OK]
Le routeur va vous demander la taille de votre clé RSA (le modulus), de base elle fera 512. Au point de vue SSI, il vaut mieux la mettre à 2048.
RSA = Rivest, Shamir et Adleman (nom de famille des trois inventeurs). Type de chiffrement qui donne la robustesse du protocole SSH.
Paramétrer le SSH
R1(config)# ip ssh version 2
SSH en version 2.
R1(config)# ip ssh time-out 60
Au bout de 60 secondes d’inactivité, la session se coupe automatiquement.
R1(config)# ip ssh authentication-retries 3
Au bout de 3 mots de passe erronés, la session se coupe.
Se créer des login + mot de passe
R1(config)# service password-encryption
Vos mots de passe n’apparaissent plus en clair dans votre configuration (show-run).
R1(config)# username n.nicolas privilege 15 secret mot de passe
Le privilège 15 vous permet d’être directement en mode enable, ce qui évite de taper plusieurs mots de passe 🙂 Si vous voulez quand même taper le mot de passe « enable », ne mettez pas de privilège.
À cette étape, le SSH est configuré, la clé RSA a été générée et vous avez des identifiants, il ne reste plus qu’à autoriser les connexions SSH venant de l’extérieur.
Dès qu’un utilisateur lance une connexion SSH ou Telnet, il va avoir une session virtuelle, appelée VTY.
De base, on autorise uniquement 5 sessions simultanées, ce qui équivaut aux sessions de 0 à 4.
Configurer les line vty
R1(config)# line vty 0 4
R1(config-line)# exec-timeout 3 0
Au bout de 3 minutes d’inactivité, la session se coupe automatiquement.
R1(config-line)# transport input ssh
Autorise uniquement les connexions SSH entrantes (Admin vers Routeur).
R1(config-line)# transport output none
Refuse toutes les connexions sortantes (Routeur vers Routeur/Admin/etc.).
R1(config-line)# login local
Utilise les comptes locaux.
Création d’une bannière
Lorsqu’on se connecte à notre équipement actif en SSH, on nous demande un login et un mot de passe.
Au niveau de la loi, il faut « signaler » au pirate qu’il n’a pas le droit de faire cela. Pour ce faire, nous allons créer une bannière.
R1(config)# banner motd [Signe] (votre bannière) [Signe]
Exemple :
R1(config)# banner motd # INTERDIT #
Quand on tape la commande banner motd, il faut mettre un caractère : celui-ci va marquer le début de notre bannière. Dans notre cas, ce sera un #. Dès que ce signe revient, il marquera la fin de votre bannière.
R1(config)# banner motd #
*********************************************************************
**** Vu l'article XXX, l'accès à cet équipement actif est réservé****
******* uniquement aux administrateurs du site FingerInTheNet *******
********************************************************************* #
Mettre une adresse IP sur notre équipement
Notre équipement a besoin d’une adresse IP pour être managé à distance. Nous allons mettre cette adresse IP sur une interface virtuelle.
Switch(config)# interface vlan 1
Switch(config-if)# ip address 192.168.1.1 255.255.255.0
La configuration CISCO en résumé
router> enable
router# configure terminal
router(config)# hostname R1
R1(config)# ip domain-name FingerInTheNet
R1(config)# crypto key generate rsa modulus 2048
% Generating 2048 bit RSA keys, keys will be non-exportable…[OK]
R1(config)# ip ssh version 2
R1(config)# ip ssh time-out 60
R1(config)# ip ssh authentication-retries 3
R1(config)# service password-encryption
R1(config)# username n.nicolas privilege 15 secret mot de passe
R1(config)# line vty 0 4
R1(config-line)# exec-timeout 3 0
R1(config-line)# transport input ssh
R1(config-line)# transport output none
R1(config-line)# login local
R1(config-line)# exit
R1(config)# banner motd #
*********************************************************************
*** Vu l'article XXX, l'accès à cet équipement actif est réservé ****
******* uniquement aux administrateurs du site FingerInTheNet *******
********************************************************************* #
Il ne vous reste plus qu’à utiliser des logiciels de prise de main à distance (Putty, TeraTerm, etc.), accepter la clé RSA et le tour est joué 😉
Ouvrir une connexion SSH
Ouvrir le logiciel Putty :

Accepter la clé RSA :

Authentifiez-vous :

Conclusion
- Telnet est à bannir.
- Une clé RSA doit être supérieure ou égale à 2048.
