TP 003

🔐 Inspection DHCP (DHCP Snooping)

Domaine : Sécurité couche 2 (Layer 2 Security)

⏱ 60–90 min | 🎯 AvancĂ©

Assurez-vous d’avoir configurĂ© votre environnement avant de tĂ©lĂ©charger l’activitĂ©.

1. Contexte

Le protocole DHCP (Dynamic Host Configuration Protocol) est indispensable au fonctionnement des rĂ©seaux d’accĂšs modernes, car il permet l’attribution dynamique des paramĂštres IP aux clients. Toutefois, il prĂ©sente une faiblesse structurelle majeure : le processus standard ne prĂ©voit aucun mĂ©canisme d’authentification entre le client et le serveur DHCP. En pratique, un client accepte la premiĂšre offre valide reçue, ce qui ouvre la voie aux attaques de type DHCP spoofing et Man-in-the-Middle (MITM). Un attaquant connectĂ© Ă  un port utilisateur peut donc introduire un serveur DHCP malvaillant (Rogue DHCP Server) et distribuer de faux paramĂštres rĂ©seau, par exemple une passerelle (gateway) frauduleuse ou un serveur DNS malveillant. L’objectif n’est pas seulement de perturber l’accĂšs au rĂ©seau, mais aussi de dĂ©tourner le trafic, d’intercepter les communications ou d’empoisonner la rĂ©solution de noms. Ces mĂ©canismes relĂšvent directement des catĂ©gories spoofing et MITM dĂ©crites dans les fondamentaux de sĂ©curitĂ© rĂ©seau. Les impacts se lisent clairement au regard de la triade CIA (Confidentiality, Integrity, Availability) :
  • Confidentiality : interception du trafic utilisateur.
  • Integrity : modification ou redirection des flux via une fausse gateway ou un DNS frauduleux.
  • Availability : perturbation de l’attribution d’adresses, voire dĂ©ni de service via des attaques comme le DHCP starvation.

⚙ PrĂ©-requis

Avant de commencer ce TP, assurez-vous que :

– Packet Tracer est installĂ© et fonctionnel
– Votre environnement de travail est prĂȘt

Voir le guide de prĂ©paration de l’environnement.

2. Objectifs du laboratoire

Ce laboratoire a pour objectif de démontrer deux éléments complémentaires :
  • comment un serveur DHCP malveillant peut exploiter l’absence de contrĂŽle natif du protocole ;
  • comment l’inspection DHCP (DHCP Snooping) permet au switch d’accĂšs de filtrer les rĂ©ponses DHCP non autorisĂ©es.
L’objectif de sĂ©curitĂ© n’est pas uniquement de “faire fonctionner DHCP”, mais de contrĂŽler le plan de distribution des paramĂštres IP au niveau du switch d’accĂšs, afin de rendre le processus observable, contrĂŽlable et auditable.

3. Topologie

La topologie met en scĂšne un switch d’accĂšs SW1 connectĂ© Ă  un switch de distribution SW2. Les postes utilisateurs sont placĂ©s dans le VLAN 10, tandis que les ports inutilisĂ©s sont isolĂ©s dans le VLAN 999 de type Blackhole.

  • Fa0/1–3 : ports d’accĂšs en VLAN 10, considĂ©rĂ©s comme untrusted.
  • Fa0/24 : lien trunk vers SW2, considĂ©rĂ© comme trusted.
  • Le serveur DHCP lĂ©gitime se trouve derriĂšre le chemin de confiance passant par le trunk.
  • Un serveur DHCP malveillant est connectĂ© Ă  un port utilisateur non trusted.

Cette séparation permet au switch de distinguer les clients DHCP des sources autorisées de réponses DHCP.

4. Concept étudié

DHCP Snooping est une fonction de sécurité de couche 2 qui inspecte les messages DHCP et applique une politique de confiance basée sur le rÎle des interfaces. Le principe repose sur deux catégories de ports :
  • Trusted interfaces : interfaces autorisĂ©es Ă  transporter les messages DHCP serveur, notamment DHCPOFFER, DHCPACK et autres rĂ©ponses issues du serveur lĂ©gitime.
  • Untrusted interfaces : interfaces utilisateur sur lesquelles seuls les messages Ă©mis par les clients DHCP doivent ĂȘtre acceptĂ©s.
