Premiers pas dans la configuration de Cisco IOS
Dans le cadre de ce cours, nous avons pour objectif de mettre en œuvre une configuration de base minimale sur Cisco IOS. Pour rappel, voici la configuration attendue et à effectuer sur Packet Tracer :
- Donner un nom à l'appareil
- Définir un mot de passe pour l'accès au mode d'exécution privilégié
- Définir un mot de passe pour la ligne console
- Définir un mot de passe pour les lignes vty
- Chiffrer les mots de passe dans la configuration
- Définir un message de bannière à la connexion
Commençons par entrer en mode de configuration de terminal :
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Remarquez encore une fois le changement d'invite de commande. Je ne vais pas lister les commandes ici, vous pouvez le faire si vous le souhaitez.
Sommaire
I. Nommer un switch ou un routeur Cisco
Nous allons commencer par la base : nommer notre switch. Il s'appelle pour l'instant "Switch", ce qui n'est certes pas très original, mais également pas très pratique. Si vous n'en avez qu'un seul, pourquoi pas, mais si vous en avez 20 et qu'ils s'appellent tous switch... De plus, impossible de configurer SSH sans nom !
Nous allons appeler ce premier switch "SW-1", ceci se fait avec la commande "hostname" :
Switch(config)#hostname SW-1
SW-1(config)#
Immédiatement, l'invite s'est modifiée avec le nouveau nom du switch ! Dans un exercice Packet Tracer, la petite étape supplémentaire non obligatoire, mais que je vous conseille est de modifier aussi l'étiquette de l'appareil pour la faire correspondre au nom, ce qui se fait simplement en cliquant sur le nom actuel et en tapant le nouveau :
II. Définir un mot de passe pour le mode d'exécution privilégié
Bien, commençons à sécuriser un peu l'appareil en mettant un mot de passe au mode d'exécution privilégié. Tout à l'heure, il vous a suffit de taper "enable" pour entrer dans ce mode. Pas très sécurisé comme pratique ! Pour protéger ce mode, il suffit de taper la commande "enable secret" suivi du mot de passe souhaité :
SW-1(config)#enable secret superpassword
Mon mot de passe sera donc "superpassword". Notez qu'il existe aussi la commande "enable password", mais il est déconseillé de l'utiliser, car elle enregistre le mot de passe en clair, contrairement à secret qui le chiffre dans la configuration.
Pour tester, tapez "exit" deux fois pour retourner au mode utilisateur, puis tapez de nouveau "enable" pour entrer en mode d'exécution privilégié. Le terminal va vous demander le mot de passe.
SW-1>enable
Password:
SW-1#
Note : le mot de passe n'apparaît pas quand vous le tapez, pas même sous forme d'étoiles. C'est tout à fait normal.
Retournez en mode de configuration de terminal, mais cette fois, vous ne taperez que "conf t" :
SW-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW-1(config)#
Et, ça marche ! IOS prend en charge les commandes réduites, il n'est donc pas obligé de les taper en entier ! Une seule condition à cela, il faut que suffisamment de lettre soit tapée avant d'envoyer la commande, sinon, le terminal ne saura pas ce que vous voulez dire. Ici, j'ai tapé "conf" comme commande puis "t" comme argument. Si j'avais tapé "con t" (sans le "f") :
SW-1#con t
% Ambiguous command: "con t"
Il ne sait pas ce que je veux lui dire, car plusieurs commandes commencent par "con", il est possible de les lister en tapant d'ailleurs "con?" (sans espace avant le point d'interrogation), ce qui nous donne :
SW-1#con?
configure connect
La version la plus réduite utilisable est donc "conf". Pour l'argument, "terminal" étant le seul commencant par "t", je peux n'utiliser que cette lettre.
III. Définir un mot de passe pour la ligne console
Revenons à notre configuration. Troisième étape, la protection de la ligne console. En vous connectant, vous avez été directement en mode utilisateur. Bien que ce mode soit limité, il convient tout de même de la protéger avec un mot de passe, et sis possible pas le même que le mode d'exécution privilégié !
Pour cela, il faut aller configurer la ligne console. Pour rappel, c'est la méthode d'accès à la CLI qui est utilisée quand on est connecté à l'interface console. Il faut donc entrer en mode de configuration de ligne. Pour cela, il faut juste taper le type (ici "line"), le nom (ici "console") et son numéro.
Comme il n'y en a qu'une, son numéro est "0", ce qui nous donne la commande suivante :
SW-1(config)#line console 0
SW-1(config-line)#
Note : si vous avez été déconnecté ou que vous reprenez à cette étape, souvenez-vous que le modèle hiérarchique vous impose de passer par les différents modes pour accéder à certaines fonctionnalités. Ainsi, la commande ci-dessus ne fonctionnera que si vous êtes déjà en mode de configuration de terminal !
Remarquez que l'invite de commande a de nouveau changé pour spécifier que nous sommes bien en mode de configuration de ligne. Ici, nous allons configurer un mot de passe et activer l'authentification.
Pour la première étape, la commande est password, suivie du mot de passe désiré :
SW-1(config)#line console 0
SW-1(config-line)#password Get0ut!
Le mot de passe sera donc "Get0ut!", mais ce n'est pas terminé. Le mot de passe a été spécifié, mais nous n'avons pas demandé au switch de le demander à la connexion, pour cela, il faut taper la commande "login" :
SW-1(config-line)#login
Maintenant le mot de passe est actif, d'ailleurs, tapez la commande "exit" 3 fois de suite pour sortir complètement jusqu'à la phrase "Press RETURN to get started !" puis appuyez sur Entrée :
Press RETURN to get started!
User Access Verification
Password:
SW-1>
Le mot de passe est bien demandé. Retournons au mode d'exécution privilégié, car j'aimerais vous montrer quelque chose :
SW-1>enable
Password:
SW-1#
Note : il est fréquent que les débutants se mélangent les pinceaux entre les différents mots de passe. Rappelez-vous que celui de la console a été configuré sur les lignes, tandis que celui du mode d'exécution privilégié l'a été avec la commande "enable secret".
Nous allons afficher la configuration en cours. C'est très pratique pour savoir où vous en êtes. Pour rappel, il y a deux fichiers de configuration, la "startup-config", qui est la configuration de démarrage et la "running-config" qui celle actuellement en cours sur le switch (ou le routeur).
Affichons dans un premier temps la seconde :
SW-1#show running-config
Une fois cette commande rentrée, vous verrez la configuration dans son ensemble. Remarquez plusieurs points que nous avons configurés (n'oubliez pas, Entrée pour descendre d'une ligne et Espace d'une "page") :
hostname SW-1
...
enable secret 5 $1$mERr$aRfPYlsUfv7rVGAwRp8XV.
...
line con 0
password Get0ut!
login
Vous constatez que le nom est bien inscrit et que le mot de passe du mode d'exécution privilégié est bien chiffré. Mais, attendez...! Celui de la console est en clair !
Ce n'est bien évidemment pas conseillé de le laisser en l'état, si cette configuration venait à être sauvegardée sur un support autre ou affichée, c'est la porte ouverte ! Retournez dans le mode de configuration de terminal pour activer le chiffrement des mots de passe avec la commande "service password-encryption" :
SW-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW-1(config)#service password-encryption
Maintenant, affichez de nouveau la configuration. Il est possible de le faire sans changer de mode en ajoutant "do" au début de la commande, ainsi nul besoin de faire "exit" pour revenir après :
SW-1(config)#do show running-config
Et, si on descend et vérifie :
line con 0
password 7 0806495A590C1156
login
Le mot de passe est bien masqué.
Affichez désormais la configuration de démarrage :
SW-1(config)#do show startup-config
startup-config is not present
Aïe ! Nous n'avons pas enregistré la configuration dans la NVRAM ! Si on éteint le switch ou en cas de coupure de courant, elle sera perdue ! Ceci nous amène à un autre conseil de ma part : sauvegardez dès que vous le pouvez. Surtout si vous travaillez sur une configuration complexe.
IV. Sauvegarder la configuration de Cisco IOS
Pour sauvegarder la configuration sur IOS, il existe deux commandes. Une assez explicite qui consiste à demander à IOS de copier le fichier en cours vers le fichier de démarrage (vous pouvez presque en déduire la commande), l'autre qui est plus ancienne et qui consiste à demander au switch d'écrire dans la mémoire (là encore, possible de deviner).
Les deux ont été conservées à des fins de rétrocompatibilité et font la même chose. À vous de choisir celle qui vous convient. À noter qu'elles se font toutes deux en mode d'exécution privilégiée (ou en "conf" mais avec "do").
Il est donc possible de demander :
SW-1#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
Cette commande demande la confirmation du nom de fichier de destination. Ou alors sa cousine :
SW-1#write memory
Building configuration...
[OK]
Pas de confirmation ici, mais le résultat est le même. Dans un souci d'efficacité (qui a dit "par fainéantise ?), il est possible grâce aux commandes réduite d'écrire :
SW-1#copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Ou :
SW-1#wr
Building configuration...
[OK]
Oui, oui, juste "wr" est suffisant, donc plus d'excuses pour ne pas sauvegarder ! Choisissez la méthode que vous voulez (n'oubliez pas le "do" si vous êtes resté en mode de configuration de terminal) et réaffichez la configuration de démarrage :
SW-1(config)#do show start
Mieux, notre configuration est désormais sauvegardée. Continuons.
V. Définir un mot de passe pour les lignes vty
Protégeons maintenant les lignes vty. Pour rappel, ces lignes sont activées lors d'un accès via le réseau en Telnet ou SSH. Un switch en compte 16 et un routeur 5. Nous sommes ici sur un switch, donc il y aura 16 lignes, numérotées de 0 à 15.
Cela signifie qu'il est en théorie possible pour 16 administrateurs de se connecter en même temps au switch (ce qui n'est pas très utile, j'en conviens). Comme pour la console, la commande doit spécifier le type et le numéro, on peut tout à fait mettre la plage en entier pour configurer toutes les lignes d'un coup :
SW-1(config)#line vty 0 15
Puis, ensuite, pas de changement, ce sont les mêmes commandes :
SW-1(config-line)#password Get0ut!
SW-1(config-line)#login
Note : il n'est pas nécessaire ici de retaper la commande "service password-encryption". Une fois tapée, les mots de passe suivants seront automatiquement chiffrés.
VI. Définir un message de bannière à la connexion
Il nous reste la dernière étape : le message de bannière. Ceci vient d'une disposition légale. En effet, il est important de rappeler à toute personne que s'introduire dans un système informatique sans permission n'est pas autorisé. C'est un peu comme les panneaux "Propriété Privée".
La commande pour faire ceci est "banner motd" suivi du message. MOTD veut dire Message Of The Day ou message du jour. Ce message ne doit pas inciter à entrer (comme "Bienvenue !") mais doit indiquer de manière claire que l'accès est retreint. Par exemple "Accès reservé au seul personnel autorisé".
Le message doit être entouré d'un symbole, cela peut être des guillemets, des dièses, ce que vous voulez, tant que le symbole n'est pas présent dans le message lui-même. Donc pour résumer :
SW-1(config)#banner motd "Acces reserve au seul personnel autorise"
Si je me déconnecte et que je reviens :
Acces reserve au seul personnel autorise
User Access Verification
Password:
Mon message apparaît bien ! Voilà, l'objectif est atteint : nous venons d'effectuer la configuration de base d'un premier switch. Il ne reste plus qu'à répéter ces actions sur les autres équipements.
Super les explications