Sécuriser l’accès à l’IOS par la commande enable

2

Comme pour n’importe quel équipement informatique, il faut sécuriser l’accès pour éviter d’avoir de mauvaises surprises.

Grace à certaines fonctionnalités de l’IOS, il est possible de définir un mot de passe avant que l’administrateur/pirate puisse modifier la configuration de votre équipement (ou même redémarrer ou effacer toute la configuration ou pire…).

La commande “enable password”

Dans le chapitre sur les différents mode de l’IOS, on a vu que le passage du mode non privilégié au mode privilégié s’effectue avec la commande “enable“.

On a vu aussi qu’une fois dans le mode privilégié, l’administrateur peut faire ce qu’il veut:

  • visualiser la configuration de l’équipement
  • basculer dans le mode de configuration pour modifier la configuration
  • effacer la configuration
  • redémarrer l’équipement
Bref l’administrateur peut tout faire. Il est donc primordial de sécuriser le passage entre ces 2 modes par la demande d’un mot de passe lorsque l’administrateur tape la commande “enable“. Si le mot de passe donné n’est pas le bon, le passage en mode privilégié sera refusé et l’administrateur restera en mode non privilégié.

Configuration

  • entrer dans le mode privilégié (enable)
  • entrer dans le mode de configuration globale du switch (configure terminal)
  • définir le mot de passe TOTO (enable password TOTO)
  • sortir du mode de configuration global (exit)
  • sortir du mode privilégié (disable)
  • testez le mot de passe en essayant d’entrer dans le mode privilégié (enable)
 
Et voila, votre équipement est sécurisé!
Maintenant, regardons un peu comment est sauvegardé ce fameux mot de passe en tapant la commande “show running-config“. On  s’aperçoit que le mot de passe est stocké en clair dans la configuration:
 
Ce n’est pas forcément un problème que le mot de passe soit stocké en clair dans le sens où seul un administrateur qui se trouve déjà dans le mode privilégié (donc connaissant le mot de passe) peut visualiser la configuration.
La où c’est plus gênant c’est lorsque vous exportez la configuration vers un serveur de sauvegarde, le mot de passe restera en clair. Ou lorsque vous installez un nouvel équipement à distance, vous devez donner le fichier de configuration à la personne qui installera physiquement l’équipement, il connaîtra alors votre mot de passe… bon vous l’avez compris, c’est pas excellent comme sécurisation 🙁
Alors comment faire pour sécuriser ce mot de passe?

La fonction “service password-encryption”

Cisco a réfléchi (si si) pour sécuriser le mot de passe au sein même de la configuration. Il utilise une fonction de chiffrement basé sur l’algorithme de Vigenere qui permet de rendre le mot de passe illisible. Pour activer cette fonction, rien de plus simple:

Configuration

  • entrer dans le mode privilégié (enable)
  • entrer dans le mode de configuration globale du switch (configure terminal)
  • activer la fonction de chiffrement de mot de passe (service password-encryption)
  • sortir du mode de configuration global (exit)
  • vérifier que le mot de passe est bien illisible (show running-config)
 
Pour information, le chiffre 7 qui se trouve devant le mot de passe chiffré indique le type d’algorithme utilisé pour chiffrer et déchiffrer le mot de passe. 7 équivaut à l’algorithme de Vigénère.

Crackage de mot de passe

Vous me direz, c’est bon tout est sécurisé… pas vraiment en fait car cet algorithme est très ancien et aujourd’hui on peut facilement recouvrir n’importe quel mot de passe chiffré avec la commande “service password-encryption“.
Pour preuve, le mot de passe de mon exemple est TOTO, son équivalent chiffré est: 0815637A26 (que je trouve en faisant un show running-config).
Je cherche rapidement sur Internet un site pour casser l’algorithme de Vigénère. Parmi les sites, j’en prend 3 au hasard:
Je met sur chacun de ces 3 sites l’équivalent chiffré soit 0815637A26, et chaque site me retrouve le mot de passe TOTO
Alors, comment faire pour véritablement sécuriser le mot de passe “enable” de mon équipement Cisco?
On va utiliser une fonction de hashage qui s’appelle MD5 et cette fonction sera appliquée grâce à la commande “enable secret

La commande “enable secret”

Comme la commande “enable password TOTO” stocke le mot de passe en clair et que la fonction “service password-encryption” chiffre bien ce mot de passe mais avec un algorithme obsolète, Cisco a décidé de changer complètement la sécurisation du mot de passe par une nouvelle commande “enable secret“.
Cette commande permet de définir un mot de passe mais au lieu de stocker le mot de passe en clair dans la configuration il va stocker uniquement son hash.
Kézako ? Une fonction de hashage génère à partir d’une entrée (TOTO) un hash qui sera unique. En revanche, il est quasiment impossible à partir du hash de retrouver le mot de passe associé.

Configuration

  • entrer dans le mode de configuration globale du switch (configure terminal)
  • enlever la précédente commande de définition du mot de passe (no enable password)
  • définir le mot de passe TOTO avec la commande secret (enable secret TOTO)
  • sortir du mode de configuration global (exit)
  • vérifier que le mot de passe est bien illisible (show running-config)
  • si vous souhaitez, tester sur les 3 sites précédents de cracker le mot de passe… sans succès
 
Ici le chiffre 5 qui se trouve devant le mot de passe chiffré indique le type d’algorithme utilisé pour rendre illisible le mot de passe TOTO est la fonction de hashage MD5 (rappelez-vous, le chiffre 7 était pour l’algorithme de Vigenere).

A retenir pour le CCNA

Ce qu’il faut retenir pour le CCNA:

  • on peut sécuriser l’accès à l’IOS avec la commande “enable password…” mais le mot de passe est stocké en clair dans la configuration
  • on peut alors chiffrer ce mot de passe avec la commande “service password-encryption” mais cet algorithme n’est plus fiable aujourd’hui
  • Cisco recommande à ce jour de remplacer la commande “enable password” par la commande “enable secret

PARTAGER SUR

2 COMMENTAIRES

  1. Clair et concis comme d’habitude 😉

    Juste un petit mot quant au fait qu’il est possible d’avoir à la fois un “enable password” et un “enable secret” configuré simultanément… auquel cas, l’IOS utilisera le mot de passe défini par “enable secret”.

    Je me souviens avoir eu une question à ce sujet lorsque j’ai passé l’ICND1… cela date un peu maintenant, mais sait-on jamais.

    En tout cas bravo pour la qualité constante de tes articles.

    • Salut Steve,
      Tu as tout à fait raison sur les 2 points: “enable secret” a une précédence sur “enable password” et c’est aussi une question du CCNA.
      Avis à ceux qui révisent en ce moment 😉

LAISSER UNE RÉPONSE