DHCP Snooping ne protĂšge pas uniquement “le service DHCP” ; il introduit un modĂšle de confiance sur le plan de contrĂŽle de couche 2. Le switch ne se contente plus de relayer les trames : il vĂ©rifie l’origine logique des messages DHCP et applique une politique de filtrage. Cette fonction s’appuie Ă©galement sur une DHCP Binding Table, qui enregistre les associations entre :
  • adresse IP,
  • adresse MAC,
  • VLAN,
  • port d’accĂšs,
  • durĂ©e de bail (lease).
Cette table devient une source de vĂ©ritĂ© rĂ©seau exploitable par d’autres mĂ©canismes comme Dynamic ARP Inspection (DAI) ou IP Source Guard.

5. ScĂ©nario d’attaque

Dans ce scĂ©nario, un serveur DHCP malveillant est connectĂ© au port Fa0/3, qui est un port d’accĂšs non trusted dans le VLAN 10.

Le dĂ©roulement de l’attaque est le suivant :

  1. Le client diffuse un DHCP DISCOVER.
  2. Le serveur mavaillant répond rapidement avec un DHCP OFFER falsifié.
  3. Le serveur lĂ©gitime rĂ©pond Ă©galement, mais le client peut accepter l’offre reçue en premier.

Le serveur malveillant peut alors fournir :

  • une fausse passerelle par dĂ©faut pour intercepter le trafic ;
  • un serveur DNS frauduleux pour rediriger les requĂȘtes vers de fausses destinations ;
  • des paramĂštres IP incohĂ©rents provoquant une perturbation du service.

Cette attaque permet notamment :

  • une interception du trafic (MITM) ;
  • une redirection ou manipulation des flux ;
  • un empoisonnement DNS ;
  • une dĂ©gradation du service rĂ©seau.

6. Analyse avant configuration

Avant activation de DHCP Snooping, le protocole DHCP fonctionne sur une logique de diffusion et de confiance implicite :
  • le DHCP DISCOVER est envoyĂ© en broadcast ;
  • tout Ă©quipement capable de rĂ©pondre peut envoyer un DHCP OFFER ;
  • le client n’a aucun moyen natif de vĂ©rifier si l’offre provient d’une source lĂ©gitime.
En d’autres termes, le protocole est vulnĂ©rable par conception, car il ne diffĂ©rencie pas un serveur autorisĂ© d’un serveur malveillant. Le problĂšme n’est donc pas une simple erreur de configuration : c’est une faiblesse structurelle du mĂ©canisme de distribution d’adresses. Le support CCNAv7 rappelle d’ailleurs que DHCP Snooping sert prĂ©cisĂ©ment Ă  prĂ©venir les attaques contre DHCP et les serveurs DHCP illicites, en complĂ©ment d’autres mĂ©canismes de mitigation Layer 2. Sans sĂ©paration trusted/untrusted, le switch relaie indistinctement les rĂ©ponses DHCP. C’est cette absence de frontiĂšre de confiance que l’attaquant exploite.

7. Travaux pratiques (Labs)

AprĂšs avoir appliquĂ© le durcissement des ports et des VLANs (TP001) ainsi que la sĂ©curisation des accĂšs (TP002), nous allons maintenant protĂ©ger le processus d’attribution IP grĂące Ă  DHCP Snooping, afin d’empĂȘcher tout serveur DHCP malveillant de distribuer des paramĂštres rĂ©seau non autorisĂ©s.

Phase 1 — Activation du mĂ©canisme

  1. Activer DHCP Snooping globalement sur le switch d’accùs.

    → initialise le moteur d’inspection DHCP.

  2. Activer DHCP Snooping uniquement sur le VLAN 10.

    → limite la protection au domaine utilisateur ciblĂ©.

Phase 2 — DĂ©finition du modĂšle de confiance

  1. Déclarer le port Fa0/24 comme trusted.

    → correspond au chemin vers le serveur DHCP lĂ©gitime.

  2. VĂ©rifier que les ports Fa0/1–3 restent untrusted.

    → empĂȘche les clients ou serveurs rogue d’émettre des rĂ©ponses DHCP autorisĂ©es.

