User Tools

Site Tools


informatique:cisco:securiser_un_routeur

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
informatique:cisco:securiser_un_routeur [2009/07/13 20:35] – créée pteuinformatique:cisco:securiser_un_routeur [2009/07/16 05:49] – Resilient configuration feature pteu
Line 2: Line 2:
  
 ======Sécuriser un routeur Cisco====== ======Sécuriser un routeur Cisco======
 +
  
 Par sécurité, comme sur tout système informatique, la sécurité dicte de désactiver tout ce qui ne sert pas afin d'éviter que cela ne serve à une personne malintentionnée. Il s'agit donc, sur un routeur, de désactiver les services inutiles (beaucoup sont activés par défaut) et les interfaces inutilisées. Par sécurité, comme sur tout système informatique, la sécurité dicte de désactiver tout ce qui ne sert pas afin d'éviter que cela ne serve à une personne malintentionnée. Il s'agit donc, sur un routeur, de désactiver les services inutiles (beaucoup sont activés par défaut) et les interfaces inutilisées.
  
-La fonctionnalité Cisco AutoSecure permet d'"auditer" la configuration d'un routeur afin de détecter les éventuelle failles de sécurité ; il existe 2 modes :+ 
 +=====Cisco AutoSecure (CLI)===== 
 + 
 +La fonctionnalité **Cisco AutoSecure** permet d'"auditer" la configuration d'un routeur afin de détecter les éventuelle failles de sécurité ; il existe 2 modes :
   * le mode interacif qui fait des propositions que l'administrateur valide ou non   * le mode interacif qui fait des propositions que l'administrateur valide ou non
   * le mode non-interactif qui applique automatiquement les bonnes pratiques (pas très conseillé)   * le mode non-interactif qui applique automatiquement les bonnes pratiques (pas très conseillé)
