Il va être abordé :

  • un mot de passe pour l’accès en port console
  • une mise en œuvre d’un accès SSH pour une administration à distance
  • la création de comptes d’administration

I L’accès console via le port console

L’accès console permet de se connecter au switch via un port dédié. Il est le plus souvent de type série. C’est par ce port que la configuration du switch va être effectuée. Par défaut, l’accès se fait authentification.

Le but est d’en définir.

I.1 Une bannière

Mais avant de configurer une authentification, il sera intéressant de mettre une bannière.

Suivant les switchs ou routeurs CISCO les paramètres du « banner » seront plus ou moins fins.

Exemple pour un switch 2960 :

Switch_01(config)#banner ?
  motd  Set Message of the Day banner

Exemple pour un switch 3650 :

Switch(config)#banner ?
  login  Set login banner
  motd   Set Message of the Day banner

Donc pour une première bannière à l’ouverture de session :

Switch#configure terminal 
Switch(config)#banner motd "Bienvenue sur le Switch. Attention aux modifications !"

Ce qui donne au démarrage donne l’écran suivant :

Switch con0 is now available

Press RETURN to get started.

Bienvenue sur le Switch. Attention aux modifications !

Switch>

I.2 Mot de passe

I.2.1 Implémentation d’un mot de passe

La manière la plus simple est la suivante :

Switch_01#conf t
Switch_01(config)#enable password test

A partir de maintenant un mot de passe sera demandé non pas à l’ouverture de session mais au passage dans le mode privilégié (après enable) :

Switch_01 con0 is now available

Press RETURN to get started.


Bienvenue sur le Switch : faire attention 

Switch_01>enable
Password: 
Switch_01#

I.2.2 Mot de passe chiffré

Cependant le mot de passe n’est pas chiffré comme on peut le voir dans la configuration du switch :

Switch_01#show running-config 
Building configuration...

Current configuration : 2394 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch_01
!
enable password test
!
....

Ainsi pour ajouter un mot de passe qui soit chiffré :

Switch_01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch_01(config)#enable secret test2
Switch_01(config)#exit

Nous avons maintenant 2 mot de passe : un chiffré et un en clair

Switch_01#show running-config 
Building configuration...

Current configuration : 2441 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch_01
!
enable secret 5 $1$mERr$6JAcKA4./sQ7vpEDnPE0X0
enable password test
!
....

I.2.3 Suppression d’un mot de passe

Pour supprimer le mot de passe en clair :

Switch_01#conf t
Switch_01(config)#no enable password 

Ainsi dans la configuration est la suivante :

Switch_01#show running-config 
Building configuration...

Current configuration : 2420 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch_01
!
enable secret 5 $1$mERr$6JAcKA4./sQ7vpEDnPE0X0
!
...

I.2.4 Chiffrer automatiquement les mots de passe

Pour être sur que les mots de passes seront chiffrés, il est possible d’activer le service « pasword-encryption »

Mais avant enlevons tous les mots de passes :

Switch_01#conf t
Switch_01(config)#no enable secret
Switch_01(config)#no enable password 

Activons le service :

Switch_01#conf t
Switch_01(config)#service password-encryption

Définissons un mot de passe :

Switch_01#conf t
Switch_01(config)#enable password test

Vérifions :

Switch_01#show running-config 
Building configuration...

Current configuration : 2399 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Switch_01
!
enable password 7 0835495D1D
!
...

Enfin nous pouvons avoir également un deuxième mot de passe :

Switch_01#conf t
Switch_01(config)#enable secret test2

Ce qui donne :

Switch_01#show running-config 
Building configuration...

Current configuration : 2446 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Switch_01
!
enable secret 5 $1$mERr$6JAcKA4./sQ7vpEDnPE0X0
enable password 7 0835495D1D
!
...

II L’accès console via SSH

II.1 Préparation

Tout d’abord il faut donner une adresse IP au switch. Plus précisément à un VLAN (ici le 20) :

Switch_01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch_01(config)#interface vlan 20
Switch_01(config-if)#ip address 192.168.0.254 255.255.255.0
Switch_01(config-if)#no shutdown 
Switch_01(config-if)#exit

Ensuite il faut configurer un nom et un nom de domaine. Ci dessous pour le nome de domaine :

Switch_01#configure terminal 
Switch_01(config)#ip domain-name domaine.local

II.2 Installation du service SSH

Création d’une clé :

Switch_01#conf t
Switch_01(config)#crypto key generate rsa general-keys modulus 1024
The name for the keys will be: Switch_01.domaine.local
% The key modulus size is 1024 bits
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
*mars 4 15:9:38.655: %SSH-5-ENABLED: SSH 1.99 has been enabled

