+ de 700 vidéos sur le CCNA
  • N°1 de la certification Cisco Francophone
  • + de 8000 abonnés
  • + de 400 000 vidéos vues

Sécurité: SÉcuriser l’IOS Cisco

Sécurité: Depuis la forte croissance d’internet, de nombreuses menaces pour la sécurité sont apparues !

VIRUS

Que ce soit des virus, Cheval de Troie, Pirates informatiques et même les propres employés d’une entreprise, tout ça représente des risques pour la sécurité. 

Types de menaces

  • Menaces à distance : si aucun système n’est mis en place pour protéger les accès, des personnes malveillantes pourront s’y connecter très facilement !
  • Menace liée à l’accès du local informatique: il peut y avoir des dommages physiques ou des vols sur le matériel réseau.
  • Menaces environnementales: des températures extrêmes (que ce soit chaud ou froid) ou même d’humidité sont des menaces pour la sécurité !
  • Menaces électriques: des pointe ou chute de tension peuvent avoir de gros impact sur la sécurité des données !
  • Menaces de maintenance: que ce soit une mauvaise manipulation des composants réseau, un stock insuffisant de pièce de rechange et câblage, ou bien même simplement un mauvais étiquetage, tout cela, présente une menace pour la sécurité !

Sécurité: Sécuriser l’IOS

Il est possible de sécuriser un routeur ou un switch en utilisant un mot de passe pour accéder au mode privilège de l’IOS.

Pour ça, il existe deux commandes pour sécuriser cet accès :

  • enable password
    Mot de passe affiché en clair dans le fichier de configuration !
  • enable secret
    Mot de passe crypté avec un hachage en MD5

SERVICE PASSWORD-ENCRYPTION

Il est possible d’ajouter encore une autre couche de sécurité, pour les mots de passe qui circulent dans le réseau ou qui sont stockés sur un serveur TFTP. 

La commande « service password-encryption » permet de crypter l’ensemble des mots de passe qui sont présents sur l’IOS.

Sécurité: Sécuriser l’accÈs au port console

La commande : «ligne console 0»  permet de rentrer dans le mode de configuration du port console.
La commande
« password » permet de spécifier le mot de passe que l’on veut mettre.
Et la commande
« login » permet d’activer cette fonctionnalité !

Exec-timeout

La commande « exec-timeout » ajoute une tempo, pour éviter que l’accès reste connecté, lorsque l’admin s’absente de son bureau !

Telnet et SSH

Le VLAN 1 peut être utilisée pour la gestion.
La commande « interface vlan » permet de rentrer dans le mode de configuration du vlan.

La commande « ip address » permet d’affecter une adresse IP et un masque de sous-réseau.

Un commutateur ou un routeur comporte des lignes virtuelles, que l’on peut utiliser pour l’accès à distance. Ce sont des lignes VTY.

La commande « line vty 0 4 » permet de rentrer en configuration sur les 5 lignes VTY, de 0 à 4.

Le 0 comptant pour une ligne VTY. Ce qui en fait 5 au total.

Pour le port console, il faut utiliser la commande « Password » pour spécifier un mot de passe et terminer par la commande « login » pour l’activer.

Telnet

est pratique et facile à configurer, mais il n’est pas sécurisé…
C’est-à-dire que tout circule en clair.

C’est pourquoi il est préférable de configurer et d’utiliser SSH. Avec ce dernier, tout le trafic sera crypté.

Les versions d’IOS n’offrent pas SSH par défaut.

Vérifiez bien avant, s’il est possible d’installer SSH sur votre version D’IOS.

Configurer SSH:

SSH fonctionne avec les noms d’utilisateur. La commande « Username » permet de spécifier le nom d’utilisateur et la commande « password » le mot de passe lié à ce compte utilisateur.

Ensuite il faut obligatoirement configurer un nom de domaine, car SSH utilise des certificats. La commande « ip domain-name » permet de renseigner le nom de domaine.