Phase 3 — CohĂ©rence de la topologie

  1. Vérifier la cohérence du trunk entre SW1 et SW2.

    → le VLAN 10 doit ĂȘtre autorisĂ© et le VLAN natif doit rester conforme Ă  la stratĂ©gie de durcissement.

Phase 4 — VĂ©rification du fonctionnement normal

  1. GĂ©nĂ©rer une requĂȘte DHCP depuis un client du VLAN 10.
  2. VĂ©rifier la crĂ©ation d’une entrĂ©e dans la DHCP Binding Table.

    → confirmer que le switch apprend correctement l’association IP / MAC / VLAN / Port.

Phase 5 — Simulation d’attaque

  1. Émettre un DHCPOFFER depuis le Rogue DHCP Server connectĂ© sur Fa0/3.
  2. Observer le comportement du switch face à cette réponse DHCP non autorisée.

    → le paquet doit ĂȘtre filtrĂ© car il provient d’un port untrusted.

Phase 6 — Validation finale

  1. Vérifier que seules les réponses DHCP provenant du port trusted sont acceptées.
  2. Vérifier que les réponses DHCP provenant des ports untrusted sont bloquées.
  3. Sauvegarder votre configuration dans la mémoire non volatile (NVRAM)

Résultat attendu

  • Le client obtient une adresse IP valide depuis le serveur DHCP lĂ©gitime.
  • Le serveur DHCP rogue est ignorĂ© ou ses rĂ©ponses sont supprimĂ©es.
  • La DHCP Binding Table est correctement alimentĂ©e.
  • Le switch contrĂŽle effectivement le plan de distribution IP du VLAN utilisateur.

Une fois votre environnement prĂȘt, tĂ©lĂ©chargez l’activitĂ© suivante :

8. Solution type

La logique de configuration attendue repose sur les principes suivants :
  • DHCP Snooping activĂ© globalement sur SW1.
  • DHCP Snooping activĂ© uniquement sur le VLAN 10.
  • Les ports utilisateurs Fa0/1–3 laissĂ©s en untrusted.
  • Le port uplink/trunk Fa0/24 dĂ©fini comme trusted.
  • Les ports inutilisĂ©s maintenus en VLAN 999 et shutdown.
  • Le trunk limitĂ© aux VLANs strictement nĂ©cessaires.
  • Une DHCP Binding Table gĂ©nĂ©rĂ©e dynamiquement lors du processus DHCP.
  • Une limitation de dĂ©bit DHCP peut ĂȘtre appliquĂ©e sur les ports untrusted si le contexte le justifie.
Principe de sécurité
Les interfaces trusted sont les seules autorisĂ©es Ă  transporter les rĂ©ponses DHCP serveur (DHCPOFFER, DHCPACK). Les interfaces untrusted ne doivent transporter que les requĂȘtes DHCP Ă©mises par les clients.

SW1>enable
SW1#configure terminal

! 1) Activation globale de DHCP Snooping
SW1(config)#ip dhcp snooping

! 2) Activation de DHCP Snooping sur le vlan utilisateur
SW1(config)#ip dhcp snooping vlan 10

! 3) Optionnel: limitation du débit DHCP pour réduire les abus sur les ports utilisateurs
SW1(config)#interface range Fa0/1-3
SW1(config-if-range)#ip dhcp snooping limit rate 10
SW1(config-if-range)#exit

SW1(config)#interface Fa0/24
SW1(config-if)#ip dhcp snooping trust

SW1(config-if)#end
SW1#copy running-config startup-config

SW2>enable
SW2#configure terminal

SW2(config)#interface Fa0/23
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access vlan 10

SW2(config-if)#end
SW2#copy running-config startup-config

Serveur DHCP légitime

IP Configuration
================ 
IPv4 Address: 192.168.1.253
Subnet Mask: 255.255.255.0
 
ParamĂštre Service DHCP
======================
Service: ON
Pool Name: VLAN10
Default Gateway: 192.168.1.254
DNS Server: 8.8.8.8
Start IP Address: 192.168.1.11
Subnet Mask: 255.255.255.0
Maximum Number of Users: 100

Serveur DHCP malveillant

IP Configuration 
================
IPv4 Address: 192.168.1.252
Subnet Mask: 255.255.255.0
 
ParamĂštre Service DHCP
======================
Service: ON
Pool Name: ROGUE
Default Gateway: 192.168.1.254 (correct)
DNS Server: 6.6.6.6 (malveillant)
Start IP Address: 192.168.1.201
Subnet Mask: 255.255.255.0
Maximum Number of Users: 50

