AccueilCCNACCNA coursSécuriser l’accès à l'IOS par la commande enable

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

Comme pour n’im­porte quel équi­pe­ment infor­ma­tique, il faut sécu­ri­ser l’ac­cès pour évi­ter d’a­voir de mau­vaises surprises.

Grace à cer­taines fonc­tion­na­li­tés de l’IOS, il est pos­sible de défi­nir un mot de passe avant que l’administrateur/pirate puisse modi­fier la confi­gu­ra­tion de votre équi­pe­ment (ou même redé­mar­rer ou effa­cer toute la confi­gu­ra­tion ou pire…).

La commande « enable password »

Dans le cha­pitre sur les dif­fé­rents mode de l’IOS, on a vu que le pas­sage du mode non pri­vi­lé­gié au mode pri­vi­lé­gié s’ef­fec­tue avec la com­mande « enable ».

On a vu aus­si qu’une fois dans le mode pri­vi­lé­gié, l’ad­mi­nis­tra­teur peut faire ce qu’il veut :

  • visua­li­ser la confi­gu­ra­tion de l’équipement
  • bas­cu­ler dans le mode de confi­gu­ra­tion pour modi­fier la configuration
  • effa­cer la configuration
  • redé­mar­rer l’équipement
Bref l’ad­mi­nis­tra­teur peut tout faire. Il est donc pri­mor­dial de sécu­ri­ser le pas­sage entre ces 2 modes par la demande d’un mot de passe lorsque l’ad­mi­nis­tra­teur tape la com­mande « enable ». Si le mot de passe don­né n’est pas le bon, le pas­sage en mode pri­vi­lé­gié sera refu­sé et l’ad­mi­nis­tra­teur res­te­ra en mode non privilégié.

Configuration

  • entrer dans le mode pri­vi­lé­gié (enable)
  • entrer dans le mode de confi­gu­ra­tion glo­bale du switch (confi­gure ter­mi­nal)
  • défi­nir le mot de passe TOTO (enable pass­word TOTO)
  • sor­tir du mode de confi­gu­ra­tion glo­bal (exit)
  • sor­tir du mode pri­vi­lé­gié (disable)
  • tes­tez le mot de passe en essayant d’en­trer dans le mode pri­vi­lé­gié (enable)
Et voi­la, votre équi­pe­ment est sécurisé !
Main­te­nant, regar­dons un peu com­ment est sau­ve­gar­dé ce fameux mot de passe en tapant la com­mande « show run­ning-config ». On s’aperçoit que le mot de passe est sto­cké en clair dans la configuration :
Ce n’est pas for­cé­ment un pro­blème que le mot de passe soit sto­cké en clair dans le sens où seul un admi­nis­tra­teur qui se trouve déjà dans le mode pri­vi­lé­gié (donc connais­sant le mot de passe) peut visua­li­ser la configuration.
La où c’est plus gênant c’est lorsque vous expor­tez la confi­gu­ra­tion vers un ser­veur de sau­ve­garde, le mot de passe res­te­ra en clair. Ou lorsque vous ins­tal­lez un nou­vel équi­pe­ment à dis­tance, vous devez don­ner le fichier de confi­gu­ra­tion à la per­sonne qui ins­tal­le­ra phy­si­que­ment l’é­qui­pe­ment, il connaî­tra alors votre mot de passe… bon vous l’a­vez com­pris, c’est pas excellent comme sécurisation 🙁
Alors com­ment faire pour sécu­ri­ser ce mot de passe ?

La fonction « service password-encryption »

Cis­co a réflé­chi (si si) pour sécu­ri­ser le mot de passe au sein même de la confi­gu­ra­tion. Il uti­lise une fonc­tion de chif­fre­ment basé sur l’al­go­rithme de Vige­nere qui per­met de rendre le mot de passe illi­sible. Pour acti­ver cette fonc­tion, rien de plus simple :

Configuration

  • entrer dans le mode pri­vi­lé­gié (enable)
  • entrer dans le mode de confi­gu­ra­tion glo­bale du switch (confi­gure ter­mi­nal)
  • acti­ver la fonc­tion de chif­fre­ment de mot de passe (ser­vice pass­word-encryp­tion)
  • sor­tir du mode de confi­gu­ra­tion glo­bal (exit)
  • véri­fier que le mot de passe est bien illi­sible (show run­ning-config)
Pour infor­ma­tion, le chiffre 7 qui se trouve devant le mot de passe chif­fré indique le type d’al­go­rithme uti­li­sé pour chif­frer et déchif­frer le mot de passe. 7 équi­vaut à l’algo­rithme de Vigé­nère.

