diff --git a/Makefile b/Makefile index c4883162470aa750ca30a208fecca8c65551549a..ed402f4824124b05b708110e9ee9ffc9e7c75006 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ OPTIONS = --filter=pandoc-numbering OPTIONS += --filter=pandoc-crossref PDFOPTIONS = --highlight-style kate +PDFOPTIONS += -F mermaid-filter PDFOPTIONS += --pdf-engine xelatex PDFOPTIONS += --number-sections PDFOPTIONS += --metadata-file=metadata.yaml diff --git a/content/02_labo_stp.md b/content/02_labo_stp.md new file mode 100644 index 0000000000000000000000000000000000000000..34619360379f9458f4ff1143913a52e196c57006 --- /dev/null +++ b/content/02_labo_stp.md @@ -0,0 +1,134 @@ +--- +lang: fr +--- + +\newpage + + +# Protection d'un LAN d'attaques sur STP + + +## Révision STP + + +### Configuration des machines + +S1 : +```CiscoIOS +conf t +hostname S1 +exit +``` + +S2 : +```CiscoIOS +conf t +hostname S2 +exit +``` + + +S3 : +```CiscoIOS +conf t +hostname S3 +exit +``` + +### Questions + +1. +Ci-dessous nous pouvons voir la sortie de la commande `show spanning-tree` sur +le Switch S1. + +En dessous de l'adresse MAC, il est dit que ce switch (S1) a été élu en tant que +racine. + +```CiscoIOS +VLAN0001 + Spanning tree enabled protocol ieee + Root ID Priority 32769 + Address 0c0c.39d3.0000 + This bridge is the root + Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec + + Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) + Address 0c0c.39d3.0000 + Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec + Aging Time 300 sec +``` + +L'élection de la racine se fait par l'identifiant du switch le plus faible +(Bridge ID). C'est un identifiant de 8 octets où 2 octets correspondent à +la valeur du `Bridge Priority` et les 6 autres octets sont l'adresse MAC de l'appareil. + +Initialement les switches s'envoient des messages `BPDUs` (Bridge Priority Data Unit) +qui contiennent le `Bridge ID` du switch actuel, celui de la racine actuel ainsi +que la distance (_number of hops_) jusqu'à la racine. Au fur et à mesure les divers +arbres des plus courts chemins vers la racine seront calculés. Dans le cas où la +distance pour deux switches jusqu'à la racine est la même, on assignera la priorité +au switch qui porte la valeur de `Bridge Priority` la plus faible. Les ports qui +ne sont pas sur l'arbre couvrant seront désactivé et conserve uniquement les ports +actifs. + +2. La commande `show spanning-tree root` sur le switch S2 nous fourni l'adresse +MAC de la racine ainsi que le coût (distance) vers la racine. Cette commande +nous donne aussi la valeur du _Hello Time_ qui correspond à 2 secondes. Si le +switch ne reçoit pas de BPDU pendant cette durée de temps (timeout de 2 secondes), +l'arbre couvrant sera recalculé. + +```CiscoIOS +S2#show spanning-tree root + + Root Hello Max Fwd +Vlan Root ID Cost Time Age Dly Root Port +---------------- -------------------- --------- ----- --- --- ------------ +VLAN0001 32769 0c0c.39d3.0000 4 2 20 15 Gi0/0 +``` + +3. La raison pour laquelle le champ `Root Port` n'est pas renseigné sur la racine +est que ce champ correspond à l'interface par laquelle passe l'arbre couvrant +jusqu'à la racine. Vu que le "chemin" depuis la racine jusqu'à la racine ne passe +par aucune interface, car il est la racine. + + + +4. +```mermaid +graph TD; + S1-->S2; + S1-->S3; +``` + +L'interface Gi0/2 sur S2 est indiquée en tant que `Altn`. Cette interface est +desactivée (en réalité, elle est marquée comme chemin alternatif vers la racine) +car S3 est relié à la racine par un chemin plus court. Cependant, dans le cas où +ce lien tombe, l'interface Gi0/2 de S2 permettra à S3 de se relier jusqu'à la racine. + +```CiscoIOS +Interface Role Sts Cost Prio.Nbr Type +------------------- ---- --- --------- -------- -------------------------------- +Gi0/2 Altn BLK 4 128.3 P2p +``` + + +5. Afin que le switch S3 devienne la racine, il faut lui assigner une valeur +faible pour le `Bridge Priority`. La commande exécutée est : + +```CiscoIOS +S3(config)#spanning-tree vlan 1 priority 0 +``` +6. +```mermaid +graph TD; + S3-->S1; + S3-->S2; +``` + +À présent, c'est l'interface Gi0/0 sur S2 qui est bloquée. Ceci est le cas, car +cette interface sera utilisée dans le cas où le lien entre S1 et S3 tombe et par +conséquent il servira de chemin pour S1 afin de rejoindre la racine. + +```CiscoIOS +Gi0/0 Altn BLK 4 128.1 P2p +```