Un "risolutore DNS aperto" è un server DNS che è disposto a risolvere ricerche DNS ricorsive per chiunque su Internet. È molto simile a un relay SMTP aperto, in quanto la semplice mancanza di autenticazione consente a terze parti dannose di propagare i propri payload utilizzando le apparecchiature non protette. Con i relè SMTP aperti, il problema è che inoltrano spam. Con i resolver DNS aperti, il problema è che consentono un attacco denial of service noto come Attacco di amplificazione DNS.
Il modo in cui funziona questo attacco è piuttosto semplice: poiché il tuo server risolverà query DNS ricorsive da chiunque, un utente malintenzionato può indurlo a partecipare a un DDoS inviando al tuo server una query DNS ricorsiva che restituirà una grande quantità di dati, molto più grande di il pacchetto di richiesta DNS originale. Effettuando lo spoofing (falso) del loro indirizzo IP, indirizzeranno questo traffico extra ai computer delle loro vittime anziché ai propri e, naturalmente, faranno il maggior numero di richieste il più velocemente possibile verso il tuo server e qualsiasi altro DNS aperto risolutori che possono trovare. In questo modo, qualcuno con una pipa relativamente piccola può "amplificare" un attacco di negazione del servizio usando tutta la larghezza di banda sulla propria pipa per dirigere un volume molto più grande di traffico sulle proprie vittime.
ArsTechnica ha pubblicato un articolo decente sul recente attacco DDoS all'amplificazione DNS contro Spamhaus e vale la pena di leggere rapidamente le basi (e una buona visione dell'amplificazione).
Il modo più semplice per proteggere il tuo sistema da abusi in questo modo è limitare gli indirizzi che il tuo server eseguirà ricerche ricorsive per le tue sottoreti locali. (Le specifiche dipendono dal server DNS che stai utilizzando, ovviamente).
Ad esempio, se stavo usando BIND 9 e volessi semplicemente impedire la ricorsione del DNS da indirizzi esterni, nella configurazione configuro il seguente codice:
options {
directory "/var/named/master";
allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };
Quella riga di codice dice al mio server BIND di elaborare solo richieste DNS ricorsive per l'indirizzo di loopback locale (che immagino di poter / impostare sul blocco di loopback locale, l'intero / 8) e sui 3 spazi di indirizzi IPv4 privati.
Per Windows Server 2012, che dici di utilizzare, hai le seguenti opzioni.
1. Separare il server DNS dal server IIS.
- Almeno in un mondo perfetto, non c'è motivo per cui è necessario eseguire DNS sullo stesso box di IIS.
- Metti DNS su una scatola interna che non è NAT, quindi il mondo esterno non può accedervi e lascia che IIS risieda sulla scatola rivolta verso l'esterno a cui può accedere il resto del mondo. È possibile utilizzare le regole dual homing o firewall per consentire in modo selettivo l'accesso al server DNS dal server IIS.
2. Bloccare le richieste DNS esterne con un firewall, ad esempio il firewall di Windows incorporato.
- Con mia sorpresa, il DNS di Windows non ti consente di limitare gli indirizzi ai quali sono onorate le richieste DNS ricorsive, quindi questo in realtà è il metodo raccomandato da Microsoft.
-
- Seleziona le regole DNS (TCP e UDP), vai alla
Remote IP address
sezione e aggiungi le sottoreti in uso sulla tua LAN, così come tutti gli indirizzi IP rivolti al pubblico dei server che hanno bisogno di accedere ad Active Directory. Come nell'esempio BIND, gli spazi degli indirizzi privati IPv4 sono 127.0.0.0/8
10.0.0.0/8
192.168.0.0/16
e 172.16.0.0/12
.
- Onestamente non sono sicuro dell'effetto che questo avrà sul tuo ambiente, dal momento che non hai davvero dichiarato come DNS e AD sono configurati nel tuo ambiente e, di conseguenza, è l'ultima opzione.
-
- Apri DNS Manager.
- Nell'albero della console, fare clic con il pulsante destro del mouse sul server DNS applicabile, quindi fare clic su Proprietà.
- Dove?
- DNS / server DNS applicabile
- Fai clic sulla scheda Avanzate.
- Nelle opzioni del server selezionare la casella di controllo Disabilita ricorsione e quindi fare clic su OK.
- Dato che disponiamo di un ambiente a più foreste e utilizziamo forwarder condizionali affinché funzioni, non selezionerò quella casella. Potrebbe essere qualcosa da considerare anche per te.