Tempeste di Broadcast di Rete: Cause, Impatti e Strategie di Mitigazione
Un traffico broadcast eccessivo su un segmento Layer 2 (VLAN) è un classico "killer silenzioso" delle prestazioni di rete. Poiché i broadcast (FF:FF:FF:FF:FF:FF) devono essere elaborati da **ogni** CPU host e switch ASIC, tassi incontrollati collassano throughput e stabilità.
Impatti sulle Prestazioni
- Tempesta di Interrupt CPU: Ogni NIC host interrompe la CPU per *ogni* frame broadcast. A >1000 pps, la CPU host schizza al 100% (softirq/net_rx_action), congelando le applicazioni.
- Congestione Tessuto Switch: I broadcast allagano tutte le porte nella VLAN. Consumano banda ingresso/uscita su *ogni* link, affamando traffico unicast (VoIP, Database, Storage).
- Thrashing Tabella CAM: Lo switch impara il MAC sorgente su ogni frame. Alto tasso broadcast da porte che fluttuano agita la tabella MAC, causando allagamento unicast (flooding unicast sconosciuto).
- Instabilità Spanning Tree (STP): Notifiche Cambio Topologia (TCN) attivate da fluttuazioni porte generano burst di BPDU + flush CAM = più allagamento.
Rischi di Sicurezza
- Tempesta di Broadcast / DoS: Intenzionale (malware, load tester mal configurato) o accidentale (loop). Può abbattere l'intero dominio L2 in secondi.
- Man-in-the-Middle (MITM): Gratuitous ARP / ARP Spoofing broadcast avvelena cache vicinato. Attaccatore intercetta traffico.
- Attacchi Neighbor Discovery Protocol (NDP) (IPv6): Flood Router Advertisement (RA) / Redirect. Più difficile da filtrare di ARP.
- Fuga di Informazioni: DHCP, mDNS, SSDP, LLMNR, NetBIOS, WS-Discovery broadcast rivelano hostname, servizi, versioni OS, nomi stampanti a qualsiasi sniffer (Wireshark/tcpdump) sul segmento.
Cause Radice Comuni
- Loop Layer 2: STP mancante/rotto (PortFast senza BPDU Guard), switch/hub non autorizzati in cascata, loop bridge wireless.
- Protocolli Chiacchieroni / Mal configurazione:
- DHCP: Server rogue, tempi di affitto brevi (alto tasso rinnovo), flag broadcast forzato.
- IPTV/Multicast: IGMP Snooping disabilitato → Multicast trattato come Broadcast.
- NetBIOS/LLMNR: Risoluzione nomi Windows legacy (disabilita tramite GPO).
- mDNS/Bonjour: Chiacchiericcio Apple/Stampanti/Chromecast (Rate limit / separazione VLAN).
- Malware / Botnet: Conficker, WannaCry, varianti Mirai scansionano tramite broadcast/multicast.
- NIC / Driver Difettoso: NIC "jabbering" che spara frame malformati.
- Virtualizzazione: Hyper-V / vSwitch / Linux Bridge mal configurato allaga broadcast VM a tutte le vNIC.
Mitigazione e Migliori Pratiche
1. Progettazione di Rete (Architettura)
- Domini Broadcast Piccoli: VLAN /24 o /25 max. Route al Core/Distribution (L3). Nessuna VLAN che si estende su armadi di accesso.
- Private VLAN (PVLAN): Isolamento host-to-host (porte Promiscuous/Isolated/Community). Ferma la diffusione laterale dei broadcast.
2. Funzioni Switch (Data Plane)
- Storm Control (Soppressione Broadcast): `storm-control broadcast level 1.00` (1% della banda porta) o `pps 500`. **Azione: Shutdown / Trap / Filter.** Applica sulle *Porte di Accesso*.
- BPDU Guard / Root Guard / Loop Guard: Spegne porta immediatamente alla ricezione BPDU (porta di accesso) o rilevamento loop.
- Port Security: Limita MAC (max 2-3). Violazione: Restrict/Shutdown. Ferma strumenti di MAC flooding.
- DHCP Snooping + DAI (Dynamic ARP Inspection) + IP Source Guard: Valida ogni pacchetto ARP/DHCP contro tabella binding. **Essenziale.**
- IGMP/MLD Snooping + Querier: Constrains multicast solo alle porte interessate.
3. Monitoraggio e Rilevamento
- SNMP/Telemetry: Monitora `ifInBroadcastPkts`, `ifOutBroadcastPkts`, `dot1dTpPortInFrames` (Bridge MIB).
- NetFlow / sFlow / IPFIX: Esporta a Collector (Kentik, SolarWinds, ElastiFlow, Grafana). Allerta su `broadcast_pps > soglia`.
- Port Mirroring (SPAN/RSPAN/ERSPAN) + Zeek / Suricata: Ispezione profonda pacchetti per payload broadcast anomali.
4. Indurimento Host
- Disabilita NetBIOS over TCP/IP. Disabilita LLMNR (GPO). Disabilita mDNS/Bonjour se non necessario (Avahi).
- Windows: `Set-NetIPv4Protocol -RandomizeIdentifiers Enabled` (Privacy).
- Linux: `systemd-resolved` gestisce LLMNR/mDNS. `nftables` drop input broadcast `-i eth0 -d 255.255.255.255 counter drop`.
Implementare **Storm Control su ogni porta di accesso** + **DHCP Snooping/DAI** + **Accesso Routed (Nessun estensione L2)** elimina il 99% delle tempeste di broadcast prima che inizino.