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
- 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
2. Objectifs du laboratoire
- 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.
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é
- 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.
- adresse IP,
- adresse MAC,
- VLAN,
- port dâaccĂšs,
- durée de bail (lease).
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 :
- Le client diffuse un DHCP DISCOVER.
- Le serveur mavaillant répond rapidement avec un DHCP OFFER falsifié.
- 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
- 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.
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
- Activer DHCP Snooping globalement sur le switch dâaccĂšs.
â initialise le moteur dâinspection DHCP.
- Activer DHCP Snooping uniquement sur le VLAN 10.
â limite la protection au domaine utilisateur ciblĂ©.
Phase 2 â DĂ©finition du modĂšle de confiance
- Déclarer le port Fa0/24 comme trusted.
â correspond au chemin vers le serveur DHCP lĂ©gitime.
- 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
- 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
- GĂ©nĂ©rer une requĂȘte DHCP depuis un client du VLAN 10.
- 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
- Ămettre un DHCPOFFER depuis le Rogue DHCP Server connectĂ© sur Fa0/3.
- 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
- Vérifier que seules les réponses DHCP provenant du port trusted sont acceptées.
- Vérifier que les réponses DHCP provenant des ports untrusted sont bloquées.
- 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
- 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.
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
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
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.
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.
à 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.
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.
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.
à 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Ă©.
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#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)
- 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.
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Ă©.Â
