DÉVERROUILLEZ LE MONDE DE L'IT

Apprentissage Sans Frontières

Accédez gratuitement à nos supports de cours et élargissez vos horizons en IT

DHCP Snooping

DHCP Snooping

Damien.SO Damien.SO
8 minutes de lecture

Les adresses IP peuvent être configurées statiquement ou dynamiquement.

En statique, vous devez configurer vous-même l'adresse IP sur votre ordinateur, votre routeur ou votre commutateur.

En dynamique, cela signifie que nous utilisons le protocole DHCP. Il s’agit d’un serveur qui affecte, à partir d’un Pool, des adresses IP sur des périphériques réseau.

Un routeur Cisco peut être utilisé comme serveur DHCP, mais en général on utilise plutôt des serveurs Microsoft ou Linux.

Maintenant nous allons voir son fonctionnement :

Le PC qui est représenté sur la gauche ne dispose pas d’adresse IP. 

À droite, nous avons un serveur DHCP qui porte l’IP 192.168.1.254. Un pool DHCP a été configuré sur celui-ci avec une plage d’IP de 192.168.1.1 à .50.

Si on démarre le PC, il demandera une adresse IP en diffusant un message « DHCP Discover ».

Comme le PC n'a pas d'adresse IP, il va donc envoyer le « DHCP Discover » en broadcast.

Quand le serveur reçoit ce message, il répondra avec un « DHCP Offer ».

C’est un message qui contient une adresse IP que le PC pourra utiliser. Le serveur peut aussi fournir une passerelle par défaut, l’adresse du serveur DNS et plein d’autres options.

Après avoir reçu le message « DHCP Offer », le PC enverra un message « DHCP Request » pour demander au serveur s’il est bien d’accord pour qu’il puisse utiliser les informations que contienne le « DHCP Offer ».

Et pour finir, le serveur DHCP répondra avec un message « DHCP ACK ».

On peut le voir comme un accusé de réception de la requête du PC.

DHCP SNOOPING

Les serveurs DHCP jouent un rôle vital dans la plupart des réseaux d'aujourd'hui.

La plupart des périphériques réseau utilisent le DHCP pour obtenir :

  • Une adresse IP
  • Un masque de sous-réseau
  • Une passerelle par défaut
  • Et les adresses IP du serveur DNS.

Dans un cours précédent, nous avons vu comment le DHCP fonctionnait.

Ici, nous allons examiner les attaques qui se servent du DHCP, et deux outils permettant de lutter contre ces attaques :

  • Le DHCP Snooping que nous allons détailler dans ce cours
  • Et L’inspection dynamique ARP (DAI : Dynamic ARP Inspection), que nous verrons dans le cours suivant

CONCEPTS DU DHCP SNOOPING

Le mot Snooping se traduit littéralement par « Espionnage » en français.

Le DHCP Snooping est une technique qui permet de configurer le switch pour écouter le trafic DHCP et arrêter tous les paquets malveillants, qui se feraient passer pour un DHCP.

Sur le schéma, nous avons un serveur DHCP qui est représenté en haut de la topologie.

En bas à droite, vous voyez un client légitime qui souhaite obtenir une adresse IP.

Et en bas à gauche, nous avons un PC malveillant, sur lequel est installé un logiciel pour faire tourner un serveur DHCP.

Alors à votre avis, qui répondra en premier au message « DHCP Discover » que le client enverra pour demander sa config ?

  • Le vrai serveur DHCP, celui du haut ?
  • Ou bien, le PC faisant tourner un faux serveur DHCP, c’est-à-dire celui du bas ?

Sur les grands réseaux, le serveur DHCP se trouve généralement bien plus éloigné. Si une personne malveillante lance un serveur DHCP dans le même sous-réseau où se trouve la cible, eh bien ce sera probablement lui qui répondra le plus rapidement à la demande du client.

Si l’attaque réussie, eh bien le faux serveur DHCP pourrait attribuer au client sa propre adresse IP comme passerelle par défaut.

C’est ce qu’on appelle comme type d’attaque « Man-in-the-middle », que nous avons déjà détaillé précédemment.

Un autre type d’attaque possible serait que le faux DHCP envoie sa propre adresse IP en tant que serveur DNS, dans le but, par exemple, d’usurper des Sites Web.

