Lolokai – Supervision, systèmes, réseaux, base de données…

7

Sécuriser l’administration distante de son équipement Cisco

Loic FONTAINE 30 mai 2011

Beaucoup d’équipements cisco sont dit : « manageables », cela signifie qu’ils peuvent être configuré via une interface : interface web, ligne de commandes, Cisco SDM ….
Cependant, l’accès à ces interfaces d’administration doit être contrôler afin d’éviter qu’une personne non autorisé puisse compromettre notre configuration. Dans ce billet, nous traiterons uniquement le cas de l’accès distant, c’est à dire le cas où nous n’avons pas d’accès physique à notre équipement.

IOS et ses modes de configuration

IOS (Internetwork Operating System) est un des systèmes d’exploitation utilisé par beaucoup d’équipements Cisco afin de permettre la configuration de ceux-ci. 4 modes de configurations sont disponibles :

  • User mode : Qui est le premier mode de configuration de votre équipement. Ce mode permet d’obtenir certaines informations sur votre équipement, il permet aussi via la commande enable d’accéder au mode privilégié. Prompt : Router>
  • Privilegied mode : Le second mode de configuration, qui vous permet de voir toutes la configuration de votre équipement, d’écrire dans la NVRAM, dans la flash….de modifier l’heuren d’accéder au mode de configuration globale via la commande : configure terminal. Prompt : Router#
  • Global mode : Le mode de configuration globale qui permet de configurer votre équipement de manière général. Qui vous permet aussi d’accéder à un des mode de configuration spécifique. Prompt : Router(config)#
  • Specific mode : Le mode de configuration spécifique est propre à chaque fonctionnalités de votre équipement. Par exemple, vous aurez un mode de configuration pour vos vlans, un mode de configuration pour vos protocoles de routages, un mode de configuration pour vos lignes VTY…

Pour revenir au mode de configuration précédent, vous devez entrer la commande : exit.

Sécuriser l’accès à distance

Nous souhaitons pouvoir administrer à distance notre équipement, nous allons dans un premier temps protéger nos accès par des mots de passes « forts » (c’est à dire au minimum 14 caractères, comprenant des majuscules, des minuscules, des caractères spéciaux et des chiffres), permettre de gérer notre équipement via le protocole Telnet (nous passerons en SSH dans le sous-chapitre suivant), chiffrer ces mots de passes dans la base de données locale.

Dans un premier temps, nous devons configurer un mot de passe pour accéder au mode privilégié, le mot de passe sera « [email protected]& » :

Router(config)# enable password [email protected]&

Configurons maintenant l’accès distant via Telnet avec pour mot de passe : « Jug[@[email protected] »

Router(config)# line vty 0 15
Router(config-line)# password Jug[@[email protected]
Router(config-line)# login
Router(config-line)# exit

Enfin, chiffrons tous les mots de passe :

Router(config)# service password-encryption

Sécuriser le protocole de communication

Pour le moment l’administration de notre équipement se fait via le protocole de communication : Telnet. Le problème de ce protocole est qu’il est peu sécurisé car il laisse passer les informations en clair à travers le réseau (cela inclus les mots de passes). Nous allons donc maintenant configurer notre équipement pour pouvoir l’administrer via le protocole SSH. Pour cela, nous devons changer le nom d’hôte de notre équipement, lui attribué un nom de domaine, générer les clés RSA pour le chiffrement des données et enfin configurer le protocole SSH. Les commandes à taper sont les suivantes :

Router(config)# hostname MonRouteur
MonRouteur(config)# ip domain-name lolokai.local
MonRouteur(config)# crypto key generate rsa modulus 1024
MonRouteur(config)# line vty 0 15
MonRouteur(config-line)# transport input ssh
MonRouteur(config-line)# exit

Configurons maintenant quelques spécificités du protocole SSH : nous devons utilisé la version 2, configurer le time-out, configurer le nombre d’essais :

MonRouteur(config)# ip ssh version 2
MonRouteur(config)# ip ssh time-out 90
MonRouteur(config)# ip ssh authentication-retries 3

Nous pouvons maintenant utiliser SSH pour nous connecter à notre équipement.

Se protéger davantage

Nous pouvons demander un couple utilisateur/mot de passe pour la connexion à notre équipement. Pour cela nous allons configurer un utilisateur « Admin01″  avec le mot de passe « Lh7I[[email protected]/b » pour la connexion distante.

MonRouteur(config)# username Admin01 secret Lh7I[[email protected]/b
MonRouteur(config)# line vty 0 15
MonRouteur(config-line)# login local
MonRouteur(config-line)# exit

Pour limiter les risques de brute-force au niveau de notre équipement, nous allons configurer notre équipement de manière à ce qu’il bloque pendant quelques secondes la communication avec un utilisateur qui ne réussirait pas à s’authentifier. Dans la ligne de code ci-dessous nous empecherons le login pendant 60 secondes d’un utilisateur distant qui aurait essayé de s’authentifier 3 fois sans succès durant les 5 dernières secondes.

MonRouteur(config)# login block-for 60 attempts 3 within 5

Qui essaye d’accéder à mon équipement ?

Via le protocole syslog, nous allons enregistrer toutes les tentatives de connexion à notre équipement. Nous allons dans un premier temps configurer l’adresse de notre serveur syslog, puis dire à notre équipement d’envoyer un évenement au serveur si quelqu’un réussit ou ne réussit pas à se connecter avec succès à notre équipement.

MonRouteur(config)# logging host [adresse_ip_du_serveur_syslog]
MonRouteur(config)# logging on
MonRouteur(config)# login on-success log
MonRouteur(config)# login on-failure log

Loic FONTAINE

Tagged with: , , , , ,

Comments (7)

  1. Pingback: Sécuriser l’administration distante de son équipement Cisco – FONTAINE Loïc

  2. Au passage, un « enable secret » ne serait pas mieux ? Il me semble que la commande « enable password » ne hash pas le mot de passe dans le fichier de conf.

    Répondre

Laisser un commentaire

Login to your account

Can't remember your Password ?

Register for this site!