DNSSEC presenta alcuni rischi, ma non sono direttamente correlati alla riflessione o all'amplificazione. L'espansione della dimensione del messaggio EDNS0 è un'aringa rossa in questo caso. Lasciatemi spiegare.
Qualsiasi scambio di pacchetti che non dipende da una precedente prova di identità è soggetto ad abuso da parte degli aggressori DDoS che possono utilizzare tale scambio di pacchetti non autenticato come riflettore e forse anche come amplificatore. Ad esempio, ICMP (il protocollo dietro "ping") può essere abusato in questo modo. Così come il pacchetto TCP SYN, che sollecita fino a 40 pacchetti SYN-ACK anche se il SYN è stato falsificato per provenire da una vittima che non desidera quei pacchetti SYN-ACK. E, naturalmente, tutti i servizi UDP sono vulnerabili a questo attacco, inclusi NTP, SSDP, uPNP e, come notato da altre risposte qui, incluso anche DNS.
La maggior parte degli apparecchi di rilevamento delle intrusioni, prevenzione delle intrusioni e bilanciamento del carico sono colli di bottiglia, incapaci di tenere il passo con il traffico "line rate". Inoltre, molti router non possono funzionare alla velocità della linea e alcuni switch. Questi colli di bottiglia, essendo la cosa più piccola "nel percorso" e più piccoli dei collegamenti stessi, sono il vero bersaglio di attacchi DDoS basati sulla congestione. Se riesci a tenere occupato il firewall di qualcuno con il traffico di attacco, allora il buon traffico non passerà, anche se i collegamenti non sono pieni. E ciò che rallenta un firewall non è il numero totale di bit al secondo (che può essere aumentato utilizzando messaggi più grandi, ed EDNS0 e DNSSEC lo faranno), ma piuttosto il numero totale di pacchetti al secondo.
Esistono molte leggende urbane sul modo in cui DNSSEC peggiora DDoS a causa delle dimensioni più grandi del messaggio di DNSSEC, e mentre ciò ha un senso intuitivo e "suona bene", è semplicemente falso. Ma se ci fosse un briciolo di verità in questa leggenda, la vera risposta sarebbe ancora altrove-- [perché DNSSEC utilizza sempre EDNS0, ma EDNS0 può essere utilizzato senza DNSSEC] e molte risposte normali non DNSSEC sono grandi quanto un DNSSEC la risposta sarebbe. Considerare i record TXT utilizzati per rappresentare i criteri SPF o le chiavi DKIM. O semplicemente qualsiasi grande set di indirizzi o record MX. In breve, nessun attacco richiede DNSSEC, e quindi qualsiasi attenzione a DNSSEC come rischio DDoS è energia non corretta.
DNSSEC ha dei rischi! È difficile da usare e più difficile da usare correttamente. Spesso richiede un nuovo flusso di lavoro per le modifiche dei dati di zona, la gestione dei registrar, l'installazione di nuove istanze del server. Tutto ciò deve essere testato e documentato e ogni volta che qualcosa si rompe in relazione al DNS, la tecnologia DNSSEC deve essere studiata come possibile causa. E il risultato finale se fai tutto nel modo giusto sarà che, come firmatario di una zona, i tuoi contenuti e sistemi online saranno più fragili per i tuoi clienti. In qualità di operatore di server remoto, il risultato sarà che i contenuti e i sistemi di tutti gli altri saranno più fragili per te. Questi rischi sono spesso considerati superiori ai benefici, poiché l'unico vantaggio è proteggere i dati DNS da modifiche o sostituzioni in volo. Quell'attacco è così raro da non valere tutto questo sforzo. Speriamo tutti che DNSSEC diventi onnipresente un giorno, grazie alle nuove applicazioni che consentirà. Ma la verità è che oggi, DNSSEC è tutto a costo, nessun vantaggio e con rischi elevati.
Quindi se non vuoi usare DNSSEC, questa è la tua prerogativa, ma non lasciare che nessuno ti confonda che il problema di DNSSEC è il suo ruolo di amplificatore DDoS. DNSSEC non ha alcun ruolo necessario come amplificatore DDoS; ci sono altri modi più economici di usare DNS come amplificatore DDoS. Se non vuoi usare DNSSEC, lascia che sia perché non hai ancora bevuto il Kool Aid e vuoi essere un ultimo mittente (in seguito) e non un primo in movimento (ora).
I server di contenuti DNS, a volte chiamati "server di autorità", devono essere prevenuti dall'essere abusati come amplificatori che riflettono il DNS, poiché DNS utilizza UDP e UDP è abusabile da pacchetti di origine falsificata. Il modo per proteggere il tuo server di contenuti DNS da questo tipo di abuso non è bloccare UDP, né forzare TCP (usando il trucco TC = 1), né bloccare QUALSIASI query, né rinunciare a DNSSEC. Nessuna di queste cose ti aiuterà. È necessario limitare il tasso di risposta DNS(DNS RRL), una tecnologia completamente gratuita che è ora presente in diversi server di nomi open source tra cui BIND, Knot e NSD. Non è possibile risolvere il problema di riflessione DNS con il firewall, poiché solo una middlebox sensibile al contenuto come il server DNS stesso (con l'aggiunta di RRL) conosce abbastanza la richiesta per essere in grado di indovinare con precisione cos'è un attacco e cosa no. Voglio sottolineare ancora una volta: DNS RRL è gratuito e tutti i server delle autorità dovrebbero eseguirlo.
In conclusione, voglio esporre i miei pregiudizi. Ho scritto la maggior parte di BIND8, ho inventato EDNS0 e ho co-inventato DNS RRL. Ho lavorato su DNS dal 1988 come 20 e qualcosa e ora sono scontroso 50 e qualcosa, con sempre meno pazienza per soluzioni cotte per problemi fraintesi. Ti prego di accettare le mie scuse se questo messaggio suona troppo come "hey ragazzi, scendete dal mio prato!"