diff --git a/content/01_labo1_macflooding.md b/content/01_labo1_macflooding.md new file mode 100644 index 0000000000000000000000000000000000000000..cba6790e63640ca94c3bbaee3aa93ad5fe775233 --- /dev/null +++ b/content/01_labo1_macflooding.md @@ -0,0 +1,74 @@ +# Protection d'un LAN d'attaques "macflooding" + + +## Initialisez la machine pour H1 + +```bash +dhclient -v mgmt0 +apt update +apt -y --no-install-recommends install git python3-pip python-is-python3 tcpreplay +pip3 install scapy +git clone https://gitedu.hesge.ch/hoerdt-public/sendether +cd sendether && chmod 755 sendether.py && cp sendether.py /usr/local/bin +hostnamectl set-hostname H1 +ip addr add 10.0.0.1/24 dev eth0 +ip link set up dev eth0 +ip link set dev eth0 addr 00:00:00:00:00:01 +exit +``` + +## Initialiser la machine H2 + + +```bash +hostnamectl set-hostname H2 +ip addr add 10.0.0.2/24 dev eth0 +ip link set up dev eth0 +ip link set dev eth0 addr 00:00:00:00:00:02 +exit +``` + + +## Initialisez la machine H3 + + +```bash +hostnamectl set-hostname H3 +ip addr add 10.0.0.3/24 dev eth0 +ip link set up dev eth0 +ip link set dev eth0 addr 00:00:00:00:00:03 +exit +``` + + +## Fonctionnement normal d'un switch + +1. La valeur du `aging-time` de la table MAC de S1 est de 300s (5 min). Cette +valeur signifie la quantité de temps dont une adresse MAC sera stocké dans la +table MAC. + +2. La commande `show mac-address-table count` retourne la valeur maximale +d'adresses MACs qui peuvent être stockés dans la table MAC ainsi que le nombre +d'adresse MAC actuellement dans la table + +3. + 1. S1 $\Rightarrow$ H1, H2, H3 + 2. S2 $\Rightarrow$ H1, H2 + 2. S3 $\Rightarrow$ H1, H3 + +4. ```bash + ping -c 5 10.0.0.2 && ping -c 5 10.0.0.3 + ``` +La table est construite MAC grâce au spanning tree protocol (STP). Suite au +fait qu'il y ait des paquets ICMP entre H1 $\leftrightarrow$ H2 et H1 $\leftrightarrow$ +H3, le switch racine élu par conséquent sera S1 qui est rélié directement à H1. + +5. La raison pour laquelle on ne voit pas les messages ICMP entre H1 et H2 sur +le lien entre S1 et S3 car les adresses MAC de H1 et H2 ont été ajouté à la +table MAC avant que cette table ne soit pleine, par conséquent le trafic entre +ces deux hôtes ne sera pas redirigé sur tous les ports ce qui survient en mode +_fail-open_ lorsque la table MAC est pleine est qu'une communication est établie +entre 2 hôtes qui ne sont pas encore présent dans ladite table. + + +## Injection de trames sur le réseau