9. Vérification et tests

Une fois la configuration appliquée, il faut vérifier que DHCP Snooping fonctionne
conformĂ©ment Ă  l’objectif du laboratoire : seules les rĂ©ponses DHCP provenant du
chemin trusted doivent ĂȘtre autorisĂ©es, tandis que les rĂ©ponses Ă©mises depuis un port
untrusted doivent ĂȘtre bloquĂ©es.

Objectif de validation

Le but n’est pas seulement de confirmer que le client reçoit une adresse IP, mais de vĂ©rifier que
le switch contrîle activement l’origine des messages DHCP et construit correctement
sa DHCP Binding Table.

1. VĂ©rifier l’état global de DHCP Snooping

Commencez par confirmer que la fonction est activĂ©e globalement et qu’elle est bien appliquĂ©e au VLAN 10.

SW1>enable
SW1#show ip dhcp snooping


À vĂ©rifier dans la sortie :

  • DHCP Snooping activĂ© globalement
  • VLAN 10 listĂ© comme VLAN protĂ©gĂ©
  • Fa0/24 identifiĂ© comme trusted
  • Fa0/1–Fa0/3 considĂ©rĂ©s comme untrusted.

2. Vérifier la DHCP Binding Table

AprĂšs qu’un client a obtenu une adresse IP via le serveur DHCP lĂ©gitime, le switch doit crĂ©er une entrĂ©e dans la base de binding DHCP.

SW1>enable
SW1#show ip dhcp snooping binding


Résultat attendu :

  • une association IP / MAC / VLAN / Interface visible
  • le port du client correctement identifiĂ©
  • le VLAN 10 correctement renseignĂ©
  • une durĂ©e de bail active si le contexte Packet Tracer l’affiche.
Pourquoi cette vérification est importante

La DHCP Binding Table n’est pas seulement un journal d’attribution IP. Elle constitue une source de vĂ©ritĂ© utilisĂ©e ensuite par des mĂ©canismes comme
Dynamic ARP Inspection (DAI) et IP Source Guard.

3. Vérifier la configuration du trunk trusted

VĂ©rifiez que le port trunk Fa0/24 est bien configurĂ© en trunk, avec le VLAN natif attendu, et qu’il est dĂ©clarĂ© trusted pour DHCP Snooping.

SW1>enable
SW1#show running-config | section interface FastEthernet0/24


À vĂ©rifier :

–> ip dhcp snooping trust prĂ©sent sur Fa0/24.

4. Vérifier le comportement normal du client

Depuis le client légitime, renouveler ou redemander une adresse IP. Le but est de vérifier que le trafic DHCP normal traverse correctement le switch.

Vérification attendue :

  • le client obtient une adresse IP valide
  • la passerelle par dĂ©faut est correcte
  • la binding table est alimentĂ©e
  • aucun blocage ne survient sur le chemin trusted.

5. Tester l’attaque Rogue DHCP

Simuler ensuite l’émission d’une rĂ©ponse DHCP depuis le Rogue DHCP Server connectĂ© sur Fa0/3, qui est un port untrusted.

Ce qu’il faut observer :

  • le paquet DHCP serveur Ă©mis depuis Fa0/3 doit ĂȘtre filtrĂ©
  • le client ne doit pas recevoir de configuration frauduleuse
  • le serveur lĂ©gitime doit rester la seule source valable de rĂ©ponses DHCP
  • le trafic DHCP serveur provenant d’un port untrusted ne doit jamais ĂȘtre acceptĂ©.
Résultat sécurité attendu
Une rĂ©ponse DHCPOFFER ou DHCPACK provenant d’un port untrusted doit ĂȘtre rejetĂ©e. Le switch ne doit accepter ce type de trafic que depuis un port trusted.

6. Vérifier la cohérence globale aprÚs attaque

AprĂšs la simulation d’attaque, effectuez une derniĂšre vĂ©rification globale pour confirmer que
le réseau reste cohérent.

SW1>enable
SW1#show ip dhcp snooping
SW1#show ip dhcp snooping binding
SW1#show running-config | section interface FastEthernet0/24