Crackage de mot de passe

Vous me direz, c’est bon tout est sécu­ri­sé… pas vrai­ment en fait car cet algo­rithme est très ancien et aujourd’­hui on peut faci­le­ment recou­vrir n’im­porte quel mot de passe chif­fré avec la com­mande « ser­vice pass­word-encryp­tion ».
Pour preuve, le mot de passe de mon exemple est TOTO, son équi­valent chif­fré est : 0815637A26 (que je trouve en fai­sant un show run­ning-config).
Je cherche rapi­de­ment sur Inter­net un site pour cas­ser l’algorithme de Vigé­nère. Par­mi les sites, j’en prend 3 au hasard :
Je met sur cha­cun de ces 3 sites l’é­qui­valent chif­fré soit 0815637A26, et chaque site me retrouve le mot de passe TOTO
Alors, com­ment faire pour véri­ta­ble­ment sécu­ri­ser le mot de passe « enable » de mon équi­pe­ment Cisco ?
On va uti­li­ser une fonc­tion de hashage qui s’ap­pelle MD5 et cette fonc­tion sera appli­quée grâce à la com­mande « enable secret »

La commande « enable secret »

Comme la com­mande « enable pass­word TOTO » stocke le mot de passe en clair et que la fonc­tion « ser­vice pass­word-encryp­tion » chiffre bien ce mot de passe mais avec un algo­rithme obso­lète, Cis­co a déci­dé de chan­ger com­plè­te­ment la sécu­ri­sa­tion du mot de passe par une nou­velle com­mande « enable secret ».
Cette com­mande per­met de défi­nir un mot de passe mais au lieu de sto­cker le mot de passe en clair dans la confi­gu­ra­tion il va sto­cker uni­que­ment son hash.
Kéza­ko ? Une fonc­tion de hashage génère à par­tir d’une entrée (TOTO) un hash qui sera unique. En revanche, il est qua­si­ment impos­sible à par­tir du hash de retrou­ver le mot de passe associé.

Configuration

  • entrer dans le mode de confi­gu­ra­tion glo­bale du switch (confi­gure ter­mi­nal)
  • enle­ver la pré­cé­dente com­mande de défi­ni­tion du mot de passe (no enable pass­word)
  • défi­nir le mot de passe TOTO avec la com­mande secret (enable secret TOTO)
  • sor­tir du mode de confi­gu­ra­tion glo­bal (exit)
  • véri­fier que le mot de passe est bien illi­sible (show run­ning-config)
  • si vous sou­hai­tez, tes­ter sur les 3 sites pré­cé­dents de cra­cker le mot de passe… sans succès
Ici le chiffre 5 qui se trouve devant le mot de passe chif­fré indique le type d’al­go­rithme uti­li­sé pour rendre illi­sible le mot de passe TOTO est la fonc­tion de hashage MD5 (rap­pe­lez-vous, le chiffre 7 était pour l’al­go­rithme de Vigenere).

A retenir pour le CCNA

Ce qu’il faut rete­nir pour le CCNA :

  • on peut sécu­ri­ser l’ac­cès à l’IOS avec la com­mande « enable pass­word… » mais le mot de passe est sto­cké en clair dans la configuration
  • on peut alors chif­frer ce mot de passe avec la com­mande « ser­vice pass­word-encryp­tion » mais cet algo­rithme n’est plus fiable aujourd’hui
  • Cis­co recom­mande à ce jour de rem­pla­cer la com­mande « enable pass­word » par la com­mande « enable secret »

4 Commentaires

  1. Clair et concis comme d’habitude 😉

    Juste un petit mot quant au fait qu’il est pos­sible d’a­voir à la fois un « enable pass­word » et un « enable secret » confi­gu­ré simul­ta­né­ment… auquel cas, l’IOS uti­li­se­ra le mot de passe défi­ni par « enable secret ».

    Je me sou­viens avoir eu une ques­tion à ce sujet lorsque j’ai pas­sé l’ICND1… cela date un peu main­te­nant, mais sait-on jamais.

    En tout cas bra­vo pour la qua­li­té constante de tes articles.

    • Salut Steve,
      Tu as tout à fait rai­son sur les 2 points : « enable secret » a une pré­cé­dence sur « enable pass­word » et c’est aus­si une ques­tion du CCNA.
      Avis à ceux qui révisent en ce moment 😉

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Les plus populaires