Vous êtes sur la page 1sur 10

SPANNING TREE PROTOCOL

Redaction: ENJALBERT Julien 28/02/2010

www.labo-cisco.com

SPANNING TREE PROTOCOL


SOMMAIRE

ENJALBERT Julien 28/02/2010

Introduction .............................................................................................................................................. 3 Qu'est ce que le STP? ............................................................................................................................. 3 STP et la scurit : .................................................................................................................................. 5 Conclusion ............................................................................................................................................... 9

www.labo-cisco.com

Page 2 sur 10

SPANNING TREE PROTOCOL


INTRODUCTION

ENJALBERT Julien 28/02/2010

De nos jours, il est impratif que les rseaux locaux soient redondants. Quand une liaison est interrompue, plus aucune donne ne peut tre transmise. Une des solutions, pour garantir la continuit, est le Protocole Spanning Tree. Ce dernier n'est pas le seul, mais les autres solutions ont des risques de boucles de commutation. Nous aurons donc dans cet article, un rappel sur le fonctionnement de ce protocole. Nous analyserons ensuite la scurit de celui-ci.

QU'EST CE QUE LE STP?


Le STP (Spanning Tree Protocol) permet de bloquer des chemins redondants susceptibles de faire des boucles sur un rseau (couche 2 du modle OSI). En effet, pour assurer la redondance et viter les boucles, on utilise l'algorithme du Spanning Tree, appel STA.

Le Spanning Tree se droule en 3 tapes :

La dsignation d'un root bridge (ou pont racine) : qui sera le point de rfrence pour le calcul des diffrents chemins.

La dsignation des ports racines : c'est--dire les ports qui auront le cot de chemin le plus faible vers le root bridge (nous reviendrons plus tard sur ce "cot").

La dsignation des ports dsigns et non dsigns : les ports dsigns sont ceux qui permettront le transfert de donnes (en gnral ce sont les ports du root bridge), ainsi que la mise jour des adresses MAC ; alors que les ports non dsigns sont les ports qui sont marqus comme "bloqus".

Nous allons donc expliquer les diffrentes tapes. Tout d'abord, nous avons le root bridge. Pour qu'un commutateur soit dfini comme root bridge, les commutateurs (o le protocol STP est activ), vont s'changer des trames BPDU (Bridge Protocol Data Unit) afin de trouver quel pont a l'identifiant (BID) le plus faible du rseau. une fois trouv, le commutateur ayant le plus faible BID deviens alors le root bridge. Si le BID est le mme pour les diffrents commutateurs, alors la comparaison se fera au niveau de l'adresse MAC.

www.labo-cisco.com

Page 3 sur 10

SPANNING TREE PROTOCOL

ENJALBERT Julien 28/02/2010

ici, on peut remarquer que le commutateur S1 a comme priorit 22000. Compar aux autres, S1 a le BID le plus faible, il est donc lu comme root bridge.

La priorit du pont peut tre dfinie manuellement afin de dfinir le root bridge. On pourra donc attribuer la valeur la plus faible au commutateur avec la commande : Switch(config-if)# spanning-tree vlan X priority

Ensuite, le STA va analyser les chemins les plus courts pour accder au root bridge. Pour trouver les ports root, on va faire un calcul qui se nomme le cot des ports. Ce dernier se dfinit en additionnant les diffrents chemins pour aller au root bridge. Chaque chemin se voit attribuer un nombre suivant la vitesse de la connexion.
Vitesse des liaisons Cot 10Gbits/s 1Gbits/s 100Mbits/s 10Mbits/s 2 4 19 100

Le chemin avec le cot le plus faible sera dfini comme chemin le plus court et le port deviendra alors le port racine.

www.labo-cisco.com

Page 4 sur 10

SPANNING TREE PROTOCOL

ENJALBERT Julien 28/02/2010

Afin de dfinir les ports dsigns et non dsigns, les ports qui ne sont pas utiliss sont encore une fois analyss. C'est--dire que chaque commutateur va envoyer des trames BPDU et les BID les plus faibles seront les ports dsigns et les plus forts seront les non dsigns. Les non dsigns vont donc permettre de ne pas avoir de boucles et la seule autorisation est celle des trames BPDU qui vont permettre au cas o un lien devient indisponible de reconfigurer un autre chemin (d'o la redondance). Si les BID sont les mmes, le STA analysera alors les adresses MAC et les comparera en suivant le mme principe que les cots des chemins.

STP ET LA SECURITE :
Un des risques du protocole Spanning Tree, est celui o un attaquant rcupre le rle de root bridge. En effet, le root bridge est slectionn en comparant l'identifiant du commutateur contenu dans une trame BPDU. Sur les commutateurs Cisco, la valeur par dfaut est 32 768. Si deux commutateurs ont le mme BID, alors la comparaison se ferait au niveau des adresses MAC (la plus faible). Un attaquant devra alors envoyer des trames BPDU ayant un identifiant plus faible que celui du root bridge actuel. Afin de mieux comprendre ceci, voici un schma :

