[lacnog] Documento sobre configuracion de DNS recursivos

Eduardo Trápani etrapani en gmail.com
Mar Abr 2 11:23:12 BRT 2013


> En los dos casos que mencionas (ns1.google.com <http://ns1.google.com> y
> ns1.p34.dynect.net <http://ns1.p34.dynect.net>) hay amplificación a
> pesar de que ninguno de los dos son recursivos.

Nicolás, estabamos viendo el tema de los ataques *sin* recursión. Yo no
entendía cómo participaban y cómo mitigarlo.  El artículo que mandó
Carlos[1] explica todo bien, en particular por qué lo que decís arriba
no es correcto.  Está bueno.

Lo intento explicar yo, con prosa menos elegante y habiendo usado el
wireshark: sin la recursión en el caso de Google *no* hay amplificación
(entran 42 bytes, salen 42).  En el caso de Twitter *sí* la hay (61 / 272).

Mirá la consulta de nuevo, no hay recursión involucrada, sino
aprovecharse de una respuesta por defecto que dan los servidores
autoritativos, que te tiran los hints.

dig @servidor.autoritativo.no.recursivo -t ns .

Y no estaba mal del todo esa respuesta, en un mundo ideal, sin malicia,
alcanzaba con conocer un servidor autoritativo y podés encontrar la raíz
pidiendo a ese los hints.  Es parte de la distribución.

En el mundo al que vamos tenés que conocer la raíz vos, o tener acceso a
un recursivo o conocer el autoritativo del dominio que querés.
Probablemente todos tengan acceso a un recursivo (por lo menos para
algunas zonas), así que no es grave.

> recursivos, mientras que con un servidor autoritativo no recursivo (como
> ns1.google.com <http://ns1.google.com>) hay que hacer un mayor esfuerzo
> puesto que tienes que individualizar la consulta para obtener una
> respuesta grande

Eso tampoco es cierto.  La consulta que citaba ("-t ns .") no está muy
personalizada que digamos :) y amplifica igual en un monton de
servidores autoritativos y bien configurados (salvo que el responder con
los hints esté desaconsejado en un BCP o un RFC)

Para probar (script desprolija pero funcional :) pide no recursivamente
un "-t ns ." al primer ns para ese dominio):

while read a; do host -t ns $a | grep -q "no NS record" || dig
+norecurse @$(host -t ns $a | head -1 | awk '{print $4}') -t ns .;echo
"----------"; done

Vas poniendo de a uno los dominios: google.com, hotmail.com, bing.com,
slashdot.org, twitter.org, dyndns.tv, apnic.org y ahí ves las
respuestas, si están vacías (rechazadas), está bien, sino, están
amplificando.  Puse de los dos tipos.  Los grandes en general están en
CDN y no manejan sus propios autoritativos.  Muchos chicos tienen
hosting y tampoco los manejan.  Eso reduce el problema.  Pero algunos
como ibm.com listan todos el hints, con información adicional que
incluye IPv4 e IPv6, amplificando todavía más.

¡Twitter cambió el dns y ya no está amplificando! ¿Leerán la lista? ;)
Si IBM también lo hace podemos considerar que nuestras charlas tienen
impacto global :).

Eduardo.

[1]
http://www.secureworks.com/cyber-threat-intelligence/threats/dns-amplification/



Más información sobre la lista de distribución LACNOG