Le Dynamic Host Con­fi­gu­ra­tion Protocol (DHCP) facilite la con­fi­gu­ra­tion du réseau : aujourd’hui, plutôt que de con­fi­gu­rer in­di­vi­duel­le­ment chaque client, PC, smart­phone ou appareil com­pa­tible, on préfère gé­né­ra­le­ment faire appel au DHCP. Les dif­fé­rents par­ti­ci­pants au réseau ob­tien­nent leur adresse IP, les masques de sous-réseau et d’autres in­for­ma­tions via un serveur. Cela permet non seulement de faciliter le travail avec de vastes réseaux, mais aussi de réduire les sources d’erreur : l’at­tri­bu­tion des adresses s’ef­fec­tuant de façon dynamique, il est im­pos­sible que deux appareils se voient attribuer la même adresse IP. Cela réduit également l’espace d’adressage né­ces­saire : si l’appareil se dé­con­necte du réseau, l’adresse IP peut être au­to­ma­ti­que­ment libérée pour un nouveau par­ti­ci­pant au réseau.

Mal­heu­reu­se­ment, ce raccourci constitue également une porte d’entrée pour les cy­ber­cri­mi­nels. Lorsque l’on compte sur quelqu’un d’autre pour faire le travail, on perd en contrôle. Certaines choses, dont on n’a ab­so­lu­ment pas cons­cience, peuvent alors se dérouler en arrière-plan. Il en va de même pour le DHCP. Fort heu­reu­se­ment, il existe une solution : il est possible de lutter contre cette uti­li­sa­tion abusive du DHCP avec le DHCP snooping. Comment fonc­tionne cette tech­no­lo­gie de sécurité ?

À quoi sert le DHCP snooping ?

Dans le cadre du DHCP, un serveur est chargé de la con­fi­gu­ra­tion des dif­fé­rents clients. Pour ce faire, le client envoie tout d’abord une requête au réseau par broadcast. Le par­ti­ci­pant au réseau entend ainsi dé­ter­mi­ner quels serveurs DHCP sont dis­po­nibles et peuvent répondre. Tous les serveurs DHCP dis­po­nibles répondent à cette requête. Si plusieurs serveurs sont activés au sein du réseau, le client choisit la première réponse qui lui est parvenue. Le client procède ensuite à l’at­tri­bu­tion des adresses à l’aide de ce serveur DHCP. C’est ici que se trouve le point faible du système, la porte d’entrée des cy­ber­cri­mi­nels.

Il est possible d’intégrer d’autres serveurs (qu’on appelle serveur DHCP non autorisé) dans le réseau. Lorsqu’un serveur de ce type parvient à répondre au client en premier, le par­ti­ci­pant au réseau reçoit les in­for­ma­tions de con­fi­gu­ra­tion via le serveur nuisible. Le serveur DHCP non autorisé envoie alors des données erronées et ma­ni­pu­lées. Le client est donc paramétré de façon erronée. Il est ainsi possible d’effectuer un DHCP-Spoofing (« usur­pa­tion DHCP »), c’est-à-dire de piloter le client vers une fausse pas­se­relle. À travers cette pas­se­relle, les cy­ber­cri­mi­nels peuvent in­ter­cep­ter le transfert des données et obtenir des in­for­ma­tions sensibles. Ce type d’attaque est surnommée « man in the middle attack » ou attaque de l’homme du milieu. Une at­tri­bu­tion d’adresse erronée peut en revanche entraîner une « Denial of service attack » ou attaque par déni de service : l’in­té­gra­lité du réseau est alors paralysée. Le DHCP snooping empêche toute prise de contact avec des serveurs nuisibles.

Remarque

Dans la plupart des réseaux do­mes­tiques (LAN ou WLAN), la fonction de serveur DHCP est assumée par un routeur. Cela ne nous prémunit pas contre le danger que re­pré­sente le DHCP-Spoofing, car chaque appareil peut en principe devenir un serveur DHCP. Les cy­ber­cri­mi­nels peuvent par exemple infiltrer un or­di­na­teur portable dans le réseau local sans fil et contrôler l’at­tri­bu­tion des adresses de cette façon.

Cependant le DHCP snooping ne protège pas uni­que­ment des actes criminels, mais aussi des sources d’erreur causées par l’uti­li­sa­tion ir­ré­flé­chie de routeurs sup­plé­men­taires. Si un nouveau routeur est intégré dans un réseau existant, il peut dérégler le DHCP : le nouveau routeur attribue alors des adresses qu’il ne devrait pas attribuer, pouvant ainsi entraîner des erreurs de connexion. Dans un contexte d’en­tre­prise notamment, des problèmes peuvent survenir lorsque les employés intègrent leurs propres appareils dans le réseau sans en informer l’ad­mi­nis­tra­teur réseau.

Le DHCP snooping : de quoi s’agit-il ?

Le DHCP snooping est une fonction de sécurité in­ter­ve­nant au deuxième niveau du modèle OSI. Cette fonction est intégrée dans le com­mu­ta­teur con­nec­tant les clients aux serveurs DHCP. En d’autres termes, il s’agit d’un protocole qui contrôle tout d’abord l’ensemble des in­for­ma­tions DHCP passant par le com­mu­ta­teur. Seuls les paquets autorisés provenant de serveurs dignes de confiance sont transmis aux clients.

Remarque

Cisco a été le premier fabricant à utiliser le DHCP snooping dans ses appareils. La société est également co-auteur de la RFC 7513 dans laquelle ce principe est expliqué. Cependant, de nombreux fa­bri­cants de pé­ri­phé­riques de réseau ont aujourd’hui suivi son exemple et proposent cette fonction de sécurité dans leurs appareils (parfois sous d’autres ap­pel­la­tions).

De cette façon, un serveur DHCP non autorisé peut certes recevoir le paquet DHCP­DIS­CO­VER (la requête du client visant à obtenir un serveur DHCP) puisqu’il surveille le broadcast. Il peut aussi envoyer un paquet DHCPOFFER (la réponse à la recherche), mais ce paquet n’atteindra jamais le client. Placé dans le com­mu­ta­teur, le DHCP snooping identifie le fait que le paquet ne provient pas d’un serveur digne de confiance et contient de fausses in­for­ma­tions et procède donc au blocage de la trans­mis­sion.

Ports dignes de confiance

Pour garantir que seuls les serveurs fiables puissent in­ter­ve­nir dans l’at­tri­bu­tion d’in­for­ma­tions de con­fi­gu­ra­tion, le DHCP snooping procède en plusieurs étapes. Dans un premier temps, il détermine un port de confiance pour le serveur ou les serveurs propres. Tous les autres appareils essayant d’accéder au réseau via un autre port sont con­si­dé­rés comme non dignes de confiance. Tous les clients en font également partie. Cela implique donc qu’un hôte sur lequel tourne un serveur DHCP mais qui n’est pas approuvé par l’ad­mi­nis­tra­teur sera considéré comme non digne de confiance. Mais si un paquet DHCP ne pouvant être envoyé que par un serveur (DHCPOFFER, DHCPACK, DHCPMAK) arrive par le biais d’un port qui n’est pas digne de confiance, le com­mu­ta­teur bloque la trans­mis­sion. Le client ne recevra pas l’in­for­ma­tion.

La DHCP snooping Binding Database

Néanmoins, un hacker peut également essayer de détruire le réseau en se faisant passer pour l’un des clients existants et en rejetant ces offres du serveur DHCP. C’est pourquoi le DHCP snooping utilise une base de données créée et ac­tua­li­sée de façon autonome par le système. Le protocole lit toutes les in­for­ma­tions DHCP (mais pas les données ef­fec­tives après la réussite de la connexion) et en extrait des détails pour la DHCP snooping Binding Database.

Le système en­re­gistre dans la base de données tous les hôtes ne passant pas par un port digne de confiance. Les in­for­ma­tions ac­cu­mu­lées com­pren­nent l’adresse MAC, l’adresse IP attribuée, le port du com­mu­ta­teur utilisé, le sous-réseau logique (VLAN) et la durée du Lease Time. Le DHCP snooping peut ainsi garantir que seuls les clients originaux ayant participé à la com­mu­ni­ca­tion peuvent envoyer des ordres au serveur, car l’adresse MAC et le port du com­mu­ta­teur de l’appareil ne coïn­ci­dent avec les in­for­ma­tions en­re­gis­trées dans la base de données que pour ces clients originaux.

Remarque

D’autres mesures de sécurité, telles que l’ARP Ins­pec­tion ou l’IP Source Guard utilisent aussi la DHCP snooping Binding Database.

Fichiers journaux

Certains pé­ri­phé­riques réseau peuvent par ailleurs établir un rapport sur le processus de défense dans le cadre du DHCP. Il est possible de se faire envoyer les fichiers journaux (logs) et de les analyser. La procédure distingue deux erreurs dans cette do­cu­men­ta­tion : d’une part, le décalage entre l’adresse MAC actuelle et les in­for­ma­tions en­re­gis­trées dans la base de données et, d’autre part, les paquets de serveur envoyés via un port qui n’est pas digne de confiance.

Le premier type de messages d’erreur provient la plupart du temps d’une mise en œuvre erronée de certains aspects du réseau dans un appareil client et ne constitue pas, en général, une source d’in­quié­tude. Le second type de messages d’erreur renvoie quant à lui aux in­ten­tions cri­mi­nelles : quelqu’un a dé­li­bé­ré­ment tenté d’infiltrer le réseau avec un serveur DHCP non autorisé. Comme le DHCP snooping en­re­gistre tout, il est possible de procéder à des enquêtes ciblées sur de tels incidents de sécurité.

Conseil

Des serveurs DHCP peuvent s’infiltrer dans le réseau sans que vous en ayez con­nais­sance. Ces faux serveurs DHCP (les « spurious DHCP serveur ») peuvent cependant être détectés par un raté sous la forme du paquet DHCP­DIS­CO­VER, car le serveur nuisible répond à la requête et se dévoile de cette façon.

Option 82

L’ac­ti­va­tion de l’option 82, également appelée in­for­ma­tions d’agent relais DHCP (« DHCP relay agent in­for­ma­tion »), permet une sécurité encore su­pé­rieure. Avec cette option, le com­mu­ta­teur est ac­ti­ve­ment impliqué dans la com­mu­ni­ca­tion entre le client et le serveur. Cette procédure est per­ti­nente lorsque les clients et le serveur ne se trouvent pas dans le même sous-réseau. Lorsque le client envoie une requête au serveur DHCP, le com­mu­ta­teur ajoute des in­for­ma­tions sup­plé­men­taires à l’en-tête de cette requête. Ces in­for­ma­tions per­met­tent au serveur de suivre le com­mu­ta­teur et, par con­sé­quent, le site du client.

Le serveur DHCP lit les détails sup­plé­men­taires et attribue les adresses IP en fonction des in­for­ma­tions de site. Le serveur renvoie le paquet de réponse au client par le biais du com­mu­ta­teur. Si le paquet atteint le com­mu­ta­teur, ce dernier identifie à partir des in­for­ma­tions qu’il contient encore que la com­mu­ni­ca­tion passe ef­fec­ti­ve­ment par lui. L’appareil supprime ensuite de l’en-tête les données de l’option 82 et transmet la réponse.

Conseil

Afin de pouvoir utiliser l’option 82, le DCHP snooping doit être activé de façon globale. Le serveur doit également être en mesure de traiter les in­for­ma­tions sup­plé­men­taires. Dans le cas contraire, le serveur DHCP ignore sim­ple­ment les données de l’option 82 et traite la requête client comme une requête DHCP ha­bi­tuelle.

Aller au menu principal