[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