User Tools

Site Tools


informatique:cisco:gestion_des_acces

Gestion des accès

Il existe différents types d'accès : l'accès série (port console ou auxiliaire) et l'accès distant (telnet ou ssh).

Pour la première configuration il faut se connecter au port console avec le câble fourni par Cisco. Sous Windows on ouvre l' Hyper terminal, on saisit un nom de connexion bidon, on clique sur “default” et on se connecte. Il faut parfois taper “entrée” pour activer l'affichage. Normalement si le switch n'est pas configuré il ne faut pas saisir de mot de passe pour se logguer ni pour passer en mode privilégié.

Switch> enable
Switch#

Compte utilisateur

La première chose à faire Pour plus de simplicité, on peut se passer de la commande enable en définissant le niveau d'exécution d'un utilisateur à 15 (enable).

Mode enable

En mode config on va saisir un nouveau mot de passe pour le mode privilégié. On a le choix entre, respectivement, le garder en clair dans la config ou le hacher :

Switch(config)# enable password <pwd>
Switch(config)# enable secret <pwd>

Si les 2 sont configurés, le enable secret est prioritaire ; c'est donc celui-là qu'il faudra saisir.

Pour plus de simplicité, on peut définir un utilisateur comme “superadmin”, il arrivera directement en mode enable après s'être loggué ; pour cela il suffit de préciser son niveau d'exécution à 15 (= enable) :

Switch(config)# username admin privilege 15 password 0 <mdp_admin>

Par la même occasion, on peut supprimer l'usage de la commande enable puisque les utilisateurs lambda n'en ont pas l'utilité, et “admin” n'en a plus besoin puisqu'il se connecte directement en mode privilégié.

Switch(config)#privilege exec level 15 enable
# NB : en fait on interdit l'usage de la commande "enable" aux utilisateurs de privilège < 15

Console

On veut mettre en place un mot de passe pour se connecter sur la ligne console (CTY) :

Switch(config)# line console 0
Switch(config-line)# login
Switch(config-line)# password <pwd>

login indique une authentification par mot de passe, password précise le mot de passe.

Ligne auxiliaire

La principale différence entre les ports console (CTY) et auxiliaire (AUX) est que le port auxiliaire supporte le contrôle de flux hardware ; le port console non. Le contrôle de flux permet un contrôle des transmissions, idéal pour une connexion “rapide” (historiquement bien sûr !) telle qu'un modem, alors que le port console suffit pour une connexion série @ 9600bps.

Switch(config)# line aux 0
Switch(config-line)# login
Switch(config-line)# password <pwd>

ligne VTY

Elles correspondent à des lignes virtuelles (des connexions non physiques comme le port console ou AUX), celles utilisées quand un utilisateur se connecte en telnet ou ssh.

Tant qu'un mot de passe n'est pas spécifié (via la console), les sessions telnet sont interdites pour des problèmes de sécurité. De plus on ne peut y accéder que quand on a spécifié une adresse IP d'administration au switch (c'est logique puisqu'on y accède par le réseau).

Souvent les routeurs ne comprennent que 5 lignes vty (line vty 0 4), alors que les switchs peuvent en avoir 8 ou 16 lignes (line vty 0 15):

P4SW#show line 
   Tty Typ     Tx/Rx    A Modem  Roty AccO AccI   Uses   Noise  Overruns   Int
*    0 CTY              -    -      -    -    -      0       0     0/0       -
*    1 VTY              -    -      -    -    -      4       0     0/0       -
     2 VTY              -    -      -    -    -      0       0     0/0       -
     3 VTY              -    -      -    -    -      0       0     0/0       -
     4 VTY              -    -      -    -    -      0       0     0/0       -
     5 VTY              -    -      -    -    -      0       0     0/0       -
     6 VTY              -    -      -    -    -      0       0     0/0       -
     7 VTY              -    -      -    -    -      0       0     0/0       -
     8 VTY              -    -      -    -    -      0       0     0/0       -
     9 VTY              -    -      -    -    -      0       0     0/0       -
    10 VTY              -    -      -    -    -      0       0     0/0       -
    11 VTY              -    -      -    -    -      0       0     0/0       -
    12 VTY              -    -      -    -    -      0       0     0/0       -
    13 VTY              -    -      -    -    -      0       0     0/0       -
    14 VTY              -    -      -    -    -      0       0     0/0       -
    15 VTY              -    -      -    -    -      0       0     0/0       -
    16 VTY              -    -      -    -    -      0       0     0/0       -

On veut les configurer tous les VTYs ensemble :

Switch(config)# line vty 0 15
Switch(config-line)# login
Switch(config-line)# password <pwd>

On peut spécifier le type de protocole qu'on veut utiliser (ici ssh et telnet), ainsi que le idle timeout avant déconnexion (ici 60 min) :

Switch(config)# line vty 0 15
Switch(config-line)#transport input telnet ssh
Switch(config-line)#exec-timeout 60

Dans les 3 cas ci-dessus, on demande un mot de passe pour établir une connexion ; si on veut demander aussi un login, il faut rajouter la directive login :

Switch(config)#line vty 0 15
Switch(config-line)login local

On spécifie de nom d'utilisateur et son mot de passe avec la commande :

Switch(config)#username toto password toto

SSH

Les lignes vty doivent être configurées pour accepter les connexions SSH entrantes (cf § précédent)

Le SSH ne fonctionne qu'après avoir configuré un hostname et un nom de domaine :

Switch(config)# ip domain-name <nom_de_domaine>
Switch(config)# hostname toto

On peut préciser certains paramètres (facultatif) :

Switch(config)#ip ssh version 2
Switch(config)#ip ssh time-out 120
Switch(config)#ip ssh authentication-retries 3

Autres paramètres intéressants :

# activer les logs d'événements SSH
Switch(config)# ip ssh logging events
 
# logguer les authentifications
Switch(config)#login on-failure log
Switch(config)#login on-success log
 
# mettre en place un keepalive TCP pour détecter et clore les connexions coupées
Switch(config)#service tcp-keepalives-in
 
# activer le SCP pour les transferts de fichiers
Switch(config)#ip scp server enable

Configuration de l'accès SSH :

Switch(config)# aaa new-model

Génération d'un couple de clés RSA :

Switch(config)# crypto key generate rsa general-keys [modulus <360-2048>]

On créé ensuite un compte local :

Switch(config)# username <login> password <pwd>

Gestion des sessions

# afficher les sessions courante sur l'équipement
show sessions
 
# afficher la liste des utilisateurs connectés
show users
 
# lister l'état des lignes VTY
show line
 
# déconnecter une session
disconnect <n°_de_session>

Protections

Brute force

Pour se prémunir des attaques de force brute, c'est-à-dire un attaquant qui essai une myriade de mots de passe jusqu'à trouver le bon, on peut bloquer les accès temporairement de son IP :

# blocage pendant 900s de l'IP s'il réalise 5 tentatives infructueuses en moins de 120s
Switch(config)# login block-for 900 attempts 5 within 120
 
# définir un temps minimal de reconnexion (ici 5s) après une tentative de login ratée
Switch(config)# login delay 5
informatique/cisco/gestion_des_acces.txt · Last modified: 2016/07/21 17:27 by pteu