Le Spanning Tree permet de résoudre les problèmes de boucle, en gérant les différents chemins physiques vers les équipements du réseau. Grâce à ce protocole, il est possible de sécuriser le réseau avec de la redondance en évitant les effets indésirables des boucles réseau, en plaçant certains ports dans un état de blocage.
Le protocole « spanning tree » (STP) empêche la formation de boucles lorsque des commutateurs ou des ponts sont interconnectés par des chemins multiples. Le protocole STP implémente l'algorithme IEEE 802.1D en échangeant des messages BPDU « Bridge Protocol Data Unit » avec d'autres commutateurs de manière à détecter les boucles, puis les supprime en désactivant des interfaces de pont. Cet algorithme garantit qu'il y a un seul et unique chemin actif entre deux périphériques réseau.
cisco.com
Le port écoute les BPDUs mais ne transmet pas de trafic utilisateur.
Objectif : éviter les boucles.
Durée : variable, selon le calcul STP.
Le port prépare la transition vers l'état actif.
Aucune trame de données transmise.
Apprend la topologie STP (écoute les BPDUs).
Durée par défaut : 15 s.
Le port commence à apprendre les adresses MAC.
Toujours pas de transmission de trafic utilisateur.
Durée par défaut : 15 s.
Le port envoie et reçoit du trafic utilisateur.
Il est pleinement opérationnel.
S1(config)#interface range fa0/1-24
S1(config-if-range)#switchport mode access
S1(config)# spanning-tree portfast default
S1(config)# spanning-tree bpduguard default
spanning-tree portfast default : active PortFast sur tous les ports en mode access → le port passe directement à l’état forwarding (accès immédiat).spanning-tree bpduguard default : active BPDU Guard sur tous les ports en mode access → si une BPDU est reçue, le port est mis en erreur (err-disable), pour bloquer tout switch non autorisé.Accélérer la convergence STP sur les ports reliés à des hôtes (PC, imprimantes…) tout en empêchant qu’un switch non autorisé ne vienne perturber la topologie réseau (prévention des boucles).
S1(config)# interface fa0/1
S1(config-if)# switchport mode access
S1(config-if)# spanning-tree portfast
S1(config-if)# spanning-tree bpduguard enable
Explication : Même objectif que la configuration globale, mais appliqué manuellement sur un port précis au lieu de tous les ports en mode access.
À retenir :
PortFast = accélère la connexion des hôtes (évite les 30s de STP)
BPDU Guard = sécurité : coupe le port si un switch est branché par erreur
Toujours utiliser mode access pour que les ports ne négocient pas de trunk
L'objectif est de limiter l'accès au port à un ou plusieurs appareils spécifiques (par adresse MAC) pour éviter le branchement de périphériques non autorisés ou les attaques de type MAC flooding.
S1(config)# interface fa0/5
S1(config-if)# switchport mode access
S1(config-if)# switchport port-security
S1(config-if)# switchport port-security maximum 3
S1(config-if)# switchport port-security mac-address aaaa.bbbb.1234
S1(config-if)# switchport port-security mac-address sticky
Explication :
switchport mode access : rend le port compatible avec Port Security.switchport port-security : active la sécurité sur le port.maximum 3 : autorise jusqu’à 3 adresses MAC sur ce port.mac-address aaaa.bbbb.1234 : adresse MAC statiquement autorisée.mac-address sticky : le switch apprend automatiquement les adresses MAC dynamiquement connectées et les conserve en mémoire (voire dans la config si enregistrée).Remarque : si une adresse MAC non autorisée est détectée, le port passe en violation (comportement par défaut = shutdown). Ce comportement peut être modifié avec :
S1(config-if)# switchport port-security violation {protect | restrict | shutdown}
protect : dès que la “violation” est constatée, le port arrête de transférer le trafic des adresses non autorisées sans envoyer de message de log.restrict : dès que la “violation” est constatée, le port arrête de transférer le trafic des adresses non autorisées et transmet un message de log.shutdown : dès que la “violation” est constatée, le port passe en état err-disabled (shutdown) et un message de log est envoyé.S1# show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
---------------------------------------------------------------------------
Fa0/5 3 2 0 Shutdown
---------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) : 0
Max Addresses limit in System (excluding one mac per port) : 8192
S1#show port-security interface fa0/5
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 3
Total MAC Addresses : 2
Configured MAC Addresses : 1
Sticky MAC Addresses : 1
Last Source Address:Vlan : 0090.2135.6B8C:1
Security Violation Count : 0
S1# show port-security address
Secure Mac Address Table
-----------------------------------------------------------------------------
Vlan Mac Address Type Ports Remaining Age
(mins)
---- ----------- ---- ----- -------------
1 0090.2135.6b8c SecureSticky Fa0/5 -
1 aaaa.bbbb.1234 SecureConfigured Fa0/5 -
-----------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) : 0
Max Addresses limit in System (excluding one mac per port) : 8192
L'objetif est d'mpêcher les serveurs DHCP non autorisés de distribuer des adresses IP aux clients. DHCP Snooping agit comme un pare-feu au niveau 2 entre les clients et les serveurs DHCP autorisés.
On peut effectuer l'étape 4 avec la l'étape 1.
Active DHCP Snooping globalement et sur les VLANs concernés :
S1(config)# ip dhcp snooping
S1(config)# ip dhcp snooping vlan 10,20,30-49
Marque l'interface g0/1 comme de confiance (vers un vrai serveur DHCP ou un autre switch). Les réponses DHCP sont autorisées sur ce port :
S1(config)# interface range g0/1
S1(config-if-range)# ip dhcp snooping trust
Limite à 10 messages DHCP/sec par port. Protège contre les attaques DoS par inondation de requêtes DHCP.
S1(config)# interface range f0/1 - 24
S1(config-if-range)# ip dhcp snooping limit rate 10
Comportement par défaut (non-trusted)
Les ports non configurés en trusted laissent passer les requêtes DHCP (DISCOVER, REQUEST) mais bloqueront toute réponse (OFFER, ACK) venant d’un serveur DHCP inconnu. Cela empêche un attaquant de distribuer de fausses adresses IP.
switchport trunk native vlan vlan_number.Par exemple, supposons ce qui suit:
Le saut de VLAN peut être atténué en mettant en œuvre la configuration suivante :
S1(config)# interface range fa0/1-16
S1(config-if-range)# switchport mode access
S1(config-if-range)# exit
S1(config)#
S1(config)# interface range fa0/17-20
S1(config-if-range)# switchport mode access
S1(config-if-range)# switchport access vlan 1000
S1(config-if-range)# shutdown
S1(config-if-range)# exit
S1(config)#
S1(config)# interface range fa0/21-24
S1(config-if-range)# switchport mode trunk
S1(config-if-range)# switchport nonegotiate
S1(config-if-range)# switchport trunk native vlan 999
S1(config-if-range)# end
S1#
1. Activer DHCP Snooping et ARP Inspection pour un VLAN spécifique :
S1(config)# ip dhcp snooping
S1(config)# ip dhcp snooping vlan 10
S1(config)# ip arp inspection vlan 10
ip arp inspection vlan 10 : Active ARP Inspection dynamique pour le VLAN 10, ce qui permet de valider les requêtes ARP et d’empêcher les attaques par ARP falsifié.
2. Configurer les interfaces de confiance pour DHCP Snooping et ARP Inspection :
S1(config)# interface fa0/24
S1(config-if)# ip dhcp snooping trust
S1(config-if)# ip arp inspection trust
ip dhcp snooping trust : Marque l'interface fa0/24 comme trusted pour DHCP Snooping. Cela permet à cette interface d’accepter les réponses DHCP provenant d'un serveur DHCP légitime (souvent la connexion vers un autre switch ou un serveur DHCP central).ip arp inspection trust : Marque également l'interface fa0/24 comme trusted pour ARP Inspection, ce qui permet à cette interface de recevoir des requêtes ARP de confiance (venant de serveurs ou de switches authentifiés).Conseil pratique :
En général, seules les interfaces connectées à des serveurs DHCP ou des switches intermédiaires doivent être marquées comme trusted. Tous les autres ports doivent être laissés non-trusted pour empêcher les attaques.
3. Activer la validation des adresses MAC source et destination et de l’adresse IP dans les requêtes ARP :
S1(config)# ip arp inspection validate src-mac
S1(config)# ip arp inspection validate dst-mac
S1(config)# ip arp inspection validate ip
ip arp inspection validate src-mac : Valide que l'adresse MAC source dans la requête ARP correspond à l’adresse MAC du périphérique émetteur. Cela empêche un attaquant d’envoyer des trames ARP avec une adresse MAC source falsifiée.ip arp inspection validate dst-mac : Valide que l'adresse MAC de destination dans la requête ARP correspond à l'adresse MAC cible correcte. Cela empêche des attaques où l’adresse MAC de destination pourrait être modifiée pour rediriger le trafic.ip arp inspection validate ip : Valide que l’adresse IP dans la requête ARP est correcte et correspond à la table de correspondance IP/MAC du switch. Cela protège contre des attaques par ARP où un attaquant essaie de falsifier les associations IP/MAC.Ces validations permettent de renforcer la sécurité en vérifiant l'intégrité des requêtes ARP avant de les accepter. Il est recommandé de les activer sur les VLANs de production, notamment dans des environnements sensibles où des attaques par ARP spoofing pourraient avoir des conséquences graves.
la saisie de plusieurs commandes
ip arp inspection validateécrase la commande précédente. Pour inclure plusieurs méthodes de validation, saisissez-les sur la même ligne.
Exemple :
S1(config)# ip arp inspection validate src-mac dst-mac ip