La commande « crypto key generate rsa » permet de générer des clés RSA pour SSH. La clé doit avoir au moins 1024 bits. Par défaut, il activera la version 1 de SSH mais pour des raisons de sécurité, il vaut mieux utiliser la V2:

Pour cela il faut utiliser la commande « ip ssh version 2 »

Et la dernière étape consiste à taguer les lignes VTY en SSH:

On se connecte sur les accès VTY avec la commande « line vty 0 4 »

Ensuite, il faut lui indiquer d’utiliser l’utilisateur qu’on a créé juste avant, avec la commande «login local ».
Et pour finir, il faut autoriser uniquement SSH et pas Telnet, avec la commande « transport input ssh »

Reste plus qu’à se connecter en Telnet avec PuTTY

Configuration SSH

Il est possible de lancer une connexion SSH ou Telnet à l’aide d’un client comme Putty qui est installé sur son PC. 

Putty


PuTTY c’est un émulateur pour les protocoles SSH ou Telnet. On peut aussi faire des connexions directes avec un câble série RS-232.

À l’origine, ce logiciel n’était disponible que sur Windows. Maintenant il est aussi dispo sur les plates-formes Unix !

Ouvrir accÈs Telnet

La commande « line vty 0 4 » permet de rentrer dans la configuration des 5 lignes d’accès à distance.
Le « 0 » compte comme un accès, c’est pour ça qu’il y’en a 5.

La commande « password » permet d’attribuer un mot de passe.

Et la commande « login » active la connexion à distance avec un mot de passe pour les sessions Telnet qui rentre.

Ouvrir un accÈs SSH

  1. Configurer un hostname avec la commande « hostname + le nom ».
    Il ne faut surtout pas que le sigle soit marqué Switch ou router.
  2. Configurer un nom de domaine, avec la commande « ip domain name ». C’est indispensable, pour pouvoir générer la clé du certificat.
  3. Les commandes « username » et « secret » permettent de configurer un utilisateur avec mot de passe.
    Qui servira pour se connecter en SSH
  4. La commande « crypto key generate rsa » servira à l’utilisateur pour s’authentifier !
    Une clé codée sur 1024 bits est recommandée
  5. Dans la configuration des lignes VTY, faire un « login local » .
    Pour forcer la connexion avec un nom d’utilisateur + mot de passe.
  6. La commande « transport input ssh » permet d’interdire les accès Telnet, et forcer les connexions SSH avec un nom d’utilisateur !
    Ce qui est beaucoup + sécure !

SSH VERSION 2

La commande « ssh version 2 », permet de supporter les bannières de connexion, et dispose d’un algorithme de chiffrement beaucoup + sécurisé que la version 1.

Show ip ssh

Si on veut vérifier que le protocole SSH est bien activé, on peut utiliser la commande « show ip ssh »

Show SSH

La commande « show ssh » permet de voir si une session SSH est en cours.

Telnet et SSH

Les protocoles Telnet ou SSH sont très utilisés.

C’est pourquoi il vaut mieux limiter les accès VTY, à des adresses IP spécifiques ou à des sous-réseaux, pour mieux contrôler l’administration à distance !

Sécurité: Sécuriser les accÈs Telnet et SSH avec une ACL

La commande « access-list » permet de créer l’ACL en mode de configuration global.
Et appliquer l’ACL sur les VTY de 0 à 4 !

Log ACL

La commande « deny any log » n’est pas obligatoire, car implicitement il y’a une règle qui supprime tous les paquets, qui n’ont pas étés matchés par une ACL !

Mais, cette commande, permets en quelque sorte de l’officialiser pour avoir des traces dans le journal !

Comme ça, toutes les tentatives qui ont été rejetées seront affichées dans le journal !

Banner Motd

Il est possible de configurer une bannière d’accueil qui sera affichée lorsqu’un utilisateur se connectera sur l’IOS ! Ce message peut être un message d’avertissement, ou bien pour informer d’une prochaine mise à jour !

Pour créer cette bannière de connexion, il faut utiliser la commande « banner motd » .

Banner login

La commande « banner login » affiche le message avant le login de l’utilisateur.

