Tempêtes de broadcast réseau : causes, impacts et stratégies d'atténuation
Un trafic broadcast excessif sur un segment Layer 2 (VLAN) est un classique « tueur silencieux » de la performance réseau. Comme les broadcasts (FF:FF:FF:FF:FF:FF) doivent être traités par **chaque** CPU hôte et ASIC commutateur, des taux non contrôlés font s'effondrer débit et stabilité.
Impacts sur la performance
- Tempête d'interruptions CPU : Chaque carte NIC hôte interrompt le CPU pour *chaque* trame broadcast. À >1000 pps, CPU hôte grimpe à 100 % (softirq/net_rx_action), gelant applications.
- Congestion tissu commutateur : Les broadcasts inondent tous les ports du VLAN. Consomment bande passante entrée/sortie sur *chaque* lien, affamant trafic unicast (VoIP, Base de données, Stockage).
- Thrashing table CAM : Le commutateur apprend MAC source sur chaque trame. Taux broadcast élevé depuis ports flap remue table MAC, causant inondation unicast (unknown unicast flood).
- Instabilité Spanning Tree (STP) : Notifications changement topologie (TCN) déclenchées par flaps ports génèrent rafales BPDU + vidage CAM = plus d'inondation.
Risques sécurité
- Tempête broadcast / DoS : Intentionnel (malware, testeur charge mal configuré) ou accidentel (boucle). Peut faire tomber tout domaine L2 en secondes.
- Man-in-the-Middle (MITM) : ARP gratuit / ARP Spoofing broadcasts empoisonnent caches voisins. Attaquant intercepte trafic.
- Attaques NDP (IPv6) : Inondations Router Advertisement (RA) / Redirections. Plus dur à filtrer qu'ARP.
- Fuite information : Broadcasts DHCP, mDNS, SSDP, LLMNR, NetBIOS, WS-Discovery révèlent noms hôtes, services, versions OS, noms imprimantes à tout sniffeur (Wireshark/tcpdump) sur segment.
Causes racines courantes
- Boucles Layer 2 : STP absent/cassé (PortFast sans BPDU Guard), switch/hub non autorisé en cascade, boucles pont Wi-Fi.
- Protocoles bavards / Mauvaise config :
- DHCP : Serveur rogue, baux courts (taux renouvellement élevé), flag broadcast forcé.
- IPTV/Multicast : IGMP Snooping désactivé → Multicast traité comme Broadcast.
- NetBIOS/LLMNR : Résolution noms Windows legacy (désactivez via GPO).
- mDNS/Bonjour : Bavardage Apple/Imprimantes/Chromecast (Limiter taux / Séparation VLAN).
- Malware / Botnets : Conficker, WannaCry, variantes Mirai scannent via broadcast/multicast.
- Mauvaise carte NIC / Pilote : NIC « jabbering » crachant trames malformées.
- Virtualisation : Hyper-V / vSwitch / Linux Bridge mal configuré inondant broadcast VM vers tous vNICs.
Atténuation et meilleures pratiques
1. Design réseau (Architecture)
- Petits domaines broadcast : VLAN /24 ou /25 max. Routage au Cœur/Distribution (L3). Pas de VLAN s'étendant aux armoires accès.
- VLAN privés (PVLAN) : Isolez hôte-à-hôte (Ports Promiscuous/Isolated/Community). Arrête propagation broadcast latérale.
2. Fonctionnalités commutateur (Plan de données)
- Storm Control (Suppression broadcast) : `storm-control broadcast level 1.00` (1 % bande passante port) ou `pps 500`. **Action : Shutdown / Trap / Filter.** Appliquez sur *Ports d'accès*.
- BPDU Guard / Root Guard / Loop Guard : Arrêt port immédiat sur réception BPDU (port accès) ou détection boucle.
- Port Security : Limitez MACs (max 2-3). Violation : Restrict/Shutdown. Arrête outils flood MAC.
- DHCP Snooping + DAI (Dynamic ARP Inspection) + IP Source Guard : Valide chaque paquet ARP/DHCP contre table liaisons. **Essentiel.**
- IGMP/MLD Snooping + Querier : Contraint multicast aux ports intéressés uniquement.
3. Surveillance et détection
- SNMP/Télémétrie : Surveillez `ifInBroadcastPkts`, `ifOutBroadcastPkts`, `dot1dTpPortInFrames` (Bridge MIB).
- NetFlow / sFlow / IPFIX : Exportez vers Collecteur (Kentik, SolarWinds, ElastiFlow, Grafana). Alerte sur `broadcast_pps > seuil`.
- Miroir port (SPAN/RSPAN/ERSPAN) + Zeek / Suricata : Inspection profonde paquets pour payloads broadcast anormaux.
4. Durcissement hôtes
- Désactivez NetBIOS over TCP/IP. Désactivez LLMNR (GPO). Désactivez mDNS/Bonjour si pas nécessaire (Avahi).
- Windows : `Set-NetIPv4Protocol -RandomizeIdentifiers Enabled` (Confidentialité).
- Linux : `systemd-resolved` gère LLMNR/mDNS. `nftables` drop broadcast input `-i eth0 -d 255.255.255.255 counter drop`.
L'implémentation de **Storm Control sur chaque port d'accès** + **DHCP Snooping/DAI** + **Accès routé (Pas d'étirement L2)** élimine 99 % des tempêtes broadcast avant qu'elles ne démarrent.
