TP-Secu-Routeurs

Bien entendu, vous savez que l'utilisation d'un telnet comporte beaucoup de .... l'
acl de l'exercice dans le but de bloquer l'accès vty au routeur depuis le PC ...

Part of the document

Sécurisation des accès aux routeurs Cisco
Objectifs Le but de ce TP est de manipuler les fonctionnalités de sécurisation
proposées par les routeurs Cisco afin de minimiser les risques encourus par
les menaces les plus courantes. Architecture de travail Mettez en place l'architecture suivante : [pic]
Effacez éventuellement la « startup -config » de votre routeur et démarrez
sur une NVRAM vierge.
Câblez et configurez correctement les interfaces afin de disposer d'une
connectivité correcte selon le schéma ci-dessus. Ne configurez pas de mot
de passe pour l'instant, vous le ferez dans les manipulations suivantes. Sécurisation des accès
1 Le mode Enable Configurez le mot de passe « bidon » pour accéder au mode « enable » grâce
à la commande :
enable password bidon
Vérifiez son efficacité, affichez la « running-config » et concluez ...
Configurez le mot de passe « class » pour accéder au mode « enable » grâce
à la commande :
enable secret class
Vérifiez son efficacité, affichez la running-config.
A quoi sert maintenant le mdp « bidon » ?
Vérifiez dans la running-config, la présence de la directive par défaut
« no service password-encryption »
Entrez la commande inverse : « service password-encryption »
Visualisez à nouveau les mots de passe dans la « running-config » et
contrôlez leur efficacité.
Annulez la commande précédente avec « no service password-encryption » et
visualisez à nouveau la running-config. Concluez ?
La commande « enable password » n'existe aujourd'hui que pour des raisons
de compatibilité ascendante avec les anciens IOS. Même avec le chiffrement
de mot de passe proposé par le service correspondant (niveau 7), il est
imprudent de continuer à l'utiliser, le chiffrement utilisé est TRES
faible. 2 Les Ports : Console/Aux/Vty Le port console (con 0) correspond au port que vous utilisez généralement
pour configurer le routeur par l'intermédiaire de l'hyper terminal. Il
correspond à une connexion série asynchrone. Obtenir un tel accès nécessite
d'être physiquement connecté sur le port console (RJ 45) du routeur.
Le port auxiliaire (aux 0) permet de se connecter au routeur via modem.
Pour obtenir un tel accès il est nécessaire de configurer un modem
physiquement relié à la prise AUX (RJ 45) du routeur.
Les ports VTY (de vty 0 à vty 4 ou 807 selon versions...) correspondent à
des terminaux virtuels. Ils offrent un possible accès au routeur en
utilisant le réseau. Généralement utilisés pour des accès telnet, ce n'est
néanmoins pas restrictif, comme vous le constaterez au cours de ce TP. De 5
à 808 accès simultanés au routeur sont possibles par l'intermédiaire de ces
ports, sachant que le numéro du vty attribué pour une connexion est imposé
par le routeur et correspond à celui qui a le plus petit identifiant parmi
les vty de libres à cet instant.
Les manipulations qui vont suivre seront effectuées sur les ports vty dans
la mesure où ils offrent un nombre de fonctionnalités plus étendus.
Néanmoins, la plupart des commandes sont reproductibles sur les autres
types de ports, (si tant est qu'elles correspondent à quelque chose de
cohérent !). 1 Ports Vty Passez en mode de configuration du port vty 0
Pour information, visualisez avec « transport input ? » les différents
protocoles disponibles. Vous constaterez au passage que « ssh » ne figure
pas dans la liste.
Autorisez l'accès « telnet ».
Tentez une connexion sur le routeur depuis un client telnet de Windows.
Pourquoi ça marche pas ?
Testez la commande « login » pour tenter de résoudre le problème. A quoi
sert cette commande ?
Configurez maintenant:
Un accès par mot de passe personnalisé sur l'accès vty 0 (user : bob ;
mdp : mdpbob)
Un accès par mot de passe global sur l'accès vty 1 (mdpvty1)
Un accès sans mot de passe sur l'accès vty 2
Testez les trois accès grâce à trois fenêtres telnet différentes (rappel :
un accès vty sur le routeur se fait automatiquement sur le plus petit
identifiant de vty disponible). 3 Filtrage d'accès par ACLs Afin de renforcer la sécurité d'accès par les ports vty, il est possible
d'utiliser un système de filtrage par ACLs en utilisant les ACLs standards
ou étendues.
Créez une ACL standard n'acceptant que votre adresse IP
Grâce à la commande « access-class » appliquez cette ACL au port vty 0
Vérifiez que seule votre machine est en mesure d'accéder au vty 0, et pas
le deuxième PC.
Désactivez cette ACL pour la suite du TP. 4 Temps d'inactivité Avec la commande « exec-timeout », configurez un temps maximal d'inactivité
de 10s sur le vty 0.
Vérifiez l'efficacité (si vous êtes déjà connecté, ça ne marchera qu'après
déconnexion/reconnexion). 5 Config SSH Bien entendu, vous savez que l'utilisation d'un telnet comporte beaucoup de
risques, surtout si vous traversez des réseaux extérieurs. Pour résoudre ce
souci, l'utilisation de SSH est désormais possible sur les dernières
versions des IOS (à partir de la version 12.2).
Pour remplacer telnet par ssh, un certain nombre de manipulations
préalables sont nécessaires :
votre routeur doit avoir un nom (« hostname »)
votre routeur doit appartenir à une zone (ex : univ-pau.fr) (« ip domain-
name »)
vous devez générer un couple de clés RSA (publique, privée) (« crypto key
generate rsa »). Essayez de conserver la longueur de 512 proposée par
défaut.
Quelques valeurs par défaut peuvent être intéressantes à paramétrer pour
renforcer la sécurité :
ip ssh time-out 15
ip ssh authentication-retries 3
Assurez vous qu'il vous reste toujours un utilisateur de créé dans votre
configuration (bob en l'occurrence), sinon recréez le avec la commande
username secret
Placez vous dans le mode de configuration des vty de 0 à 4 (« line vty 0
4 »), et activez le ssh :
transport input ssh (notez qu'il est maintenant dans la liste !)
login local
Tentez une connexion telnet, puis une connexion ssh en utilisant « putty »
sous windows ou ssh sous linux (ssh bob@). Un problème avec la
longueur de clé ? Réglez ce souci en créant une nouvelle clé de 1024 bits
et en purgeant les fichiers nécessaires dans le dossier /.ssh
Configurez maintenant les vtys pour qu'ils autorisent à la fois les accès
telnet et ssh.
Tentez un nouvel accès telnet sur le routeur. Que concluez vous de cette
dernière manipulation du point de vue de la sécurité ? 6 Bannières d'accueil Histoire de se détendre un peu, vous pouvez vous amuser à configurer une
bannière d'accueil grâce à la commande « banner ».
Regardez les différentes options, essayez de les mettre en ?uvre et testez
les différences dans le cadre des accès par port console ou par port vty. 7 Niveaux de privilèges Par défaut, l'IOS d'un routeur Cisco est configuré pour utiliser deux
niveaux de privilèges, niveau 1 (user mode, ou EXEC mode) et niveau 15
(privileged user mode, ou ENABLE mode).
Il est néanmoins possible de configurer des accès à des niveaux
intermédiaires.
Configurez un mdp pour accéder au niveau 10 avec la commande « enable
secret level ... »
Testez les commandes « disable X », « enable Y » et « show privilege » vous
permettant respectivement de vous connecter au niveau X inférieur, de vous
connecter au niveau Y supérieur et de vous indiquer le niveau de privilège
dont vous jouissez.
Essayez d'utiliser « show startup-config » au niveau 10 ...
Repassez au niveau 15, puis grâce à la commande « privilege level
», déclassez la commande précédente au niveau 10 et ré-
essayez de l'exécuter à ce niveau.
Tant que vous êtes au niveau 10, essayez la commande « show ? » pour voir
les possibilités qui vous sont offertes...
Il vous est aussi possible de créer des utilisateurs ayant directement
accès à un niveau donné. C'est plus intéressant d'un point de vue du suivi
... La commande correspondante est la suivante :
username privilege secret
Créer un utilisateur « urgence » (mot de passe « sos ») bénéficiant d'un
accès direct au niveau 5 REMARQUE : L'utilisation de cette fonctionnalité de niveaux de privilèges
intermédiaires dans un contexte de production doit néanmoins rester
exceptionnelle ... (reload d'urgence, ...)
Afin de vous familiariser définitivement avec la commande « privilege »,
faites maintenant le nécessaire pour déclasser au niveau 5 toutes les
commandes nécessaires et suffisantes pour permettre à l'utilisateur
« urgence » de mettre « shutdown » tous les interfaces réseau en cas
d'alerte intrusion. Bien entendu, cet utilisateur ne sera pas en droit de
changer les adresse IP ou tout autre paramètre des interfaces. Enregistrement d'événements
1 Syslog Afin de mener à bien les manipulations suivantes, il est nécessaire de
mettre en place un serveur « syslog ».
La manipulation très simple consiste à utiliser le serveur « KIWI » sous
windows, dont une version est gratuite.
Afin d'éviter de devoir remplir des formulaires fastidieux sur le site
officiel, le mieux est de rechercher une version sur un site tel que
« télécharger.com » ou équivalent.
Ce serveur s'installe en quelques clics est ne nécessite aucune
configuration pour être immédiatement opérationnel.
Installez ce serveur sur la machine windows. Configurez le routeur afin qu'il envoie les événements à votre serveur kiwi
(niveau 6 pour être sûr d'avoir quelques messages). Vérifiez le bon fonctionnement de votre configuration en « montant » et
« descendant » l'interface ethernet du routeur. Afin de faire une manipulation plus intéressante, modifiez (ou recréez ...)
l'acl de l'exercice dans le but de bloquer l'accès vty au routeur depuis
le PC linux, en incluant cette fois les options pour qu'elle génère de