Sovraccarico della dimensione della zona DNS?

1

È possibile DOS DNS creando zone dns personalizzate con un sacco di record di testo al loro interno in modo che la dimensione della zona DNS sia nell'ordine, ad esempio 100 Gigabyes, e quindi interrogare tutti i record dns dalla zona dal Internet e quindi forse riempiendo il disco dei server di cache DNS?

Bind9 ha una direttiva size-cache-size ma non è quella per l'intero server e solo la memoria?

    
posta Christian 14.03.2014 - 13:33
fonte

1 risposta

2

Userò BIND come software server di esempio qui, per ovvi motivi.

1) Non è possibile riempire il disco dei server dns caching. La cache è in memoria, non sul disco. L'unico modo in cui la cache va sul disco è se l'amministratore entra e attiva manualmente un dump su disco (e quella versione scaricata non è usata dal server cache, è solo lì che l'amministratore esegue il debug con).

2) È possibile DOS - o almeno avere un impatto sulle prestazioni di - memorizzare nella cache i server DNS. Considera questo post - concesso, ha 10 anni, ma BIND è sempre stato straordinariamente predittivo di BIND.

3) Non sono nemmeno sicuro che AXFR venga memorizzato nella cache o che i server dei nomi di cache gestiranno le query AXFR. Ad esempio, puoi interrogare direttamente questo dominio di esempio:

$ dig axfr @ns12.zoneedit.com zonetransfer.me

; <<>> DiG 9.9.3-rpz2+rl.156.01-P2 <<>> axfr @ns12.zoneedit.com zonetransfer.me
; (1 server found)
;; global options: +cmd
zonetransfer.me.        7200    IN      SOA     ns16.zoneedit.com. soacontact.zoneedit.com. 2013064418 2400 360 1209600 300
zonetransfer.me.        7200    IN      NS      ns16.zoneedit.com.
zonetransfer.me.        7200    IN      NS      ns12.zoneedit.com.
zonetransfer.me.        7200    IN      A       217.147.180.162

Tuttavia, non è possibile fare lo stesso usando come intermediari i noti server dei nomi di cache BBN. Guarda come l'AXFR fallisce, ma una query NS funziona bene:

$ dig axfr @4.2.2.1 zonetransfer.me
;; communications error to 4.2.2.1#53: end of file
$ dig ns @4.2.2.1 zonetransfer.me

; <<>> DiG 9.9.3-rpz2+rl.156.01-P2 <<>> ns @4.2.2.1 zonetransfer.me
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49741
...
;; ANSWER SECTION:
zonetransfer.me.        7200    IN      NS      ns16.zoneedit.com.
zonetransfer.me.        7200    IN      NS      ns12.zoneedit.com.

Detto questo, non sono riuscito a trovare un buon riferimento che spiegasse cosa farà o non farà il server di caching di BIND, quindi è difficile fare una dichiarazione radicale.

4) Bottom line: Certo, potreste DOS un server DNS, ma non sono sicuro che il vostro metodo "large AXFR" sia in grado di farlo. E qualsiasi DOS di questo tipo sarebbe temporaneo (in memoria), non sistemico. Un metodo più probabile sarebbe quello di creare un numero ginormous di record A con TTL di grandi dimensioni e interrogarli tutti individualmente. (regola di gowen # 022: per definizione, qualsiasi servizio è suscettibile di Denial of Service.)

    
risposta data 14.03.2014 - 14:42
fonte

Leggi altre domande sui tag