www.labo-cisco.com

Page 5 sur 10

SPANNING TREE PROTOCOL

ENJALBERT Julien 28/02/2010

www.labo-cisco.com

Page 6 sur 10

SPANNING TREE PROTOCOL

ENJALBERT Julien 28/02/2010

Pour mettre en oeuvre cette attaque, on peut utiliser le logiciel Yersinia. L'intrt de rcuprer le rle du root bridge donne l'attaquant deux options :

Une possibilit de voir passer le trafic, ce qui peut lui permettre d'avoir des informations ; ce qui permettrait de pntrer le rseau plus profondement. Une possibilit de crer un Dni de service (DoS) sur le rseau.

Pour raliser une attaque DoS, cela se fait pendant la rinitialisation du processus du Spanning Tree. En effet, quand le processus est rinitialis, la table d'adresse MAC se rinitialise galement pendant une quinzaine de secondes. Ce qui laisserait la possibilit de rcuprer une partie du trafic rseau transitant par ce commutateur et pourrait provoquer une attaque dni de service.

Pour contrer ces faiblesses, on va mettre en place des mesures de scurit. Pour cela, on va utiliser diffrents procds :

BPDU guard Root Guard Loop guard BPDU skew Detection

Afin de mettre en place le BPDU guard, il faut activer sur les ports le PortFast, qui est le passage direct de l'tat "blocking" l'tat "forwarding" des ports d'accs. Les commandes sont les suivantes :

1. Switch(config-if)# spanning-tree portfast --> Etablit le PortFast sur le port d'accs et le force se mettre en tat "Forwarding".

2. Switch(config-if)# no spanning-tree portfast --> Dsactive le PortFast sur le port d'accs.

3. Switch(config)# spanning-tree portfast default


--> Etablit le PortFast sur tous les ports.

www.labo-cisco.com

Page 7 sur 10

SPANNING TREE PROTOCOL

ENJALBERT Julien 28/02/2010

Le BPDU guard, a t cr pour protger l'intgrit du protocole STP. Cette fonction se configure directement sur les ports concerns. Si des BPDU sont dtects sur des ports avec cette fonctionnalit activ, ces derniers passeront en mode "errdisable", c'est--dire que les ports seront ferms, ainsi qu'une mise en mode erreur des ports.

Pour activer cette fonction il suffit de se connecter sur l'interface des commutateurs et d'entrer la commande :

Switch(config-if)# spanning-tree bpduguard enable

Sinon, il est galement possible de mettre cette fonction sur tous les ports o le PortFast est tabli :

Switch(config)# spanning-tree portfast bpduguard default

La fonctionnalit Root guard a t dveloppe comme un moyen de contrler les candidats au rle de root bridge connects sur le rseau. Grce cette fonction, si un autre commutateur met une BPDU suprieure ou un meilleur BID sur un port, la fonction root guard va permettre le refus du nouvel arrivant en tant que root. Par dfaut cette fonction n'est pas active ; il faut donc l'activer sur les diffrentes interfaces :

Switch(config-if)# spanning-tree guard root

La fonction loop guard permet de faire des vrifications en plus. Si par exemple un port non dsign ne reoit pas de trame BPDU, ce dernier peut passer en mode dsign et donc crer une boucle. C'est ce moment que la fonction loop guard intervient et permet donc au port de passer en mode "blocking" ; ce qui va empcher la boucle de se former. La commande pour activer le loop guard est :

Switch(config-if)# spanning-tree guard loop

Pour finir, il y a la fonction BPDU skew detection, qui permet de suivre les trames BPDU qui arrivent en retard et d'avertir l'administrateur avec des messages syslog.

>(enable) set spantree bpdu-skewing enable

www.labo-cisco.com

Page 8 sur 10

SPANNING TREE PROTOCOL

ENJALBERT Julien 28/02/2010

CONCLUSION

Pour conclure cet article, nous avons vu le protocole STP, ainsi que ses faiblesses et les moyens pour les contrer. Ce protocole va donc permettre notre LAN d'assurer la redondance. Il faut bien prendre son temps pour scuriser le protocole ; mme si c'est long et fastidieux ; car sans protection il peut devenir un moyen de pirater le LAN.

www.labo-cisco.com

Page 9 sur 10

SPANNING TREE PROTOCOL

ENJALBERT Julien 28/02/2010

www.labo-cisco.com

Retrouvez nos autres laboratoires: www.labo-cisco.com


Labo Microsoft Labo.Net Labo Apple Labo Oracle Labo Linux Labo IBM Labo Mandriva

Page 10 sur 10

Vous aimerez peut-être aussi