trust

IP DHCP SNOOPING

Notre serveur DHCP subit régulièrement des attaques type DHCP Starvation (en français : famine) appelé aussi attaque DoS (Deny Of Service), vidant ainsi notre pool de toutes ses IP. De plus les postes clients récupèrent des informations IP différentes de celle proposé par notre serveur DHCP, nous pensons donc qu’il existe un DHCP rogue sur notre LAN.

image

Votre mission, si vous l’acceptez, sera de protéger notre serveur DHCP des attaques DoS et de l’identifier comme seul serveur DHCP sur le LAN, laissant les rogues ainsi impuissants. L’objectif ici n’est pas d’identifier le hackeur mais de protéger notre serveur DHCP

Maquette vierge ici
Maquette complète ici

La première étape sera de limiter les attaques DoS sur notre pauvre serveur DHCP. Une attaque de ce genre se traduit par une inondation de trame partant du hackeur vers le serveur. Ces trames sont créées de façon aléatoire avec des adresses mac sources différentes. Le hackeur n’a qu’à générer 254 requêtes avec 254 adresses mac sources différentes pour réussir son attaque.

Pour pallier à cette attaque nous devons implémenter de la sécurité de port sur les ports d’accès de nos switch1 et switch2 avec les commandes suivantes :

Switch>enable
Switch#conf t
Switch(config)#inter range fastethernet 0/2-24

Important : Nous sélectionnons toutes les interfaces de la 0/2 à 0/24 sauf la 0/1 car c’est une liaison inter-switch, il n’y a pas de sécurité à mettre sur ce port dans notre cas

Switch(config-if-range)#switchport mode access
Commande obligatoire pour forcer le mode access sur le port, auquel cas vous aurez un beau petit message d’erreur du genre :
Command rejected: FastEthernet0/2 is a dynamic port.

Switch(config-if-range)#switchport port-security
Cette commande indique que nous activons la sécurité sur le port

Switch(config-if-range)#switchport port-security maximum 5
Dans la sécurité à appliquer, nous configurons un maximum de 5 périphériques sur les interfaces, ce qui est déjà beaucoup.

Switch(config-if-range)#switchport port-security mac-address sticky
Et enfin nous configurons un apprentissage automatique des adresses mac par l’option sticky

Si une attaque est détectée par l’un des switch configuré, l’interface du switch s’éteindra automatiquement. A vous de réactiver l’interface avec la commande suivante :

Switch(config)#inter fastethernet 0/2
Switch(config-if)#no shutdown

A présent, passons la deuxième étape du tuto.

Actuellement nous avons juste empêché une attaque DoS. mais rien n’empêche un deuxième serveur DHCP de fonctionner sur le LAN. Dans la maquette packet tracer, le serveur en rouge appelé « DHCP HACK » distribue des IPs sur les PC2 et PC3. Voyons donc la configuration pour empêcher le serveur DHCP HACK de nuire sur le LAN.

Les commandes suivantes sont à réaliser sur switch1 et switch2
Switch>en
Switch#conf t
Switch(config)#ip dhcp snooping

Nous activons la sécurité du serveur DHCP.

Important : A présent plus aucune requête DHCP n’est autorisée sur le LAN. Si vous faites une demande d’adresse IP, vos PC obtiendront une adresse APIPA en 169.254.X.X/16

image

Switch(config)#ip dhcp snooping vlan 1
Nous activons la sécurité sur le VLAN1

Switch(config)#interface fastEthernet 0/1
Switch(config-if)#ip dhcp snooping trust

Nous sélectionnons l’interface 0/1, pour valider les requêtes DHCP uniquement sur ce port. Cela indique que toutes les requêtes DHCP venant de ce port sont fiables et donc autorisées à se diffuser sur les ports d’accès correspondant uniquement au VLAN1

Switch(config-if)#ip dhcp snooping limit rate 10
Pour sécuriser davantage notre serveur, nous limitons à 10 le nombre de requêtes DHCP à la seconde.

Notre Lan est à présent protégé contre les attaques DHCP mentionnées au début de cet article. Si nous le voulons nous pouvons nous arrêter là. Mais que faire si le Hackeur se branche sur le switch CŒUR de réseau comme ceci :

image

Voyons la configuration du switch CŒUR :
Switch#en
Switch#conf t
Switch(config)#ip dhcp snooping
Switch(config)#ip dhcp snooping vlan 1
Switch(config)#interface fastEthernet 0/3
Switch(config-if)#ip dhcp snooping trust

Jusque-là rien de bien surprenant, les commandes sont identiques à celles des switchs1 et switch2.

Important : Notez que notre switch est bien configuré, mais que les PC0, PC1, PC2 et PC3 ne reçoivent plus les baux DHCP du serveur. De plus vous avez un beau message d’alerte :

00:11:47: %DHCP_SNOOPING-5-DHCP_SNOOPING_NONZERO_GIADDR: DHCP_SNOOPING drop message with non-zero giaddr or option82 value on untrusted port, message type: DHCP DISCOVER, MAC sa: 00D0.BC9A.E341

En terme simple, toutes les requêtes du type DHCP discover arrivant sur les ports 0/2 et 0/3 du switch CŒUR sont non-fiable (untrusted) pour être transmises sur le LAN. Elles ne sont donc pas transmises vers le serveur DHCP.

Il faut référencer les interfaces 0/1 et 0/2 comme des interfaces trust dans le réseau.
Switch(config)#interface range fa 0/1-3
Switch(config-if-range)#ip dhcp snooping trust

Tout est bien qui finit bien, nos hôtes reçoivent les bonnes adresses IP et sont donc protégés des DHCP Rogue.

MISSION ACCOMPLIE
!!! CISCO FOREVER !!!

Publicités