I. FONDAMENTAUX DES RÉSEAUX
II - ACCESS RESEAU
III - Routage IP
IV - Service IP
V - FONDAMENTAUX DE LA SÉCURITÉ
VI - AUTOMATISATION ET PROGRAMMABILITÉ
VII - Le Protocole IPv6
VIII - Les réseaux Wi-Fi

4.7 – Le protocole SSH

SSH, ou Secure Shell, est un protocole de communication réseau qui permet une connexion sécurisée entre deux dispositifs sur un réseau non sécurisé. Dans l’environnement Cisco, il est couramment utilisé pour gérer des équipements tels que des routeurs et des commutateurs de manière sécurisée.

Pourquoi SSH ?

Dans le passé, Telnet était la méthode standard pour accéder à des dispositifs à distance. Cependant, Telnet transmet des informations, y compris les mots de passe, en clair. SSH a été conçu pour remplacer Telnet et d’autres protocoles non sécurisés en offrant une connexion cryptée.

Caractéristiques principales de SSH

  • Cryptage: SSH utilise des algorithmes de cryptage puissants pour garantir que toutes les données échangées entre le client et le serveur sont sécurisées.
  • Authentification: Outre les mots de passe, SSH peut utiliser une authentification par clé pour établir une connexion.
  • Intégrité des données: SSH garantit que les paquets de données reçus sont exactement ceux qui ont été envoyés, sans altération.

SSH dans l’environnement Cisco

Les équipements Cisco prennent en charge SSH pour permettre une gestion à distance sécurisée. Cela inclut :

  • L’accès à l’interface de ligne de commande (CLI) via SSH.
  • La possibilité de transférer des fichiers de configuration ou des mises à jour de firmware via SCP (Secure Copy Protocol) ou SFTP (SSH File Transfer Protocol).

Versions de SSH

Il existe deux versions majeures de SSH :

  • SSHv1: La première version de SSH, elle présente certaines vulnérabilités et n’est généralement pas recommandée.
  • SSHv2: Version améliorée et plus sécurisée de SSH, elle est la version standard utilisée aujourd’hui.

Dans les équipements Cisco, il est recommandé de configurer SSHv2 et de désactiver SSHv1 pour une sécurité optimale.

Authentification par clé

L’une des principales caractéristiques de sécurité de SSH est l’authentification par clé. Cela fonctionne avec une paire de clés : une clé publique et une clé privée. La clé publique est stockée sur le serveur (l’équipement Cisco), tandis que la clé privée est détenue par le client. Lors de l’établissement d’une connexion, le serveur challenge le client avec la clé publique, et le client doit répondre correctement avec la clé privée pour établir une connexion sécurisée.

Best Practices pour SSH sur les équipements Cisco

  • Désactiver Telnet : Pour éviter les connexions non sécurisées.
  • Utiliser SSHv2: Assurez-vous d’utiliser toujours la version 2 de SSH pour une sécurité maximale.
  • Configurer des mots de passe forts: Cela s’applique à tous les comptes d’accès à l’équipement.
  • Mise à jour régulière: Comme avec tout logiciel, il est essentiel de garder le firmware de l’équipement Cisco à jour pour se protéger contre les vulnérabilités connues.

Étapes pour configurer SSH sur un équipement Cisco:

Définir un nom de domaine : Pour générer des clés cryptographiques pour SSH, votre routeur ou commutateur doit avoir un nom de domaine

Router(config)# hostname [Nom_du_routeur] 
Nom_du_routeur(config)# ip domain-name [nom_de_domaine.com]

Générer une paire de clés RSA : SSH utilise des clés pour l’authentification. Vous devez générer une paire de clés (publique et privée)

Nom_du_routeur(config)# crypto key generate rsa modulus 2048

Activer le protocole SSH sur l’équipement

  • Vous devez définir la version de SSH. De préférence, utilisez SSHv2 car il est plus sécurisé que SSHv1.
  • Activez l’authentification par mot de passe ou par clé.
Nom_du_routeur(config)# ip ssh version 2
Nom_du_routeur(config)# line vty 0 4 
Nom_du_routeur(config-line)# transport input ssh

Configurer l’authentification

  • Définissez un mot de passe pour le compte enable si ce n’est pas déjà fait
  • Configurez un nom d’utilisateur et un mot de passe pour l’authentification SSH
Nom_du_routeur(config)# enable secret [votre_mot_de_passe]
Nom_du_routeur(config)# username [nom_d_utilisateur] password [mot_de_passe]

Configurer un délai de connexion et d’autres paramètres (optionnel) Pour une meilleure sécurité, vous pouvez définir un délai de connexion et d’autres paramètres.

Nom_du_routeur(config-line)# exec-timeout [minutes] [secondes] 
Nom_du_routeur(config-line)# login local

Sauvegardez la configuration Pour s’assurer que les modifications restent après un redémarrage de l’équipement, enregistrez la configuration.

Nom_du_routeur# write memory

Conclusion

SSH est un outil essentiel pour la gestion sécurisée des équipements Cisco. Sa capacité à offrir une connexion cryptée et une authentification robuste en fait un choix incontournable pour tous les administrateurs réseau soucieux de la sécurité.

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 *******
********************************************************************* #