From 63504038457488706f093bade10381e1df34dfa2 Mon Sep 17 00:00:00 2001 From: iliya <iliya.saroukha@hes-so.ch> Date: Sat, 7 Oct 2023 14:24:19 +0200 Subject: [PATCH] feat: lab1 finished --- Makefile | 4 ++ content/01_labo1_macflooding.md | 101 ++++++++++++++++++++++++++++++-- 2 files changed, 100 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index c019484..c488316 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,10 @@ debug: $(TEX) $(TARGET): $(MD) $(METADATA) pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) + +labo1_saroukhanian_iliya.pdf: content/01_labo1_macflooding.md $(METADATA) + pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) + $(TEX): $(MD) pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) diff --git a/content/01_labo1_macflooding.md b/content/01_labo1_macflooding.md index e258a4d..51d43ce 100644 --- a/content/01_labo1_macflooding.md +++ b/content/01_labo1_macflooding.md @@ -161,7 +161,7 @@ attente de la quantité spécifiée en ms entre chaque envoie de paquets. pleine. Par conséquent aucune nouvelle entrée ne sera ajoutée et les paquets de ces nouvelles entrées seront floodés sur tous les ports. Le switch passe en mode `fail-open` de que la table MAC d'un switch a atteint sa capacité de stockage -maximale d'adresses MAC, en l'occurrence la quantité maximale est de $2^{13} = 8192$ +maximale d'adresses MAC, en l'occurrence la quantité maximale est de $2^{13} = 8192$. 6. Oui, en théorie il est possible de voir les messages ICMP qui transitent entre H1 et H3 car suite au fait que le switch est passé en mode _"fail-open"_, c'est-à -dire @@ -173,12 +173,13 @@ ICMP envoyé depuis H2 à H3 est bien visible sur le lien H1 $\Rightarrow$ S1.  -8. Lorem ipsum dolor sit amet, officia excepteur ex fugiat reprehenderit enim labore culpa sint ad nisi Lorem pariatur mollit ex esse exercitation amet. Nisi anim cupidatat excepteur officia. Reprehenderit nostrud nostrud ipsum Lorem est aliquip amet voluptate voluptate dolor minim nulla est proident. Nostrud officia pariatur ut officia. Sit irure elit esse ea nulla sunt ex occaecat reprehenderit commodo officia dolor Lorem duis laboris cupidatat officia voluptate. Culpa proident adipisicing id nulla nisi laboris ex in Lorem sunt duis officia eiusmod. Aliqua reprehenderit commodo ex non excepteur duis sunt velit enim. Voluptate laboris sint cupidatat ullamco ut ea consectetur et est culpa et culpa duis. +8. Cela se produit sûrement parce que les paquets seront "droppé" après un certain +temps donné. ## Protection du LAN -### Port Security (Trunk) +### Port Security --- Trunk ```CiscoIOS Switch# @@ -201,7 +202,7 @@ Security // Verifies the configuration où `type slot/port` est ex.: `GigabitEthernet 0/0` -### Port Security (Access Port) +### Port Security --- Access Port ```CiscoIOS Switch# @@ -210,6 +211,7 @@ Switch(config)#interface type slot/port // Selects the LAN port to configure Switch(config-if)#switchport // Configures the port as a Layer 2 port Switch(config-if)#switchport mode access // Configures the port as a Layer 2 access // port +Switch(config-if)#switchport port-security // Enables port-security on access port Switch(config-if)#switchport port-security maximum n_addresses vlan {vlan_ID | vlan_range} // Enables port security on trunk and sets the maximum number of secure MAC addresses for the // port (default 1). @@ -246,5 +248,94 @@ Switch#show port-security interface GigabitEthernet 0/0 ``` +### Configuration interface GigabitEthernet 0/1 + +```CiscoIOS +Switch# +Switch#conf t +Switch(config)#interface GigabitEthernet 0/1 +Switch(config-if)#switchport +Switch(config-if)#switchport mode access +Switch(config-if)#switchport port-security +Switch(config-if)#switchport port-security maximum 8 +Switch(config-if)#switchport port-security violation shutdown +Switch(config-if)#switchport port-security aging time 1 +Switch(config-if)#no shutdown +============= Config checks ============= +Switch(config-if)#do show port-security interface GigabitEthernet 0/1 | include Port Security +Switch(config-if)#do show port-security interface GigabitEthernet 0/1 | include Maximum +Switch(config-if)#do show port-security interface GigabitEthernet 0/1 | include shutdown +Switch#show port-security interface GigabitEthernet 0/1 +========================================= +``` + +### Configuration interface GigabitEthernet 0/2 + + +```CiscoIOS +Switch# +Switch#conf t +Switch(config)#interface GigabitEthernet 0/2 +Switch(config-if)#switchport +Switch(config-if)#switchport mode access +Switch(config-if)#switchport port-security +Switch(config-if)#switchport port-security maximum 8 +Switch(config-if)#switchport port-security violation shutdown +Switch(config-if)#switchport port-security aging time 1 +Switch(config-if)#no shutdown +============= Config checks ============= +Switch(config-if)#do show port-security interface GigabitEthernet 0/2 | include Port Security +Switch(config-if)#do show port-security interface GigabitEthernet 0/2 | include Maximum +Switch(config-if)#do show port-security interface GigabitEthernet 0/2 | include shutdown +Switch#show port-security interface GigabitEthernet 0/2 +========================================= +``` + +### Test du bon fonctionnement de Port Security + +1. + - `show port-security interface GigabitEthernet 0/0` $\Rightarrow$ affiche la + configuration du _port security_ sur l'interface GigabitEthernet 0/0. + - `show port-security` $\Rightarrow$ affiche les interfaces sur lesquelles _port + security_ a été configuré ainsi que le nombre d'infractions qui ont eu lieu. + - `show interfaces status` $\Rightarrow$ affiche le statut des interfaces disponibles + sur le switch (si elles sont connectées ou pas). + + +Suite à la violation de sécurité provoquée sur S1 grâce à l'outil `sendether.py` +on remarque que les commandes enumérées ci-dessus reflètent bien cet évenemment. +La commande `show interfaces status` affiche que le statut de l'interface GigabitEthernet 0/0 +est passé de `connected` à `err-disabled`. + +Au moment de la violation, les notifications "d'infractions" se sont bien affichées +sur la console ce qui signifie que notre configuration au niveau du mode de +"violation" est correcte. + +```CiscoIOS +*Oct 7 11:51:06.732: %PM-4-ERR_DISABLE: psecure-violation error detected on Gi0/0, putting Gi0/0 in err-disable state +*Oct 7 11:51:06.736: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address 0087.fdc9.7121 on port GigabitEthernet0/0. +*Oct 7 11:51:06.736: %PORT_SECURITY-2-PSECURE_VIOLATION_VLAN: Security violation on port GigabitEthernet0/0 due to MAC address 0087.fdc9.7121 on VLAN 1 +*Oct 7 11:51:07.732: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to down +*Oct 7 11:51:08.735: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to down +``` + +La commande `show port-security` affiche le nombre d'adresses MAC "secure" qui +correspond au nombre maximal qu'on a configuré (8). On remarque aussi que la +valeur de "SecurityViolation" s'est incrémentée et est passée à 1. + +En ce qui concerne la commande `show port-security interface GigabitEthernet 0/0`, +elle reflète la "violation" qui s'est produite en mettant à jour la valeur du +compteur "SecurityViolation". + + +2. Le risque d'une réactivation automatique est que l'attaque lancée reprendra +son effet s'il n'a pas été arrête entre-temps par la personne malveillante. +L'inconvénient est qu'il est possible de mettre "hors-service" tous les ports +d'un switch si diverses attaques ont été lancées sur tous les ports ce qui +rendrait le switch inutilisable et "hors-service". A mon avis, il faudrait pouvoir +instaurer un méchanisme qui surveillerai la fréquence à laquelle les paquets arrivent +sur le switch. C'est un des rares facteurs grâce auquel à mon avis il est encore +possible de discerner du trafic normal et repérer une attaque car les paquets +seront envoyés à une cadence constante. + -### Port Security Violation Mode on a Port -- GitLab