Durcissement des commutateurs réseau : meilleures pratiques de sécurité
- Mise à jour le 02 nov. 2025
En cherchant un tutoriel clair sur le durcissement des commutateurs réseau, j’ai été surpris de constater le peu d’informations complètes disponibles en ligne — alors que ce sujet est essentiel pour garantir la sécurité d’un réseau. Au cours de mes recherches, j’ai découvert que l’ANSSI 🇫🇷 💪 avait publié un excellent guide dont je recommande vivement la lecture : Recommandations pour la sécurisation d’un commutateur de desserte. Ce document couvre plus d’aspects que ceux présentés dans cet article.
Ce tutoriel s’en inspire pour proposer des étapes pratiques permettant de renforcer la sécurité des commutateurs réseau et de protéger efficacement ces équipements essentiels.
La configuration de RADIUS n’est pas abordée ici, mais si vous souhaitez la mettre en place, vous pouvez consulter mon article Configurer l’authentification RADIUS sur un commutateur Cisco.
Mettre à jour le firmware du commutateur
La première étape du durcissement d’un commutateur réseau consiste à maintenir son firmware à jour. Le firmware agit comme un véritable système d’exploitation du commutateur et peut, avec le temps, présenter des vulnérabilités de sécurité corrigées dans les versions plus récentes. Mettre régulièrement à jour le firmware fourni par le constructeur est l’un des moyens les plus simples et efficaces pour renforcer la sécurité et la stabilité du réseau.
Si vous avez besoin d’instructions détaillées, vous pouvez consulter les tutoriels que j’ai rédigés pour la mise à jour du firmware sur les commutateurs Allied Telesis, HP et Cisco.
Sécuriser l’accès administrateur du commutateur
Comptes utilisateurs
Il est recommandé de créer un compte administrateur dédié avec un identifiant personnel et de désactiver tout compte par défaut ou générique. Cela ajoute une couche de sécurité supplémentaire : en plus de devoir deviner le mot de passe, un attaquant devrait également connaître le nom d’utilisateur.
- Lister les comptes utilisateurs existants :
switch(config)# do show users accounts
UserName Privilege Password Lockout
Expiry date
-------------- --------- -------------- -----------
cisco 15 - -
Une fois les utilisateurs existants vérifiés, vous pouvez créer un compte administrateur personnalisé et supprimer les comptes par défaut.
- Créez un nouveau compte administrateur nommé
johnavec un niveau de privilège 15 et un mot de passe robuste :
switch(config)# username john privilege 15 password 6qu0$uck$
- Supprimez ensuite le compte cisco par défaut afin d’empêcher tout accès non autorisé via des identifiants connus :
switch(config)# no username cisco
Port console
Le port console est réservé à l’accès administrateur et permet de configurer le commutateur via l’interface en ligne de commande (CLI). Si vous avez besoin d’aide pour vous y connecter, consultez ce guide d’accès à la console Cisco. Comme ce port offre un contrôle administratif complet, il est essentiel de sécuriser l’accès console correctement.
- Définissez un délai d’inactivité sur la ligne console afin de fermer automatiquement la session après 15 minutes sans activité :
switch(config)# line console 0
switch(config-line)# exec-timeout 15
Accès distant
Je désactive personnellement les accès de gestion via HTTP et HTTPS, et n’autorise l’administration à distance qu’en SSH. Cependant, si vous préférez utiliser une interface web, il est fortement recommandé d’activer uniquement HTTPS afin de garantir un accès sécurisé et chiffré.
Telnet
- Bien que Telnet soit aujourd’hui rarement utilisé, il doit être désactivé sur les anciens commutateurs où il pourrait encore être disponible :
switch(config)# no telnet
SSH
SSH (Secure Shell) est le protocole recommandé pour configurer un commutateur à distance de manière sécurisée. Il chiffre le trafic de gestion, protégeant ainsi les identifiants de connexion et les commandes administratives contre toute interception.
- Activez le serveur SSH sur le commutateur :
switch(config)# ip ssh server
- Comme pour le port console, configurez un délai d’inactivité afin de fermer automatiquement les sessions SSH inactives après 15 minutes :
switch(config)# line ssh
switch(config-line)# exec-timeout 15
L’utilisation de SSH à la place de Telnet garantit que toutes les sessions d’administration sont chiffrées — une étape essentielle dans tout processus de durcissement de commutateur réseau.
Désactiver les protocoles de gestion non sécurisés
- Désactivez le serveur HTTP :
switch(config)# no ip http server
- Désactivez également le serveur HTTPS si le SSH est votre seul mode de gestion :
switch(config)# no ip http secure-server
Protection contre les attaques par force brute
Une attaque par force brute consiste pour un attaquant à tester toutes les combinaisons possibles de mots de passe afin d’obtenir un accès. Pour limiter ce type d’attaque, vous pouvez bloquer temporairement les tentatives d’authentification pendant une durée définie dès qu’un certain nombre d’échecs est atteint.
- Bloquez toutes les tentatives d’authentification pendant 5 minutes (300 secondes) après 3 échecs survenus en moins de 2 minutes (120 secondes) :
switch(config)# login block-for 300 attempts 3 within 120
- Ajoutez un délai de 2 secondes entre chaque tentative pour ralentir les attaques par force brute :
switch(config)# login delay 2
Restreindre l’accès administrateur
L’accès administrateur ne doit jamais être accessible depuis les réseaux utilisateurs. Pour garantir un haut niveau de sécurité, créez un VLAN de gestion dédié et attribuez un port spécifique pour l’accès à l’interface d’administration SSH et/ou web. Il est également recommandé de désactiver la possibilité pour les autres VLAN d’obtenir une adresse IP sur le commutateur afin d’éviter tout accès non autorisé depuis les réseaux utilisateurs.
- Créez le VLAN utilisateur (
VLAN 10):
switch(config)# vlan database
switch(config-vlan)# vlan 10
switch(config)# interface vlan 10
switch(config-if)# no ip address
switch(config-if)# no ipv6 address
switch(config-if)# no ip address dhcp
- Créez le VLAN de gestion (
VLAN 66) et lui attribuer une adresse IP :
switch(config)# vlan database
switch(config-vlan)# vlan 66
switch(config)# interface vlan 66
switch(config-if)# no ip address dhcp
switch(config-if)# no ipv6 address
switch(config-if)# ip address 192.168.66.1 255.255.255.0
- (Optionnel) On pourra attribuer un nom à chaque
VLANcréé :
switch(config-vlan)# interface vlan 10
switch(config-if)# name USERS
switch(config-vlan)# interface vlan 66
switch(config-if)# name ADMIN
Le VLAN 10 est utilisé pour le trafic des utilisateurs, tandis que le VLAN 66 est réservé au réseau de gestion dédié à l’accès administrateur. Vous pouvez également créer d’autres VLAN — par exemple un pour les serveurs de production — afin de mieux contrôler la communication inter-VLAN via un pare-feu. Toutefois, cette configuration dépasse le cadre de ce tutoriel.
- Configurez l’interface
g8pour l’associer auVLAN 66et lui attribuer l’adresse IP192.168.66.1:
switch(config-if)# interface g8
switch(config-if)# switchport mode access
switch(config-if)# switchport access vlan 66
- Configurez les interfaces
g1àg7, associez-les auVLAN 10et désactivez toute adresse IP afin d’empêcher les utilisateurs de se connecter directement au commutateur :
switch(config-if)# interface range g1-7
switch(config-if-range)# switchport mode access
switch(config-if-range)# switchport access vlan 10
Securing Layer 2 and VLAN Segmentation
VLAN
VLAN de quarantaine
Il est recommandé de créer un VLAN de quarantaine dédié et d’y affecter tous les ports inutilisés. Ainsi, si un appareil est connecté par erreur ou de manière malveillante à un port libre, il n’aura pas accès au réseau de production.
- Créez le
VLAN 666et mettez-le hors service :
switch(config)# vlan 666 name QUARANTINE
switch(config)# interface 666
switch(config-if)# shutdown
- Affectez toutes les interfaces inutilisées au
VLAN 666et désactivez-les :
switch(config)# interface range g3-8
switch(config-if-range)# switchport mode access
switch(config-if-range)# switchport access vlan 666
switch(config-if-range)# shutdown
VLAN natif et VLAN par défaut
Le VLAN natif est le VLAN utilisé par le commutateur pour échanger des informations de protocoles internes tels que le STP, le CDP ou le VTP. Sur un lien trunk, il transporte les trames non étiquetées — c’est-à-dire que tout trafic non tagué reçu sur une interface trunk est automatiquement associé à ce VLAN. Le VLAN par défaut correspond au VLAN auquel tous les ports du commutateur appartiennent tant qu’ils n’ont pas été affectés manuellement à un autre VLAN.
Par défaut, ces deux VLAN sont configurés sur le VLAN 1, ce qui peut présenter des risques de sécurité. Un attaquant pourrait intercepter ou manipuler le trafic de protocoles sensibles (comme STP ou CDP). De plus, si les commutateurs du réseau utilisent des VLAN natifs différents, une technique appelée VLAN hopping peut se produire, permettant un accès non autorisé entre VLAN.
Pour réduire les risques, il est recommandé de modifier le VLAN natif et le VLAN par défaut afin de ne pas conserver les paramètres d’usine.
VLAN par défaut
Désactiver le VLAN 1 permet d’éviter que des attaquants n’exploitent les configurations par défaut souvent laissées actives dans de nombreux environnements.
- Le VLAN par défaut (VLAN 1) ne doit pas être utilisé pour le trafic de production. Il est recommandé de le désactiver afin de réduire l’exposition aux attaques potentielles :
switch(config)# interface vlan 1
switch(config-if)# shutdown
switch(config-if)# no ip address
VLAN natif
Le VLAN natif doit être attribué à un VLAN différent du VLAN 1 sur chaque commutateur du réseau, en particulier sur les interfaces trunk. Cette configuration permet de prévenir le VLAN hopping et de limiter l’exposition du trafic de gestion ou de contrôle.
- Configurez le VLAN natif comme
VLAN 999sur l’interface trunk du switch01 :
switch01(config)# vlan 999 name NATIVE
switch01(config)# interface g8
switch01(config-if)# switchport trunk native vlan 999
- Répétez la même configuration sur le switch02 :
switch02(config)# vlan 999 name NATIVE
switch02(config)# interface g8
switch02(config-if)# switchport trunk native vlan 999
VLAN 999) sur un lien trunk entre switch01 et switch02 afin de sécuriser la communication inter-commutateurs en couche 2.Désactiver le routage et le Proxy ARP
Le routage et la communication inter-VLAN ne doivent pas être gérés par les commutateurs d’accès. Ces fonctions doivent être confiées à des équipements de couche 3 dédiés, tels que des routeurs ou des pare-feux. Il est donc recommandé de désactiver les fonctionnalités de routage sur les commutateurs d’accès afin de réduire la surface d’attaque et de garantir une segmentation réseau correcte.
- Désactivez le Proxy ARP :
switch(config)# ip arp proxy disable
- Désactivez le routage des sources IP :
switch(config)# no ip source-route
DHCP Snooping et IP Source Guard
Le DHCP Snooping apporte plusieurs niveaux de protection pour sécuriser le processus DHCP. Il permet de définir des ports de confiance comme sources légitimes de baux DHCP, de maintenir dans la mémoire du commutateur une table de correspondance DHCP Snooping enregistrant les adresses IP attribuées, et de limiter le nombre de requêtes DHCP qu’une interface peut générer par seconde.
L’IP Source Guard utilise les informations stockées dans la table DHCP Snooping pour vérifier que l’adresse IP utilisée sur chaque port correspond bien au bail DHCP légitime. Cette fonctionnalité empêche les tentatives d’usurpation d’adresse IP (IP spoofing) et garantit que seuls les appareils autorisés peuvent utiliser des adresses IP valides sur le réseau.
- Activez le DHCP Snooping sur les deux commutateurs :
switch01(config)# ip dhcp snooping
switch02(config)# ip dhcp snooping
- Spécifiez les VLAN sur lesquels le DHCP Snooping doit être actif :
switch01(config)# ip dhcp snooping vlan 2-4094
switch02(config)# ip dhcp snooping vlan 2-4094
- Définissez les interfaces connectées au serveur DHCP comme ports de confiance :
switch01(config)# interface g8
switch01(config-if)# ip dhcp snooping trust
switch02(config)# interface range g7,g8
switch02(config-if)# ip dhcp snooping trust
- Activez la base de données DHCP Snooping afin de stocker les informations de correspondance :
switch01(config)# ip dhcp snooping database
switch02(config)# ip dhcp snooping database
- Activez l’IP Source Guard sur les interfaces connectées aux clients DHCP :
switch01(config)# interface g1
switch01(config-if)# ip source-guard
switch02(config)# interface g2
switch02(config-if)# ip source-guard
- Désactivez la fonction IP Source Guard sur les interfaces connectées à des équipements utilisant une adresse IP statique (tels que des imprimantes, des points d’accès Wi-Fi, etc.) :
switch01(config)# interface g8
switch01(config-if)# no ip source-guard
switch02(config)# interface range g7,g8
switch02(config-if-range)# no ip source-guard
- Activez l’IP Source Guard de manière globale sur chaque commutateur :
switch01(config)# ip source-guard
switch02(config)# ip source-guard
- Vérifiez l’état de l’IP Source Guard :
switch# show ip source-guard
Cette configuration garantit que chaque port n’accepte que les paquets dont la correspondance IP/MAC a été vérifiée par la table DHCP Snooping, empêchant ainsi toute tentative d’usurpation d’adresse IP.
Dynamic ARP Inspection (DAI)
Le protocole ARP (Address Resolution Protocol) est chargé d’associer les adresses IP aux adresses MAC au sein d’un réseau local. Cependant, il présente plusieurs failles pouvant être exploitées par des techniques telles que l’ARP spoofing ou l’ARP poisoning. La fonctionnalité Dynamic ARP Inspection (DAI) protège contre ces attaques en validant les paquets ARP à partir des données stockées dans la table de correspondance DHCP Snooping.
En s’assurant que seules les associations IP/MAC légitimes sont utilisées, le DAI permet de prévenir les attaques de type man-in-the-middle et de préserver l’intégrité du réseau de couche 2.
- Autorisez les interfaces connectées à d’autres commutateurs ou à des équipements utilisant une adresse IP statique (tels que des imprimantes, des points d’accès Wi-Fi, etc.) en désactivant l’inspection ARP sur celles-ci :
switch01(config)# interface g8
switch01(config-if)# ip arp inspection trust
switch02(config)# interface range g7,g8
switch02(config-if-range)# ip arp inspection trust
- Activez la fonctionnalité Dynamic ARP Inspection (DAI) sur les VLAN où le DHCP Snooping est actif :
switch01(config)# ip arp inspection vlan 10
switch01(config)# ip arp inspection vlan 66
switch02(config)# ip arp inspection vlan 10
switch02(config)# ip arp inspection vlan 66
- Validez les paquets ARP avant de les autoriser à transiter par le commutateur :
switch01(config)# ip arp inspection validate
switch02(config)# ip arp inspection validate
- Vérifiez l’état et les statistiques de l’inspection ARP :
switch# show ip arp inspection statistics vlan 10
switch# show ip arp inspection
Protéger les interfaces du commutateur et améliorer la stabilité du réseau
Configurer la sécurité des ports sur les interfaces du commutateur
La sécurité des ports doit être mise en place lorsque l’authentification RADIUS n’est pas utilisée. Elle permet de limiter le nombre d’adresses MAC apprises sur chaque interface, ce qui aide à empêcher la connexion d’appareils non autorisés au réseau.
- L’exemple suivant montre comment activer la sécurité des ports sur les interfaces
g1àg7. Chaque port n’autorisera qu’une seule adresse MAC ; si plusieurs appareils sont détectés, le port sera automatiquement désactivé.
switch(config)# interface range g1-7
switch(config-if)# port security mode max-addresses
switch(config-if)# port security max 1
switch(config-if)# port security discard-shutdown
switch(config-if)# port security
Sécuriser le protocole Spanning Tree (STP)
Le Spanning Tree Protocol (STP) empêche les tempêtes de broadcast en éliminant les boucles réseau. Cependant, des attaquants peuvent exploiter ce protocole en écoutant le trafic et en déclarant leur appareil comme commutateur racine, ou encore en lançant une attaque par dénis de service (DoS) à l’aide de faux messages BPDU pour provoquer des élections de racine fréquentes. Pour se prémunir contre ces menaces, vous pouvez activer la fonctionnalité BPDU Guard, qui bloque tout message BPDU reçu sur les ports où cette protection est activée.
- Activez le BPDU Guard sur les interfaces d’accès afin d’empêcher la réception de BPDUs provenant d’équipements non autorisés :
switch01(config)# interface range g1-7
switch01(config-if-range)# spanning-tree bpduguard enable
switch01(config-if-range)# spanning-tree portfast
switch02(config)# interface range g1-7
switch02(config-if-range)# spanning-tree bpduguard enable
switch02(config-if-range)# spanning-tree portfast
- Désactivez automatiquement toute interface en violation du BPDU Guard et configurez sa réactivation après 300 secondes :
switch01(config)# errdisable recovery cause stp-bpdu-guard
switch01(config-if-range)# errdisable recovery interval 300
switch02(config)# errdisable recovery cause stp-bpdu-guard
switch02(config-if-range)# errdisable recovery interval 300
- Affichez la liste des interfaces désactivées :
switch# show errdisable interface
- Réactivez manuellement une interface si nécessaire :
switch# errdisable recovery reset interface g2
Configurer le Storm Control
La fonctionnalité Storm Control permet de maintenir le bon fonctionnement du commutateur lors de pics excessifs de trafic broadcast, multicast ou unicast, également appelés « tempêtes réseau ». En limitant la quantité de ce type de trafic, elle améliore la stabilité et la robustesse globales du réseau.
- Utilisez la commande
storm-controlsur toutes les interfaces pour limiter les niveaux de trafic :
switch01(config)# interface range g1-7
switch01(config-if-range)# storm-control broadcast level 10
switch01(config-if-range)# storm-control multicast level 10
switch01(config-if-range)# storm-control unicast level 10
switch02(config)# interface range g1-7
switch02(config-if-range)# storm-control broadcast level 10
switch02(config-if-range)# storm-control multicast level 10
switch02(config-if-range)# storm-control unicast level 10
Le Storm Control empêche un équipement défectueux ou une inondation de trames broadcast de consommer toute la bande passante disponible, contribuant ainsi à préserver les performances et la disponibilité du réseau.