Le PC malveillant pourrait même envoyer plein de messages « DHCP Discover » au vrai DHCP, dans le but de lui faire épuiser tout son stock d’adresse IP

Alors, comment pouvons-nous arrêter toutes ces attaques ?

C’est là qu’intervient le « DHCP Snooping »

Grâce à lui, il est possible de configurer les switchs pour que les messages de type « DHCP discover » et « DHCP offer » suivent un chemin unique.

Par exemple, les interfaces qui se connectent aux clients ne doivent jamais être autorisées à envoyer un message du type « DHCP offer ».

On peut donc les taguer comme étant « non-fiables » (untrusted), ce qui aura pour effet de bloquer ce type de message.

Seule une interface configurée avec un tag « fiable » (trusted) sera autorisée à transférer les messages « DHCP offer ».

Il est même possible de limiter le débit de ses interfaces, pour que l’attaquant n’envoie pas un nombre illimité de messages « DHCP Discover » dans le but d'épuiser le pool DHCP.

Avec ce type de procédé, lorsqu'un commutateur Cisco reçoit un « DHCP Discover », il le transmettra uniquement sur les interfaces autorisées. Ce qui empêche donc les faux DHCP de recevoir ce type de demande en premier.

On va maintenant passer à sa configuration.

CONFIGURATION

Pour faire simple, on va se baser sur ce type de topologie :

L'interface FastEthernet 0/2 est connectée au client qui souhaite obtenir une adresse IP du serveur DHCP connecté, sur l'interface 0/3.

L’attaquant qui exécute un faux DHCP se positionne sur l’interface 0/1.

On va voir comment l’arrêter !

Pour commencer, il faut d’abord activer en globalité la surveillance du DHCP avec la commande « ip dhcp snooping ».

Alors par défaut, le commutateur ajoute « l'option 82 » au « DHCP Discover » avant de le transmettre au serveur DHCP.

Certains serveurs n'aiment pas trop ça et abandonnent le paquet.

C’est pourquoi si le client n'obtient plus d'adresse IP, après avoir activé globalement le « DHCP Snooping », eh bien il faut utiliser la commande « no ip dhcp snooping information option » :

Pour continuer, on va sélectionner les vlan’s pour lesquels on souhaite utiliser la surveillance du DHCP avec la commande « ip dhcp snooping » + le numéro du vlan. Dans l’exemple, il s’agit du VLAN 1.

Une fois que la surveillance est activée, toutes les interfaces par défaut ne sont plus fiables, et ne laissent donc plus passer les messages de type DHCP. C’est pourquoi il faut ouvrir les interfaces qui mènent vers le vrai DHCP.

Dans l’exemple, on va donc se connecter sur l’interface 0/3 et lui fait faire un « ip dhcp snooping trust ».

Le mot “Trust” veut dire en français « Fiable ».

L’interface 0/3 qui mène droit au serveur DHCP sera donc vue comme une interface fiable, pour laisser passer les messages DHCP.

Il est possible aussi de limiter le nombre de paquets DHCP que l'interface pourra recevoir.

Pour ce faire, il faut utiliser la commande « ip dhcp snooping limit rate ».

Pour l’exemple, je l’ai configuré à un maximum de 10 paquets DHCP par seconde pour l’interface connectée au client, ce qui signifie que le port ne sera plus fiable au-delà la limite.

La commande « show ip dhcp snooping » permet de vérifier la configuration de la surveillance.

On peut voir que l’option 82 est bien désactivée.

Que le port du client ne peut pas envoyer d’offre DHCP (DHCP offer) et peut recevoir un maximum de 10 paquets DHCP par seconde.

Le port du DHCP est complètement fiable, c’est-à-dire que lui seul peut envoyer des messages du type « DHCP offer ».

Et celui de l’attaquant ne pourra pas en envoyer.

La commande « show ip dhcp snooping binding » permet d’assurer le suivi de la liaison des mac-adresse avec les IP’s.

Tous les messages du type « DHCP offer » qui circule sur une interface non approuvée seront supprimés.

Dans l’exemple, on voit que le client légitime a bien reçu une adresse IP du vrai serveur DHCP.

Retrouver de nombreuses vidéos de cours sur la chaîne Youtube Formip :

« Retour au blog