Validation finale :

  • DHCP Snooping reste activĂ© ;
  • la table de binding contient uniquement les associations lĂ©gitimes
  • Fa0/24 reste trusted
  • les ports utilisateurs restent untrusted
  • le client conserve une configuration IP lĂ©gitime.

đŸ§Ș Questions de validation

 Pourquoi un port est-il trusted ?

Parce qu’il appartient au chemin de confiance menant au serveur DHCP lĂ©gitime et qu’il est autorisĂ© Ă  transporter les rĂ©ponses DHCP serveur.

 Que filtre exactement DHCP Snooping ?

Les messages DHCP serveur, notamment DHCPOFFER et DHCPACK, lorsqu’ils proviennent d’une interface non autorisĂ©e.

 Quel est le rîle de la binding table ?

Elle enregistre les associations IP–MAC–VLAN–Port apprises dynamiquement et sert de base de validation pour d’autres mĂ©canismes de sĂ©curitĂ©.

💡 Astuce

  • Limiter les VLANs autorisĂ©s sur les trunks rĂ©duit la surface d’attaque.
  • Les ports inutilisĂ©s doivent ĂȘtre isolĂ©s et dĂ©sactivĂ©s.
  • Le chemin trusted doit ĂȘtre dĂ©fini avec prĂ©cision : une erreur ici casse le DHCP ou crĂ©e une faille.
  • DHCP Snooping gagne en valeur lorsqu’il est combinĂ© Ă  Port Security, DAI et IP Source Guard.
  • Sur Cisco IOS, les ports sont untrusted par dĂ©faut aprĂšs activation de DHCP Snooping. En pratique, il suffit donc de dĂ©clarer explicitement les seuls ports trusted.

⚠ Attention

  • DĂ©clarer un mauvais port comme trusted revient Ă  autoriser une source DHCP non lĂ©gitime.
  • Un trunk nĂ©cessaire mais non trusted peut empĂȘcher le passage des rĂ©ponses du serveur DHCP lĂ©gitime.
  • DHCP Snooping mal alignĂ© avec la topologie rĂ©elle rend la protection inefficace.
  • Sans cohĂ©rence entre segmentation VLAN, trusted path et binding table, l’audit devient fragile.
  • Si le mauvais port est configurĂ© en trusted, un serveur DHCP malveillant pourra distribuer
    des paramĂštres IP frauduleux.

    –> À l’inverse, si le trunk ou le chemin vers le serveur DHCP lĂ©gitime n’est pas
    trusted, les réponses DHCP valides seront bloquées.

10. Conclusion

DHCP Snooping apporte un contrĂŽle indispensable sur un protocole historiquement vulnĂ©rable. En introduisant une frontiĂšre de confiance entre interfaces trusted et untrusted, le switch devient capable de bloquer les offres DHCP malveillantes, de prĂ©server l’intĂ©gritĂ© des attributions IP et de rĂ©duire la surface d’attaque au niveau de l’accĂšs rĂ©seau.

Son intĂ©rĂȘt ne se limite pas Ă  la simple protection contre les Rogue DHCP Servers : il crĂ©e une base de corrĂ©lation fiable entre identitĂ© rĂ©seau et connectivitĂ©, ce qui en fait un pivot du hardening Layer 2 en environnement entreprise.

11. Extension (optionnel)

La DHCP Binding Table construite par DHCP Snooping peut ĂȘtre rĂ©utilisĂ©e par d’autres mĂ©canismes :
  • Port Security : limitation du nombre de MAC par port pour rĂ©duire les attaques de type starvation ou flooding. (Ref. TP 002)
  • Dynamic ARP Inspection (DAI) : validation des paquets ARP pour bloquer l’ARP spoofing.
  • IP Source Guard : filtrage du trafic IP selon les associations apprises dynamiquement.
En ce sens, DHCP Snooping ne doit pas ĂȘtre vu comme une fonction isolĂ©e, mais comme la premiĂšre brique d’un modĂšle de dĂ©fense en profondeur sur le rĂ©seau d’accĂšs.

Références

  • Cisco CCNAv7 – sĂ©curitĂ© rĂ©seau, attaques rĂ©seau, DHCP Snooping, Port Security et techniques de mitigation Layer
  • Bonnes pratiques de durcissement Layer 2 en environnement d’accĂšs commutĂ©. 
Retour en haut