Port sécurity

Des ports non utilisés sur un switch est un risque pour la sécurité !

Une personne mal-attentionnée pourrait très bien, se connecter sur un des ports non utilisés du switch et accéder au réseau !

DÉsactiver les ports inutilisÉs

La méthode la plus simple pour ajouter une sécurité, et que la plupart des admin utilise, c’est de désactiver tous les ports, qui ne sont pas utilisés.

Interface range

Pour arrêter plusieurs ports d’un coup, on peut utiliser la commande « interface range ».

Cette commande évite de se connecter sur chacun des ports, pour au final, taper les mêmes commandes.

DÉplacer les ports inutilisÉs dans un vlan non utilisés

La commande « switchport access vlan 99 » ajoute en plus, un niveau de sécurité, en plaçant les interfaces, dans un vlan qui n’est pas utilisé.

Port-security

Avec un switch, il est possible contrôler les ports, en limitant l’accès à certaines adresses MAC. Cette fonctionnalité, très utilisée pour la sécurité, s’appelle « port-security »

2 manières différentes

  • Enregistrer manuellement l’adresse MAC qui sera autorisée à se connecter sur le port !
  • Autoriser dynamiquement, la première adresse MAC qui se connectera sur le port !

Rappel

L’adresse MAC correspond à l’adresse physique de la machine. C’est-à-dire de sa carte réseau.

Types de sÉCURITÉ sur le port :

  • Apprentissage statique :
    C
    onfigurée manuellement par un admin réseau.
  • Apprentissage dynamique :
    L
    ’adresse MAC est récupérée dynamiquement pour être stockée dans la table MAC du switch. Comme c’est dynamique, l’adresse sera supprimée après un redémarrage du switch.
  • Apprentissage sticky :
    L
    ’adresse MAC est aussi apprise dynamiquement, sauf qu’elle est enregistrée dans le fichier de la running-config.

Mode de protection

3 façons différentes de traiter le paquet qui n’est pas autorisé :

  • Mode Protect: 
    S
    upprime les paquets qui ont une adresse MAC inconnue.
  • Mode Restrict:
    I
    dentique au mode Protect, sauf qu’il garde une trace de la violation dans son journal et génère même une trappe SNMP.
  • Mode Shutdown: 
    M
    ode par défaut. Des qu’une violation de sécurité intervient, il désactivera automatiquement, le port, qui ne pourra être réactivé que par un admin réseau, en faisant un shut/no shut sur l’interface.

Configuration

Sw1(config)# interface FastEthernet 0/3
Se connectent sur le port 0/3 du Switch

Sw1(config-if)# switchport mode access
Le port doit être, soit en mode accès ou soit en mode
trunk

Sw1(config-if)# switchport port-security
permet d’activer la sécurité du port

Sw1(config-if)# switchport port-security maximum 1
autorise qu’une seule adresse Mac à se connecter sur ce port.

Sw1(config-if)# switchport mac-address sticky

Comme le paramètre précédent est à 1, la première adresse que le port apprendra sera autorisée et inscrite dans le fichier de configuration du switch.

Aucune autre adresse ne pourra se connecter à ce port. À moins que le switch redémarre.

Sw1(config-if)# switchport port-security violation shutdown


Le mode « Shutdown »,  désactivera l’interface dès qu’une violation de sécurité interviendra.

Port sécurity Statique

On aurait pu aussi lui indiquer une adresse mac statique avec la commande : « switchport port-sécurité mac-address + la mac-address à autoriser »

Show port-security

La commande « show port-sécurity» sur une interface, affiche les paramètres de sécurité du switch

Show interface status

La commande « show interface status » affiche des infos sur l’état des différents ports du switch.

Show port-security address

La commande « show port-security address » affiche les adresses Mac sécurisées de l’ensemble des ports du switch

Services non utilisés et NTP

Pour faciliter le déploiement, les routeurs et les switchs démarrent avec une liste de services activés par défaut, qui sont jugés utiles pour la plupart des environnements !

