Sécurité de la commutation : DTP, port security, EtherChannel
Sommaire
Le niveau 2 est souvent le parent pauvre de la sécurité, alors que c'est par là qu'on entre. Trois mécanismes à maîtriser : la négociation de trunk, le filtrage par adresse MAC, et l'agrégation de liens.
1. DTP et négociation de trunk
DTP (Dynamic Trunking Protocol) est un protocole propriétaire Cisco qui permet à deux ports de négocier automatiquement la formation d'un trunk.
| Mode | Commande | Comportement |
|---|---|---|
| desirable | switchport mode dynamic desirable | Cherche activement à établir un trunk |
| auto | switchport mode dynamic auto | Attend qu'on lui propose un trunk |
| trunk | switchport mode trunk | Se comporte directement comme un trunk |
| access | switchport mode access | Reste dans un seul VLAN, refuse le trunk |
Matrice des combinaisons
| Côté A | Côté B | Résultat |
|---|---|---|
| auto | auto | Pas de trunk — les deux attendent |
| desirable | auto | Trunk |
| desirable | desirable | Trunk |
| trunk | auto | Trunk |
| trunk | trunk | Trunk |
| trunk | access | Incohérence — un côté tague, l'autre non |
| access | n'importe lequel | Pas de trunk |
Deux réponses à retenir : le trunk se forme automatiquement dès qu'au moins un côté est desirable ou trunk ; il ne se forme pas si les deux sont en auto (personne n'initie) ou si un côté est en access (refus).
Le cas trunk / access est le plus instructif : le lien monte, mais les VLAN ne traversent pas correctement. Le côté trunk envoie des trames taguées que le côté access ne sait pas interpréter ; seul le trafic du VLAN natif passe. Deux PC dans le même VLAN sur des switches différents ne se pingent plus.
show interfaces trunk ! trunks actifs, VLAN autorisés, VLAN natif
show interfaces fa0/24 switchport ! mode administratif et mode négocié
2. VLAN hopping
Si un attaquant parvient à convaincre le commutateur de former un trunk avec son PC, il reçoit le trafic de tous les VLAN autorisés sur ce lien — et peut émettre dans n'importe lequel. C'est une élévation de privilèges au niveau 2 : l'isolation logique construite par les VLAN tombe d'un coup.
Deux variantes :
- Par négociation DTP : le port utilisateur est resté en dynamic auto, l'attaquant envoie une trame DTP desirable et obtient son trunk.
- Par double marquage : l'attaquant émet une trame avec deux étiquettes 802.1Q. Le premier commutateur retire l'étiquette externe (celle du VLAN natif), le second lit l'étiquette interne et livre la trame dans le VLAN visé. Cette attaque n'est possible que si l'attaquant est dans le VLAN natif du trunk.
3. Le VLAN natif
Le VLAN natif est celui dont les trames circulent sans étiquette sur un trunk.
configure terminal
vlan 60
name NATIF
exit
interface gigabitEthernet 0/1
switchport mode trunk
switchport trunk native vlan 60
switchport trunk allowed vlan 10,20,30,40,50
exit
end
Le test du VLAN natif désaligné
Si l'on configure un VLAN natif différent de chaque côté du trunk, le trafic non tagué d'un côté est interprété comme appartenant à un autre VLAN de l'autre côté. Deux machines censées être dans le même réseau ne communiquent plus, et le trafic atterrit dans un VLAN qui ne le concerne pas — ce qui est une fuite.
CDP signale l'incohérence par un message Native VLAN mismatch. Le lien reste pourtant actif : c'est une erreur silencieuse en apparence, et grave dans les faits.
Trois règles, systématiquement attendues en compte rendu :
- Ne pas utiliser le VLAN 1 comme VLAN natif : il est le VLAN par défaut, connu de tous, et porte les protocoles internes Cisco (CDP, VTP, STP). C'est la première valeur qu'un attaquant essaiera.
- Aligner le VLAN natif des deux côtés de chaque trunk.
- Ne jamais y brancher d'utilisateur : le VLAN natif doit rester vide, ce qui rend le double marquage inopérant.
Le VLAN blackhole
Complément de la même logique : on crée un VLAN BLACKHOLE (par exemple l'identifiant 70), sans aucun accès ni passerelle, et l'on y place tous les ports non utilisés. Un port libre devient ainsi inexploitable, même si quelqu'un y branche un câble. C'est l'application du moindre privilège au commutateur.
4. Durcir les ports utilisateurs
configure terminal
interface range fastEthernet 0/1 - 20
switchport mode access ! interdit toute négociation de trunk
switchport access vlan 10
switchport nonegotiate ! coupe l'émission de trames DTP
spanning-tree portfast ! passage immédiat en forwarding
spanning-tree bpduguard enable ! désactive le port si un BPDU arrive
exit
end
| Mesure | Ce qu'elle empêche |
|---|---|
switchport mode access | Le VLAN hopping par négociation DTP |
switchport nonegotiate | L'émission de trames DTP, qui renseignent l'attaquant |
bpduguard | Qu'un switch pirate s'insère dans l'arbre spanning-tree |
| VLAN blackhole sur les ports libres | Le branchement sauvage sur une prise inutilisée |
shutdown des ports inutilisés | Tout usage, la mesure la plus radicale |
| Port security | Le branchement d'un équipement non autorisé |
5. Port Security
Le principe est de limiter quelles adresses MAC ont le droit d'apparaître sur un port. Le commutateur n'autorise par exemple qu'une seule MAC : celle du poste attendu.
configure terminal
interface fastEthernet 0/5
switchport mode access
switchport port-security
switchport port-security maximum 1
switchport port-security mac-address sticky
switchport port-security violation shutdown
exit
end
show port-security
show port-security interface fastEthernet 0/5
| Option | Effet |
|---|---|
maximum 1 | Une seule MAC autorisée sur le port |
mac-address sticky | Le switch apprend la MAC présente et l'inscrit dans sa configuration — évite de la saisir à la main |
mac-address aaaa.bbbb.cccc | MAC autorisée fixée explicitement |
Les trois modes de violation
| Mode | Trafic non autorisé | Port | Compteur | Alerte SNMP |
|---|---|---|---|---|
| protect | Rejeté | Reste actif | Non | Non |
| restrict | Rejeté | Reste actif | Oui | Oui |
| shutdown (défaut) | Rejeté | err-disabled | Oui | Oui |
En mode shutdown, le port passe en état err-disabled : il est éteint
administrativement et ne se rallume pas tout seul. Remise en service :
configure terminal
interface fastEthernet 0/5
shutdown
no shutdown
exit
end
| Avantages | Limites |
|---|---|
| Simple à mettre en œuvre, sans infrastructure supplémentaire | Une MAC s'usurpe facilement : c'est un filtre, pas une authentification |
| Bloque le branchement d'un équipement non autorisé | Le remplacement d'un PC légitime exige une intervention manuelle |
| Détecte les déplacements de postes | Administration lourde sur un grand parc |
| Contre la saturation de la table CAM | Incompatible avec certains usages (postes partagés, VM) |
Pour une vraie authentification au niveau du port, la réponse est 802.1X : le poste doit présenter des identifiants à un serveur RADIUS avant d'obtenir le moindre accès. Port security relève de l'hygiène, 802.1X de la sécurité.
6. EtherChannel
Un EtherChannel regroupe plusieurs liens physiques entre les mêmes deux commutateurs pour n'en former qu'un seul lien logique.
- Bande passante additionnée : quatre liens gigabit forment un canal de 4 Gbit/s agrégés.
- Tolérance de panne : si un câble tombe, le canal continue de fonctionner avec les liens restants, sans reconvergence spanning-tree.
- Un seul lien pour STP : le spanning-tree voit une seule interface logique et ne bloque donc aucun des liens physiques — c'est là le vrai gain par rapport à deux câbles indépendants.
configure terminal
interface range fastEthernet 0/23 - 24
channel-group 1 mode on ! agrégation statique
exit
interface port-channel 1
switchport mode trunk
switchport trunk allowed vlan 10,20,30,40,50
switchport trunk native vlan 60
exit
end
show etherchannel summary
show interfaces port-channel 1
| Mode | Protocole | Comportement |
|---|---|---|
on | Aucun | Agrégation forcée, aucune vérification — les deux côtés doivent être en on |
active / passive | LACP (802.3ad, standard) | Négociation, interopérable multi-constructeurs |
desirable / auto | PAgP (Cisco) | Négociation propriétaire |
Répartition de charge
configure terminal
port-channel load-balance src-dst-ip ! ou src-mac, dst-mac, src-dst-mac...
end
show etherchannel load-balance
Point à comprendre : la répartition se fait par flux, pas par paquet. Un algorithme de hachage sur les adresses choisit le lien physique, et tous les paquets d'une même conversation empruntent donc le même lien. Cela garantit l'ordre d'arrivée, mais signifie aussi qu'un transfert unique ne dépassera jamais le débit d'un seul lien. L'agrégation augmente le débit cumulé, pas le débit d'une conversation isolée.
Conditions de formation, souvent source d'échec en TP : tous les ports du canal doivent avoir la
même vitesse, le même duplex, le même mode (access ou trunk),
la même liste de VLAN autorisés et le même VLAN natif. La moindre divergence
empêche le canal de monter, et show etherchannel summary affiche alors un port en
(s) — suspended.
À retenir
- DTP négocie le trunk — trunk formé si un côté est desirable ou trunk
- auto / auto → pas de trunk | access → refus
- VLAN hopping = obtenir un trunk depuis un port utilisateur → tous les VLAN visibles
- VLAN natif : jamais le VLAN 1, aligné des deux côtés, sans utilisateur
- VLAN blackhole pour tous les ports inutilisés
switchport mode access+nonegotiatesur tout port utilisateur- Port security : protect (silencieux), restrict (alerte), shutdown (défaut)
- err-disabled → se relève par
shutdownpuisno shutdown - Une MAC s'usurpe → port security = filtre, 802.1X = authentification
- EtherChannel = bande passante additionnée + tolérance de panne + un seul lien pour STP
- Répartition par flux → un transfert seul ne dépasse pas un lien