Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Validation de l’adresse MAC du client DHCPv6 pour éviter le détournement de session

À partir de la version 18.2R1 de Junos OS, il existe un mécanisme non configurable permettant aux serveurs locaux DHCPv6 et aux agents de relais d’abandonner des paquets à partir d’un client dont l’adresse MAC est inconnue afin d’empêcher un client malveillant de détourner une session. Lorsqu’un serveur local ou un agent de relais DHCPv6 reçoit un message de sollicitation d’un client pour établir une session, il extrait l’adresse MAC du client (adresse de couche de liaison) du message et l’ajoute à une table locale qui mappe les adresses MAC aux adresses ou préfixes IPv6 du client. Le serveur ou l’agent de relais utilise ce tableau pour comparer les adresses MAC reçues dans les messages ultérieurs du client afin de valider si le client est connu ; Si ce n’est pas le cas, on suppose qu’il s’agit d’un logiciel malveillant et le paquet de contrôle est abandonné. Étant donné que la validation MAC du paquet a échoué, le compteur de validation MAC du client est incrémenté.

Note:

L’hypothèse ici est que le client qui envoie le message de sollicitation initial est bénin. Dans ce cas, la validation de l’adresse MAC du client protège contre un client malveillant qui tente de détourner une session client déjà établie ou en cours d’établissement. La validation de l’adresse MAC du client ne protège pas contre un client malveillant qui envoie le message de sollicitation initial.

Lorsqu’il n’y a pas d’agent de relais ; Le serveur local partage un lien ou un nœud d’accès avec le client. Dans ce cas, le serveur local extrait l’adresse MAC du client directement de l’en-tête de couche 2 du paquet de contrôle DHCPv6 et valide l’adresse par rapport à la table.

Lorsqu’un agent de relais est présent, la validation est effectuée par l’agent de relais. La RFC 6939, Client Link-Layer Address Option in DHCPv6, permet aux agents de relais DHCPv6 connectés à la même liaison qu’un client DHCPv6 d’extraire l’adresse MAC du client à partir de l’en-tête Ethernet (couche 2) dans le paquet de contrôle DHCPv6 reçu. L’en-tête Ethernet du paquet inclut l’adresse de couche liaison du client en tant qu’adresse MAC source. L’agent de relais valide l’adresse MAC par rapport à la valeur de ce client stockée dans sa table locale. Si l’adresse ne correspond pas, le paquet est supprimé.

Si l’adresse est validée par l’agent de relais et que le paquet n’est pas abandonné, l’agent de relais inclut également cette adresse MAC dans l’option 79 (Client Link-Layer Address) dans l’en-tête du message de transfert de relais DHCPv6 que l’agent de relais envoie au serveur local. Lorsque le serveur local DHCPv6 reçoit un message de transfert de relais d’un agent de relais, le serveur examine automatiquement le message pour détecter la présence de l’option 79. Lorsque l’option est présente, le serveur local extrait l’adresse MAC et la valide par rapport à la valeur stockée dans la table pour ce client. Si l’option 79 n’est pas présente, le serveur local ne peut pas effectuer la validation.

Cependant, comme l’agent de relais a déjà validé l’adresse, le serveur local ne devrait pas découvrir d’incompatibilités d’adresse.

Les scénarios suivants décrivent les configurations possibles de l’agent de relais et leurs implications pour la validation du serveur :

  • Un seul agent de relais DHCPv6 léger (LDRA ; Couche 2) est connectée entre le client et le serveur. Si le LDRA n’a pas ajouté l’option 79 à l’en-tête, le serveur local extrait l’adresse MAC du client directement à partir de l’en-tête de couche 2 du paquet de contrôle DHCPv6 et valide l’adresse par rapport à la table.

  • Un ou plusieurs agents de relais DHCPv6 de couche 3 sont connectés entre le client et le serveur. Dans ce cas, le serveur recherche l’option 79 dans l’en-tête du message de transfert de relais le plus interne envoyé par l’agent de relais. L’en-tête le plus interne est visualisé car il s’agit de l’en-tête modifié par le premier agent relais atteint par le client. D’autres en-têtes sont ajoutés par les agents de relais suivants dans le chemin. Ces agents n’ajoutent pas l’option 79 et ils ne peuvent pas extraire l’adresse MAC de l’en-tête de couche 2 du premier agent de relais, car cet agent change l’adresse à sa propre adresse, comme le font tous les agents de relais suivants.

  • Le client et le serveur sont connectés entre un agent de relais de couche 2 (LDRA) orienté client et un ou plusieurs agents de relais DHCPv6 de couche 3. Le serveur recherche l’option 79 dans l’en-tête le plus interne du message de transfert de relais envoyé par l’agent de relais. Si le LDRA n’a pas ajouté l’option 79 à l’en-tête, il n’est probablement pas capable de changer l’adresse MAC dans l’en-tête pour la sienne. Par conséquent, le serveur vérifie ensuite le deuxième en-tête le plus interne pour l’option, car le premier agent de relais de couche 3 peut avoir extrait l’adresse MAC et ajouté l’option 79 pour transmettre l’adresse.

Aucune configuration n’est requise pour activer la validation des adresses MAC des clients. Vous pouvez voir combien de paquets de contrôle ont été abandonnés en raison d’un échec de validation en exécutant la show dhcpv6 server statistics commande.

Avantages de la validation de l’adresse MAC du client

  • La validation de l’adresse MAC du client vous permet d’empêcher un client DHCPv6 dont l’adresse MAC est inconnue de détourner une session établie par un client connu. L’utilisation des adresses MAC des clients DHCPv6 est susceptible d’augmenter, car elles permettent de corréler les clients DHCPv4 et DHCPv6 dans un environnement à double pile.

Tableau de l’historique des modifications

La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Libérer
Description
18.2R1
À partir de la version 18.2R1 de Junos OS, il existe un mécanisme non configurable permettant aux serveurs locaux DHCPv6 et aux agents de relais d’abandonner des paquets à partir d’un client dont l’adresse MAC est inconnue afin d’empêcher un client malveillant de détourner une session.