Mais comme tous les réseaux n’ont pas les mêmes exigences, certains de ces services ne sont pas forcement nécessaire. 

Le faite, de désactiver les services qu’on ne considère pas utiles, permet de libérer des ressources système et d’éliminer d’éventuelle faille de sécurité sur l’exploitation de ces services.

show control-plane host open-ports

Cette commande permet de contrôler les ports UDP ou TCP que le routeur est en train d’écouter.

Identifier les ports ouverts

Une bonne pratique consiste à identifier les ports ouverts, afin de pouvoir déterminer quels services doivent être désactivés.

DÉsactiver CDP

Une seconde pratique serait de désactiver le protocole CDP sur les interfaces qui pourrait représenter un risque. Par exemple, sur celles qui sont connectées directement à internet.

La commande « no cdp run » permet de désactiver CDP sur toutes les interfaces de l’équipement.

Et si on souhaite désactiver CDP, seulement sur une interface, il faut se connecter dessus et entrer la commande « no cdp enable »

DÉsactiver HTTP

Une dernière pratique fortement recommandée serait de désactiver le service HTTP, qui est activé par défaut sur le routeur. Car s’il est activé, il sera alors possible d’accéder aux routeurs avec une simple page web.

La commande « no ip HTTP server » désactive le HTTP.

Pour le réactiver, il faut simplement faire un « ip HTTP server »

Network Time Protocol (NTP)

NTP permet de synchroniser les horloges de plusieurs périphériques sur un réseau. Ce qui est indispensable pour pouvoir utiliser des certificats numériques, et aussi pour pouvoir bien interpréter les évènements qui sont dans les logs.

Il est possible de configurer un routeur en tant que serveur NTP, pour que les autres périphériques, qui eux, seront configurés en client, puissent synchroniser leurs horloges !

Configuration NTP

La commande « ntp server + l’ip » permet de configurer l’équipement en tant que client NTP en lui indiquant l’adresse du serveur NTP.

Les commandes « show ntp associations » et « show ntp status » permettent de vérifier les paramètres NTP

Syslog

Le protocole Syslog permet de centraliser les logs de plusieurs équipements réseau.

Le faites de centralisé toutes les logs de l’ensemble de ces équipements, permet de mieux surveiller et dépanner son propre réseau !

Debug

La commande « debug » permet d’afficher en direct les logs sur la console !

Severity

Différents degrés de sévérité :

  • Sévérité 0 => Urgence (Emergency)
  • Sévérité 1 => Alerte (Alert)
  • Sévérité 2 => Critique (Critical)
  • Sévérité 3 => Erreur (Error)
  • Sévérité 4 => Avertissement (Warning)
  • Sévérité 5 => Notification
  • Sévérité 6 => Information (Informational)
  • Sévérité 7 => Debug (Debugging)

Si le niveau de sévérité est configuré sur 0, ça signifie que seuls les messages de type « Emergency » seront affichés dans la CLI. 

Si c’est configuré avec un niveau 4, et bien tous les messages avec des niveaux de sévérité inférieur ou égal à 4 seront affichés. C’est-à-dire, Emergency, Alert, Critique, erreur et Warning !

Mode DÉbogage

Le niveau qui donne le plus d’information est donc le niveau 7, qui est le mode de débogage. 

S’il est activé, alors beaucoup d’informations seront affichées dans le journal et sur la console. C’est donc à utiliser avec prudence, car ça diminue fortement, les performances du réseau. 

Debug all

La commande « debug all » peut faire complètement tomber un switch.

Configuration

Pour mettre en service un serveur syslog , il faut indiquer l’IP du serveur syslog et le degré de gravités des logs, à tous les équipements à qui on souhaite récupérer ces logs.

La commande « logging » permet d’indiquer l’IP du serveur Syslog.

La commande « logging trap » permet de définir le degré de sévérité.

Exemple :
R1(config)# logging trap warning
Ou
R1(config)# logging trap 4

Retrouver de nombreuses vidéos de cours sur la chaine Youtube Formip

Suivez le parcours CCNA sur le site Formip