Filtra le risposte DNS inoltrate con Bind


3

Quali opzioni sono disponibili per bloccare le risposte alle query DNS contenenti un indirizzo IP o un intervallo specifici?

Sto leggendo gli attacchi Rebinding DNS e mi chiedo come potrei bloccarli.

Quando un utente malintenzionato tenta un attacco di associazione, tenterà di indurre il browser a credere che il contenuto dannoso sia stato fornito 127.0.0.1o un indirizzo all'interno della mia LAN. Lo fanno configurando il loro server DNS per servire l'indirizzo fraudolento (quando richiesto all'interno dello script dannoso). Vorrei impedirlo bloccando tutte le risposte alle query DNS inoltrate che generano un indirizzo locale o LAN.

Uso una zona Bind9 per la mia rete locale e utilizzo i server d'inoltro per risolvere indirizzi esterni.

La casella Bind è un server Debian dietro il mio router NAT. Esegue UFW per firewall e consente TCP / UDP sulla porta 53.


Hai letto su Response Policy Zone (RPZ), possono fare quello che vuoi ed è incluso in BIND9. dnsrpz.info
milli

Non penso che RPZ possa essere usato per questo. Credo che RPZ sia in grado di filtrare solo le richieste. La domanda si riferisce alle risposte da domini di richiesta sconosciuti ma con indirizzi locali nella risposta. Bind ha una funzione per farlo come descritto nella mia risposta di seguito.
davefiddes,

Risposte:


1

È possibile ottenere Bind per filtrare gli indirizzi restituiti utilizzando la deny-answer-addressesfunzione. Per utilizzare questo aggiungi quanto segue alla optionssezione del tuo /etc/bind/named.conf.optionsfile di configurazione:

deny-answer-addresses { 192.0.2.0/24; } except-from { "example.net"; };

Ciò impedirà la restituzione di qualsiasi indirizzo 192.0.2.x in risposta a qualsiasi query DNS ad eccezione del example.netdominio ospitato localmente .

Il manuale di Bind raccomanda inoltre di filtrare gli alias con:

deny-answer-aliases { "example.net"; };

Una serie suggerita di filtri che ho trovato su http://www.sput.nl/internet/dns-morons.html sembra coprire gli attacchi di rebinding DNS più comuni basati sui miei test:

deny-answer-addresses {
    // Unconfigured
    0.0.0.0;
    // RFC 1918
    10.0.0.0/8;
    172.16.0.0/12;
    192.168.0.0/16;
    // RFC 3927
    169.254.0.0/16;
    // IPv6
    // :: to ::ffff:ffff:ffff.
    // Includes ::, ::1, IPv4-Compatible IPv6 Addresses ::/96,
    // and IPv4-mapped IPv6 addresses ::ffff:0:0/96
    ::/80;
    // IPv6 Link local
    fe80::/10;
    // RFC 6052
    64:ff9b::/96;
} except-from { "Your.Domain"; };
deny-answer-aliases { "Your.Domain"; };

Probabilmente non è una buona idea escludere 127.0.0.0/8in quanto viene spesso utilizzato da servizi come elenchi di blocchi di spam.


Grazie! Valuterò la tua risposta nel prossimo weekend, quando avrò un po 'di tempo per giocarci. sembra promettente.
Frank Thomas,

Ci scusiamo per il ritardo significativo nell'accettazione. Ho esaminato questa configurazione e sembra quello che stavo cercando. Vorrei però trovare un buon modo per testarlo. Grazie ancora!
Frank Thomas,

Nessun problema. Ho usato il sito di test rebind.network di Brannon Dorsey (code github.com/brannondorsey/dns-rebind-toolkit ) e WireShark per testare. Non completo ma abbastanza facile da testare prima e dopo aver abilitato la modifica.
davefiddes,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.