Activation du service ssh :

Switch_01#conf t
Switch_01(config)#ip ssh version 2

II.3 Création des comptes

La création de compte se fait comme suivant :

Switch_01#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch_01(config)#username admin1 secret test
Switch_01(config)#username admin2 secret test

Pour vérifier la présence de comptes : show running-config

Switch_01#show running-config 
Building configuration...

Current configuration : 2519 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Switch_01
!
enable secret 5 $1$mERr$6JAcKA4./sQ7vpEDnPE0X0
enable password 7 0835495D1D
!
!
!
ip ssh version 2
ip domain-name domaine.local
!
username admin1 secret 5 $1$mERr$126VWMuSfhXn9GAlqkjPo/
username admin2 secret 5 $1$mERr$126VWMuSfhXn9GAlqkjPo/
!
...

Pour supprimer un compte :

Switch_01#conf t
Switch_01(config)#no username admin2

III.4 Forcer en SSH à s’authentifier

Par défaut, l’accès SSH est ouvert, c’est à dire qu’il ne demande pas à s’authentifier.

C’est au niveau des terminaux virtuels (vty) qu’il faut forcer une connexion par loggin/mot de passe. Au passage les commandes possibles sur les suivantes :

Switch_01(config)#line vty 0 15
Switch_01(config-line)#?
Virtual Line configuration commands:
  access-class  Filter connections based on an IP access list
  databits      Set number of data bits per character
  exec-timeout  Set the EXEC timeout
  exit          Exit from line configuration mode
  flowcontrol   Set the flow control
  history       Enable and control the command history function
  logging       Modify message logging facilities
  login         Enable password checking
  motd-banner   Enable the display of the MOTD banner
  no            Negate a command or set its defaults
  parity        Set terminal parity
  password      Set a password
  privilege     Change privilege level for line
  speed         Set the transmit and receive speeds
  stopbits      Set async line stop bits
  transport     Define transport protocols for line

Donc nous aurons la commande suivante :

Switch_01(config-line)#login local

Ainsi en ligne de commande, depuis un terminal :

C:\>ssh -l admin1 192.168.0.254

Password: 
% Login invalid

Password: 

Bienvenue sur le Switch : faire attention 

Switch_01>

Ensuite on va faire en sorte que les accès par terminaux virtuels ne se fassent qu’en SSH :

Switch_01(config-line)#transport input ?
  all     All protocols
  none    No protocols
  ssh     TCP/IP SSH protocol
  telnet  TCP/IP Telnet protocol
Switch_01(config-line)#transport input ssh

III.5 Quelques options supplémentaires

Nous allons forcer un temps de session de 60s :

Switch_01#conf t
Switch_01(config)#ip ssh time-out 60

Puis n’accepter que 5 tentatives de connexion

Switch_01#conf t
Switch_01(config)#ip ssh authentication-retries 5

IV Accès console via port console : authentification par utilisateur

Nous avons vu précédemment comment activer l’accès par compte et mot de passe en SSH. Nous allons faire de même lors de l’utilisation du port console :

Switch_01#conf t
Switch_01(config)#line console 0
Switch_01(config-line)#login local

Ainsi en début de connexion nous aurons :

Switch_01 con0 is now available



Press RETURN to get started.




Bienvenue sur le Switch : faire attention 

User Access Verification

Username: admin1
Password: 

Switch_01>

V Journalisation des logs

Nous allons voir comment récupérer les messages d’alertes sur un serveur syslog dédié.

Ce serveur syslog aura l’adresse IP 192.168.0.110.

Dans un premier temps il faut définir le type de message à logguer. Dans notre cas il n’ya qu’un seul type. Cependant, sur un swicth physique, il existe différents niveaux (alerts, criticals, warning, etc.)

Switch_01#conf t
Switch_01(config)#logging trap ?
  debugging  Debugging messages                (severity=7)
  <cr>

Donc dans notre cas :

Switch_01(config)#logging trap debugging 

Ensuite on déclare le serveur syslog :

logging host 192.168.0.110

C’est tout avec packet tracer. Avec un switch physique il est également possible de définir des tag pour les trames envoyées au serveur.

VI Pour aller plus loin…

Tout ce qui a été abordé est une ébauche. Pour aller plus loin dans la sécurisation des switchs, il est conseillé de lire la note technique de l’ANSI particulièrement bien détaillée : lien

Packet tracer : SSH et un peu sécurité sur un switch

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *