DHCP Snooping : une plus grande sécurité pour votre réseau
Le Dynamic Host Configuration Protocol (DHCP) facilite la configuration du réseau : aujourd’hui, plutôt que de configurer individuellement chaque client, PC, smartphone ou appareil compatible, on préfère généralement faire appel au DHCP. Les différents participants au réseau obtiennent leur adresse IP, les masques de sous-réseau et d’autres informations 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’attribution des adresses s’effectuant de façon dynamique, il est impossible que deux appareils se voient attribuer la même adresse IP. Cela réduit également l’espace d’adressage nécessaire : si l’appareil se déconnecte du réseau, l’adresse IP peut être automatiquement libérée pour un nouveau participant au réseau.
Malheureusement, ce raccourci constitue également une porte d’entrée pour les cybercriminels. Lorsque l’on compte sur quelqu’un d’autre pour faire le travail, on perd en contrôle. Certaines choses, dont on n’a absolument pas conscience, peuvent alors se dérouler en arrière-plan. Il en va de même pour le DHCP. Fort heureusement, il existe une solution : il est possible de lutter contre cette utilisation abusive du DHCP avec le DHCP snooping. Comment fonctionne cette technologie de sécurité ?
À quoi sert le DHCP snooping ?
Dans le cadre du DHCP, un serveur est chargé de la configuration des différents clients. Pour ce faire, le client envoie tout d’abord une requête au réseau par broadcast. Le participant au réseau entend ainsi déterminer quels serveurs DHCP sont disponibles et peuvent répondre. Tous les serveurs DHCP disponibles 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’attribution 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 cybercriminels.
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 participant au réseau reçoit les informations de configuration via le serveur nuisible. Le serveur DHCP non autorisé envoie alors des données erronées et manipulées. Le client est donc paramétré de façon erronée. Il est ainsi possible d’effectuer un DHCP-Spoofing (« usurpation DHCP »), c’est-à-dire de piloter le client vers une fausse passerelle. À travers cette passerelle, les cybercriminels peuvent intercepter le transfert des données et obtenir des informations sensibles. Ce type d’attaque est surnommée « man in the middle attack » ou attaque de l’homme du milieu. Une attribution d’adresse erronée peut en revanche entraîner une « Denial of service attack » ou attaque par déni de service : l’intégralité du réseau est alors paralysée. Le DHCP snooping empêche toute prise de contact avec des serveurs nuisibles.
Cependant le DHCP snooping ne protège pas uniquement des actes criminels, mais aussi des sources d’erreur causées par l’utilisation irréfléchie de routeurs supplémentaires. 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’entreprise notamment, des problèmes peuvent survenir lorsque les employés intègrent leurs propres appareils dans le réseau sans en informer l’administrateur réseau.
Le DHCP snooping : de quoi s’agit-il ?
Le DHCP snooping est une fonction de sécurité intervenant au deuxième niveau du modèle OSI. Cette fonction est intégrée dans le commutateur connectant les clients aux serveurs DHCP. En d’autres termes, il s’agit d’un protocole qui contrôle tout d’abord l’ensemble des informations DHCP passant par le commutateur. Seuls les paquets autorisés provenant de serveurs dignes de confiance sont transmis aux clients.
De cette façon, un serveur DHCP non autorisé peut certes recevoir le paquet DHCPDISCOVER (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 commutateur, le DHCP snooping identifie le fait que le paquet ne provient pas d’un serveur digne de confiance et contient de fausses informations et procède donc au blocage de la transmission.
Ports dignes de confiance
Pour garantir que seuls les serveurs fiables puissent intervenir dans l’attribution d’informations de configuration, 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 considé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’administrateur 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 commutateur bloque la transmission. Le client ne recevra pas l’information.
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 actualisée de façon autonome par le système. Le protocole lit toutes les informations DHCP (mais pas les données effectives après la réussite de la connexion) et en extrait des détails pour la DHCP snooping Binding Database.
Le système enregistre dans la base de données tous les hôtes ne passant pas par un port digne de confiance. Les informations accumulées comprennent l’adresse MAC, l’adresse IP attribuée, le port du commutateur 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 communication peuvent envoyer des ordres au serveur, car l’adresse MAC et le port du commutateur de l’appareil ne coïncident avec les informations enregistrées dans la base de données que pour ces clients originaux.
Fichiers journaux
Certains périphé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 documentation : d’une part, le décalage entre l’adresse MAC actuelle et les informations enregistré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’inquiétude. Le second type de messages d’erreur renvoie quant à lui aux intentions criminelles : quelqu’un a délibérément tenté d’infiltrer le réseau avec un serveur DHCP non autorisé. Comme le DHCP snooping enregistre tout, il est possible de procéder à des enquêtes ciblées sur de tels incidents de sécurité.
Option 82
L’activation de l’option 82, également appelée informations d’agent relais DHCP (« DHCP relay agent information »), permet une sécurité encore supérieure. Avec cette option, le commutateur est activement impliqué dans la communication entre le client et le serveur. Cette procédure est pertinente 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 commutateur ajoute des informations supplémentaires à l’en-tête de cette requête. Ces informations permettent au serveur de suivre le commutateur et, par conséquent, le site du client.
Le serveur DHCP lit les détails supplémentaires et attribue les adresses IP en fonction des informations de site. Le serveur renvoie le paquet de réponse au client par le biais du commutateur. Si le paquet atteint le commutateur, ce dernier identifie à partir des informations qu’il contient encore que la communication passe effectivement par lui. L’appareil supprime ensuite de l’en-tête les données de l’option 82 et transmet la réponse.


