Attacchi DDOS via server DNS
Questo breve articolo non vuole essere un trattato esaustivo sull'argomento per il quale rimandiamo ai link riportati.
Di cosa stiamo parlando?
Come vengono usati i server DNS per un attacco DDOS? Semplicemente inviando un pacchetto di query con il mittente falsificato (è la vittima). Scegliendo opportunamente il server, potrebbe essere stato compromesso con l'inserimento di un grosso record TXT oppure semplicemente risponde anche quando non dovrebbe, si ottengono fattori di amplificazione anche fino a 100. Cioè con una query di circa 40 byte, la vittima si vede arrivare una risposta di anche 4000 byte!
L'attacco più grosso di questo tipo, con picchi di oltre 300 Gbps, è probabilmente quello del Marzo 2013, nei confronti di spamhaus.
Sono vulnerabile?
Come si fa verificare se il proprio name server si comporta come dovrebbe? La cosa più semplice è dare questi due comandi da un nodo "esterno" (oppure potete
dig @<name_server_in_esame> . NS
dig @<name_server_in_esame> google.com
In entrambi i casi, la risposta deve contenere "status: REFUSED" o "status: SERVFAIL". Altre risposte indicano che il server DNS può essere utlizzato per questo tipo di attacchi.
In alternativa, il sito web di Measurement Factory contiene un buon numero di strumenti per verificare la configurazione dei server DNS.
Come ci si può difendere?
La difesa, almeno per server non windows, è semplice: basta restringere le query ricorsive, quelle cioè di nodi non appartenenti al proprio dominio di competenza, ai propri client.
Analogamente per le risposte alla query dei root name server (fattore di amplificazione di circa 11).
Esempio di configurazione BIND
- Si definisce una ACL in cui inserire tutte le reti dei propri client che hanno bisogno della ricorsione;
- si abilita la ricorsione e l'utilizzo della cache solo alle reti di sopra
acl "internal" { localhost; localnets; 192.0.2.0/24; tutte_le_reti_interne; };
options { allow-query { any; };
allow-recursion { internal; };
allow-query-cache { internal; }; };
Sotto trovate altre informazioni.
Il problema di Windows
Il server DNS di Microsoft non permette la ricorsione condizionata, quindi non è possibile permettere la ricorsione per le richieste della rete interna ed impedirla alle richieste dalla rete esterna.
Le soluzioni possibili per arginare i danni causati dai DDoS possono essere le seguenti:
- limitare la banda: se il DNS Windows deve necessariamene essere visibile dall'esterno, si può limitare, tramite firewall, la banda di rete che può utilizzare;
- utilizzare BIND per Windows, identico nella configurazione a quello per Unix;
- utilizzare due server DNS, uno Microsoft che risponda soltanto alle richieste delle macchine della propria rete e ad Active Directory, con la ricorsione abilitata, e un altro che risponda soltanto alle query esterne per le macchine del proprio dominio di competenza e con la ricorsione disabilitata.
In questo caso le configurazioni potrebbero essere:- server interno: nessun cambiamento, sia per il server sia per i client interni, che continuano ad usarlo come loro DNS;
- server esterno:
- ricorsione disabilitata;
- contiene le zone dei domini di cui si è autoritativi.
Ovviamente bisogna comunicare al server DNS di livello superiore l'indirizzo IP del server esterno. In alternativa, si modifica l'IP del server interno, anche su tutti i client, in modo che continuino a puntare a lui.
Per saperne di più
Anatomy of Recent DNS Reflector Attacks from the Victim and Reflector Point of View (video non recente).
Per quanto riguarda la configurazione corretta dei server DNS:
- DNS Best Practices, Network Protections, and Attack Identification, di CISCO, fornisce anche indicazioni su come risolvere il problema e contiene una ricca bibliografia;
- Secure BIND Template di TEAM CYMRU;
- How to Secure a Domain Name Server di NIST tratta anche il caso di WIndows;
- Disable Recursion on the DNS Server e Deploying Secure DNS, il secondo più generale del primo, sono due documenti di Microsoft;
- in DNS for Rocket Scientists di zytrax c'è almeno un paragrafo sul problema.
- Ultimo aggiornamento il .
- Visite: 22249