Bienvenue à tous dans cette nouvelle partie !
Votre réseau est enfin prêt… à se faire pirater ! Le piratage informatique n’est pas une menace qu’il faut prendre à la légère. Vous ne savez ni quand ni comment, mais ce dont vous pouvez être sûr, c’est que cela arrivera tôt ou tard. La seule chose à faire est donc de vous y préparer en sécurisant votre réseau. C’est ce que nous allons voir dans cette dernière partie qui clôt notre cours.
Dans ce premier chapitre, je vous propose de vous intéresser aux sécurités à mettre directement sur votre routeur, comme, par exemple, la création d’un mot de passe pour se connecter. Allez c’est parti !
Ne laissez pas n’importe qui entrer sur votre routeur !
L’une des premières choses à faire lorsque vous initialisez un routeur ou n’importe quel autre appareil informatique, est de lui attribuer un mot de passe. C’est une première barrière qui est indispensable et qu’il ne faut jamais oublier.
Sécurisez votre routeur avec un mot de passe
Connectez-vous à votre routeur et passez en mode configuration globale.
Entrez la commande suivante :
routeur1(config)#enable algorithm-type sha256 secret motDePasse
Cette commande vous permet de créer un mot de passe « motDePasse » avec comme algorithme de hachage pour le mode privilège.
Un algo-quoi ?
Avec un mot de passe, votre routeur est déjà beaucoup plus sûr qu’il ne l’était. Mais si vous voulez personnaliser les accès au routeur, il vous faut ajouter des utilisateurs.
Ajoutez des utilisateurs à votre routeur
Grâce à cette commande, vous pourrez ajouter de nouveaux utilisateurs et leur attribuer un mot de passe personnel.
routeur1(config)#username root secret motDePasse routeur1(config)#username root privilege 15
Vous venez de créer l’utilisateur root et lui avez attribué le mot de passe « motDePasse ». Le niveau de privilège 15 correspond au niveau maximum, c'est-à-dire que l'utilisateur root a tous les droits.
Si votre identifiant et votre mot de passe sont bien créés, ils doivent apparaître dans votre fichier running-config. C’est l’occasion de vous montrer une petite astuce issue du monde Linux.
routeur1#sh run | include root username root secret 5 $1$Hhaj$C8snhugXlECuGOXw7ESyH1
L’abréviationsh run
, vous la connaissez déjà. Pour les adeptes de Linux, la seconde partie saute aux yeux. Le | est ce que l’on appelle un pipe, il permet d’ajouter une seconde commande à la suite de la première. Le include
est l’équivalent (en plus explicite) du grep
de Linux. Il permet de rechercher un mot.
Ici, vous recherchez dans votre fichier running-config une ligne comportant le mot « root ».
routeur1#sh run | include secret enable secret 8 $8$YaeVxnMk1NrPmM$MEM.byxAMKm4jqWcsntvkM8YuRenKe/VZDUbs75jzjc username root secret 8 $8$glaDs7VxNw.5kM$28W5nuICLbErtowhi5sgtFWpqnUF819XhlJqH6uNtB
Avec cette commande, vous trouvez tous les mots de passe enregistrés dans votre fichier running-config.
Je me connecte à mon routeur, mais on ne me demande pas de mot de passe, que se passe-t-il ?
Vous venez bien de créer un utilisateur et un mot de passe pour passer en mode administration, mais pas sur le chemin que vous utilisez.
Ajoutez de la sécurité sur chaque port du routeur
Nous l’avons déjà évoqué, mais lorsque vous vous connectez à votre routeur par Cisco Packet Tracer, celui-ci simule une connexion locale physique, comme si vous vous branchiez directement sur le port série du routeur. Pour le vérifier, tapez exit sur votre routeur jusqu’à sortir du CLI. Vous devez apercevoir ceci :
routeur1 con0 is now available Press RETURN to get started.
C’est la première ligne qui nous intéresse. Elle nous dit que routeur 1 est accessible via con0.
On peut savoir ce que c’est con0 ?
Il s’agit justement du port console du routeur. Mais ce n’est pas le seul port sur votre routeur. Pour les voir, tapez la commande show line
sur votre routeur.
routeur1#sh line Tty Typ Tx/Rx A Modem Roty AccO AccI Uses Noise Overruns Int * 0 CTY - - - - - 0 0 0/0 - 1 AUX 9600/9600 - - - - - 0 0 0/0 - 578 VTY - - - - - 0 0 0/0 - 579 VTY - - - - - 0 0 0/0 - 580 VTY - - - - - 0 0 0/0 - 581 VTY - - - - - 0 0 0/0 - 582 VTY - - - - - 0 0 0/0 - Line(s) not in async mode -or- with no hardware support: 2-57
Ce que vous voyez à l’écran sont les ports du routeur. On les appelle TTY line :
La première CTY est le port console. Le con0 qui apparaît sur votre écran.
La deuxième AUX est un port auxiliaire.
La troisième VTY est un port virtuel, il ne correspond à aucun matériel physique. C’est un port logiciel.
Il en manque une dernière que vous verrez sur d’autres routeurs CISCO. Il s’agit des lignes TTY, des lignes asynchrones (utilisées pour les longues distances). Ces ports correspondent à un matériel installé sur le routeur. Ici rien n’est installé, vous ne disposez que du matériel de base, le port console, l'auxiliaire et les ports virtuels.
Il va donc falloir que vous associiez vos mots de passe à un port :
Au cty ou con0 pour le port console et les utilisateurs qui se connecteront directement sur le routeur.
Au vty pour les utilisateurs qui se connecteront par telnet ou ssh.
Commencez par le port console, où vous allez d’abord configurer un mot de passe unique, sans utilisateur, puis vous associerez les mots de passe que vous avez créés au routeur. Vous pouvez ainsi vous connecter au routeur et entrer ces commandes :
routeur1#conf t routeur1(config)#line con 0
Vous passez en mode configuration line, sur le port con0 ou cty0.
routeur1(config-line)#password motDePasse
Vous associez le mot de passe motDePasse...
routeur1(config-line)#login
...au login.
routeur1(config-line)#end
Il vous suffit de sortir du CLI et d’y entrer de nouveau pour tester.
Vérifiez ce que vous venez de faire en regardant votre running-config.
! line con 0 exec-timeout 0 0 privilege level 15 password motDePasse logging synchronous login
Vous devez apercevoir ceci tout en bas. Il s’agit de vos ports et le port con0 est associé à un mot de passe motDePasse au login. Avec cette méthode le mot de passe est unique, rien à voir avec les utilisateurs que vous avez créés. Regardez comment faire pour les associer :
routeur1#conf t Enter configuration commands, one per line. End with CNTL/Z. routeur1(config)#line con 0 routeur1(config-line)#login local
C’est cette ligne qui associe les utilisateurs que vous avez créés au port 0. Vous devrez cette fois-ci entrer :
l’utilisateur et son mot de passe,
le mot de passe pour passer en mode privilège.
C’est déjà une bonne sécurité. Mais il y a de fortes chances qu’un pirate ne se donne pas la peine de venir jusque dans vos locaux pour tenter de pirater vos routeurs. Il en est de même pour les administrateurs du routeur. En effet, il vous faut configurer un accès sécurisé à distance, j’ai nommé SSH bien sûr.
Configurez un accès sécurisé à distance
Pour configurer SSH sur votre routeur, vous avez besoin de plusieurs choses :
Une paire de clés publique/privée ;
Un nom de domaine pour générer ces clés ;
L’activation de SSH sur les ports virtuels (vty 0 à 4).
Vous allez devoir d’abord créer un nom de domaine pour votre routeur.
routeur1(config)#ip domain-name mondomain.lan
Une fois cela effectué, créez la paire de clés nécessaire au fonctionnement de SSH.
routeur1(config)#crypto key generate rsa The name for the keys will be: routeur1.mondomain.lan Choose the size of the key modulus in the range of 360 to 4096 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: 2048 % Generating 2048 bit RSA keys, keys will be non-exportable... [OK] (elapsed time was 2 seconds
Vous allez ensuite activer la version 2 de SSH,
routeur1(config)#ip ssh version 2
Passez en mode line sur les vty 0 à 4, pour configurer les VTY (les ports virtuels utilisés pour SSH) de votre routeur.
routeur1(config)#line vty 0 4
Et activez uniquement SSH sur ces ports (telnet n’étant pas un moyen de transport sûr).
routeur1(config-line)#transport input ssh
Vous allez pouvoir utiliser les utilisateurs présents dans votre configuration.
routeur1(config-line)#login local routeur1(config-line)#end
Pour le tester vous pouvez soit ajouter une machine à votre maquette, ou si vous ne voulez pas l’alourdir (comme moi), vous pouvez vous y connecter depuis un autre routeur.
Pour cela, connectez-vous à n’importe quel autre routeur et entrez cette commande :
routeur2#ssh -l root 223.0.0.1
Cette commande lance une connexion SSH et -l
vous permet de spécifier l’utilisateur suivi de l’adresse IP du routeur.
Vos routeurs sont maintenant sécurisés par un mot de passe et accessibles par un protocole de communication des plus sûrs, SSH. Vous pourrez ainsi vous y connecter en toute sécurité et sans vous déplacer de votre fauteuil.
En résumé
Il est possible de créer des mots de passe pour sécuriser l’accès de vos routeurs.
Ces mots de passe peuvent être uniques ou différents pour chaque utilisateur.
L’accès avec mot de passe se configure au niveau d’une entrée du routeur. Ces entrées s’appellent line. Il en existe quatre types :
CTY pour les ports console.
AUX pour les ports auxiliaires.
TTY pour les ports asynchrones.
VTY pour les ports virtuels permettant d’utiliser SSH par exemple.
Pour créer un mot de passe unique, il faut entrer en mode configuration-line :
routeur1(config)#line con 0
routeur1(config-line)#password motDePasse
routeur1(config-line)#login
Pour créer un mot de passe associé à un utilisateur vous devez d’abord créer un utilisateur puis spécifier dans la ligne que les utilisateurs locaux y ont accès :
routeur1(config)#username root secret motDePasse
routeur1(config)#line con 0
routeur1(config-line)#login local
La façon la plus sécurisée de vous connecter à vos routeurs est d’utiliser SSH. Pour cela, vous devez créer un nom de domaine, une paire de clés publiques/privée et renseigner dans les lignes virtuelles (vty) que SSH est utilisé :
routeur1(config)#ip domain-name mondomain.lan
routeur1(config)#crypto key generate rsa
routeur1(config)#ip ssh version 2
routeur1(config)#line vty 0 4
routeur1(config-line)#transport input ssh
routeur1(config-line)#login local