Dynamic ARP Inspection (DAI) : sécuriser vos commutateurs contre l'usurpation ARP dans les réseaux locaux
Dans un réseau local classique, le protocole ARP fait son boulot sans se poser de questions. Il transforme une adresse IP en adresse MAC pour que les trames Ethernet arrivent au bon endroit. Le problème, c’est que ce mécanisme date d’une époque où on faisait confiance à tout le monde sur le segment broadcast. Résultat : n’importe qui peut répondre à la place d’une autre machine et empoisonner les caches ARP des voisins.
C’est exactement le scénario de l’attaque ARP spoofing (ou empoisonnement ARP). L’attaquant envoie des réponses falsifiées, souvent en gratuitous ARP, pour associer sa propre MAC à l’IP d’une passerelle ou d’un serveur. Tout le trafic part alors vers lui. Man-in-the-middle classique, interception possible, modification à la volée… et les utilisateurs ne voient rien.
C’est là qu’intervient l’inspection ARP dynamique, aussi appelée Dynamic ARP Inspection ou DAI. Une fonctionnalité de sécurité Layer 2 qui change vraiment la donne sur les commutateurs.
Pourquoi l’ARP reste vulnérable aujourd’hui
ARP n’a aucune authentification. Une requête « qui a 192.168.10.1 ? » part en broadcast, et la première réponse qui arrive gagne. Pas de signature, pas de vérification d’origine. Sur un LAN avec des postes utilisateurs, des invités ou des devices IoT, ça devient une porte d’entrée facile pour un attaquant déjà présent sur le segment.
Les conséquences vont au-delà du simple vol de trafic : perturbation de connectivité, attaques plus avancées une fois le MITM en place, ou simplement un joli déni de service si l’attaquant inonde le réseau de fausses réponses.
Qu’est-ce que le Dynamic ARP Inspection concrètement
Le Dynamic ARP Inspection intercepte les paquets ARP sur les ports non fiables du commutateur. Avant de les forwarder ou de mettre à jour le cache ARP local, il vérifie que la paire IP/MAC annoncée correspond bien à une entrée valide dans une base de données de confiance.
Si ça ne colle pas, le paquet est simplement jeté. Et le plus souvent loggé. Sur les ports marqués trusted (généralement ceux vers le serveur DHCP, les uplinks ou les équipements de cœur), tout passe sans contrôle. C’est simple, efficace et ça s’intègre directement dans la logique du switch.
Le DAI protège donc directement contre l’usurpation d’ARP et les attaques man-in-the-middle qui en découlent. Il ne remplace pas une segmentation correcte ni du 802.1X, mais il ferme une faille L2 qui traîne depuis longtemps.
Le rôle central du DHCP Snooping
Le Dynamic ARP Inspection ne peut pas inventer la vérité. Il a besoin d’une source fiable d’associations IP-MAC. C’est là que le DHCP Snooping (surveillance DHCP) devient indispensable.
Le snooping écoute les échanges DHCP légitimes, filtre les serveurs rogue et construit dynamiquement une table de bindings : IP attribuée, MAC du client, port physique, VLAN. Quand le DAI tourne, il consulte cette table à chaque paquet ARP. Correspondance = on laisse passer. Sinon = drop.
Sans DHCP Snooping activé avant, ou sans bindings statiques pour les IPs fixes, le DAI bloque tout ou presque. C’est le piège le plus courant qu’on voit en production. Sur la plupart des constructeurs (Cisco, Juniper, Aruba, Meraki, Netgear…), la logique est la même : le snooping alimente le DAI.
Comment la validation se passe vraiment
Sur un port untrusted, le commutateur examine :
- La cohérence entre la MAC dans l’en-tête Ethernet et celle déclarée dans le corps ARP (sender hardware address).
- Pour les réponses ARP, la MAC de destination aussi.
- La validité de l’IP source (rejet des 0.0.0.0, des adresses multicast en source, etc.).
- Surtout, l’existence d’une entrée correspondante dans la binding table du snooping.
Si tout est bon, le paquet continue son chemin. Sinon, il disparaît. Beaucoup de switches ajoutent un rate limiting (souvent 15 paquets/seconde par défaut) pour éviter qu’un flood ARP ne surcharge le CPU.
Sur Meraki par exemple, les ports trusted se configurent directement dans le dashboard et tout repose sur la table DHCP snooping. Chez Cisco Catalyst, on a des options de validation supplémentaires (src-mac, dst-mac, ip) et des ARP ACL pour les cas statiques. Juniper gère ça par VLAN avec les ports trusted hérités du DHCP. Le principe reste identique.
Mettre en œuvre le Dynamic ARP Inspection : exemple Cisco
Sur un Catalyst récent, on suit une séquence logique. D’abord le DHCP Snooping :
ip dhcp snooping
ip dhcp snooping vlan 10,20,30
On marque le port vers le vrai serveur DHCP comme trusted :
interface TenGigabitEthernet1/0/2
switchport mode trunk
ip dhcp snooping trust
Puis on active le DAI sur les VLANs concernés :
ip arp inspection vlan 10,20,30
On peut renforcer les contrôles :
ip arp inspection validate src-mac dst-mac ip
Et ajuster le rate limit sur un port client si besoin :
interface GigabitEthernet1/0/5
ip arp inspection limit rate 10
Pour les serveurs en IP statique, on ajoute des bindings manuels avec ip source binding ou on crée une ARP access-list qu’on applique au DAI. Marquer le port trusted marche aussi, mais ça réduit la protection si l’équipement est compromis un jour.
Sur Aruba AOS-CX ou Juniper EX/QFX, la philosophie est très proche : activer le snooping d’abord, déclarer les ports de confiance, puis activer l’inspection ARP dynamique sur les VLANs. Chez Meraki tout se passe dans l’interface web, avec une allow list pour les exceptions statiques.
Les problèmes qu’on rencontre et comment les contourner
Le classique : on active tout et plus rien ne fonctionne. La table de bindings est vide parce que les clients n’ont pas renew leur bail. Solution : forcer les renouvellements DHCP ou activer le snooping seul d’abord, vérifier avec show ip dhcp snooping binding, puis allumer le DAI.
Autre cas fréquent : des machines en IP fixe qui tombent en dehors du réseau. Il faut les déclarer explicitement ou les mettre sur des ports trusted (avec les précautions d’usage).
Côté diagnostic, les logs aident beaucoup. Sur Cisco on voit des messages %SW_DAI-4-DHCP_SNOOPING_DENY quand un paquet est rejeté. Les commandes show ip arp inspection et show ip dhcp snooping binding donnent l’état en temps réel.
Est-ce que ça vaut vraiment le coup en 2026 ?
Franchement oui. Sur les réseaux d’accès avec des utilisateurs, des invités ou des devices divers, laisser l’ARP sans protection revient à accepter un risque inutile. Le Dynamic ARP Inspection est simple à déployer une fois le DHCP Snooping en place, et il tourne en silence.
Évidemment, ce n’est pas une solution miracle. Un attaquant sur un port déjà trusted ou une compromission plus haut dans la pile peut encore poser problème. Mais combiné à du port security, une bonne segmentation et du filtrage, ça fait partie de la défense en profondeur qui évite les mauvaises surprises sur le LAN.
Dans les environnements que je déploie, le DAI est quasiment systématique sur les switches d’accès. On teste en lab, on valide les bindings statiques, on surveille les premiers logs… et après ça devient transparent. C’est le genre de mécanisme qui, une fois bien configuré, protège sans qu’on y pense tous les jours.
Si tu gères des commutateurs et que tu n’as pas encore regardé le sujet, c’est probablement le moment. Les attaques L2 n’ont pas disparu, elles se sont juste un peu modernisées.