Line 17: Line 21:
  
 => n'affecte que le management/forwarding plane ; en mode interactif (par défaut) ou non ; précise la configuration du ntp/login/ssh/firewall ou tcp-intercept. => n'affecte que le management/forwarding plane ; en mode interactif (par défaut) ou non ; précise la configuration du ntp/login/ssh/firewall ou tcp-intercept.
 +
 +
 +=====Security Audit (SDM)=====
 +
 +C'est un fonction accessible via la SDM qui compare la configuration courante du routeur à une base de bonnes bonnes pratiques. Il existe 2 possibilités :
 +  * **security audit** : la configuration est passée en revue et chaque point négatif est afficher ; on peut alors "corriger" le point négatif ("fix it !") ou ne rien faire.
 +  * **one-step lockdown** : analyser et appliquer les paramètres recommandés sans interaction avec l'utilisateur.
 +
 +=====Configuration=====
 +
 +====Politique de sécurité====
 +
 +  * Imposer des mots de passe d'au moins 10 caractères (on peut aller de 0 à 16) :
 +
 +  security passwords min-length 10
 +
 +  * Chiffrer les mots de passe écrits dans la configuration :
 +
 +  service password-encryption
 +
 +Ils n'apparaissent plus en clair dans la conf :
 +  password 7 051F091B2E
 +
 +7 indique que l'algorithme utilisé est celui propriétaire Cisco (peu fiable)
 +5 indique un hash MD5 (c'est le cas du ''enable secret'' ; un peu plu secure)
 +
 +  * utiliser le mot clé ''secret'' à la place de ''password'' afin de hasher le mot de passe en MD5 dans la configuration, par exemple :
 +
 +  enable secret toto
 +  [..]
 +  username toto secret toto
 +
 +  * Désactiver l'accès au ROMMON par la console (pas conseillé car cela désactive la procédure de récupération du mot de passe !) :
 +
 +  no service password-recovery
 +
 +  * Pour imposer un temps (ici de 10 secondes) entre chaque tentative de login :
 +
 +  login delay 10
 +
 +  * Par défaut, les routeurs Cisco permettent 10 tentatives de login infructueuses avant d'initier un délai de 15 secondes pour la prochaine tentative. Pour modifier le seuil de tentatives infructueuses (et émettre un message dans le syslog) à 5 :
 +
 +  security authentication failure rate 5 log
 +
 +  * Pour éviter les attaques par force brute, on peut bloquer les tentatives de login après un certains seuil d'échec par unité de temps : par exemple pour bloquer les logins pendant 100 secondes si on atteint plus de 3 échecs de login en 10 secondes :
 +
 +  login block-for 100 attemps 3 within 10
 +
 +On peut définir une ACL dont les IPs qui matchent ne déclencheront pas le blocage des logins, et qui, même une fois le routeur bloqué, pourront quand même se logguer dessus. En clair cela permet d'outrepasser la commande ''block-for'' :
 +
 +  login quiet-mode access-class MYACL
 +
 +  * On peut logguer/émettre un trap avec le résultat des tentatives de login, et même déterminer un seuil :
 +  login on-success log [every 10]
 +  login on-failure trap
 +
 +  * définir un timeout d'inactivité (idle timeout) : ''exec-timeout minutes [seconds]'' en mode (config-line) ; pour supprimer le timeout on spécifit 0 (! pas conseillé car cela bloc la ligne) :
 +
 +  exec-timeout 0
 +
 +=====Les privilèges=====
 +
 +Il y a 16 niveaux de privilèges :
 +  * le 0 qui est le "user-mode"
 +  * le 15 qui est le "enable-mode" ou mode privilégié
 +  * les niveaux intermédiaires, de 1 à 14, qui peuvent être configurés
 +
 +Pour configurer un mode de privilège, on doit lui attribuer un mot de passe et des droits : ''privilege //mode// {level //level command// | reset //command//}'' ; par exemple pour le 2 on lui donne le mdp "toto" ; ce mode n'aura le droit qu'à la commande ''ping'' :
 +  privilege exec level 2 ping
 +  enable secret level 2 toto
 +
 +Pour accéder à ce mode, un utilisateur doit se logguer en mode utilisateur (normal), puis taper ''enable 2''. Pour voir ses privilèges du mode courant, on utilise :
 +  show privilege
 +   Current privilege level is 2
 +
 +
 +=====Les vues=====
 +
 +Les vue permettent d'étendre les possibilités des privilèges (et de palier à leurs limitations). Pour créer une vue, qui permet de limiter les commandes vues par un utilisateur, il faut créer un nouveau modèle aaa (mot-à-mot :/), et activer la root view (c'est le mot de passe enable) :
 +  conf t
 +   aaa new-model
 +  enable view
 +
 +Puis on créer la vue premiere_view, on lui affecte un mot de passe et on lui attribut des droits sur les commandes :
 +  parser view premiere_vue
 +   secret mon_mdp
 +   commands exec include show version
 +  ! 
 +  parser view seconde_vue
 +   secret second_mdp
 +   commands exec include show ip interface brief
 +
 +On peut créer des super vues qui aggrèges les droits de plusieurs vues ; pour cela on ajoute le mot clé superview lors de la création de la vue :
 +  parser view super_vue superview
 +   secret superview_mdp
 +   view premiere_vue
 +   view seconde_vue
 +
 +
 +=====Resilient configuration feature=====
 +
 +Fonctionnalité d'IOS qui permet de conserver une version "safe" de l'image IOS et/ou de la running-config afin de contrecarrer la compromission du routeur. La facilité de restauration de la version safe permet de réduire le //downtime//.
 +
 +Activer la résilience de l'image IOS :
 +  secure boot-image
 +
 +Pour la configuration :
 +  secure boot-config
 +
 +Pour restaurer l'IOS : démarrer en rommon puis :
 +  rommon 1 >boot disk0:<imageIOS>
 +
 +Pour restaurer la conf :
 +  secure boot-config restore slot0:rescue
 +  copy slot0:rescue running-config
 +
 +Vérif :
 +  show secure bootset
 +
 +=====Vérifs=====
 +
 +  show login [failure]
informatique/cisco/securiser_un_routeur.txt · Last modified: 2014/02/07 14:29 by pteu