View on GitHub

DNS flag day 2020

English (US) Le Français 日本語 Español 中文(中国)

Contenido

¿Qué viene ahora?

El próximo “DNS flag day” está planificado para el 1 de octubre de 2020. Se enfocará en los problemas operacionales y de seguridad en el DNS causados por la fragmentación de los paquetes IP (Internet Protocol).

En este sitio puede encontrar una descripción detallada del problema, los cambios que se realizarán en 2020-10-01, y formas de probar sus sistemas antes de la fecha.

También se puede suscribir a la lista de correo dns-announce (en inglés), o siga a @dnsflagday en Twitter para recibir notificaciones antes cambios significativos.

La fecha exacta

2020-10-01 (Primero de octubre de 2020).

DNS Flag Day 2020

La comunidad DNS ha estado discutiendo persistentemente sobre problemas de interoperabilidad y desempeño del sistema DNS en listas de correo de la industria y en conferencias como el panel de discusión en DNS-OARC 30 (video, diapositivas).

El plan propuesto para el DNS flag day 2020 fue anunciado en RIPE78 por Petr Špaček, CZ.NIC y Ondřej Surý, ISC (video, diapositivas). En esta oportunidad nos enfocaremos en los problemas con la fragmentación IP de los paquetes DNS.

La fragmentación IP no es confiable en la Internet actual, y puede causar fallas en la transmisión de los mensajes grandes de DNS enviados vía UDP. Pero incluso cuando la fragmentación funciona, puede no ser suficientemente seguro para el DNS. Es teóricamente posible falsificar partes de un mensaje DNS fragmentado, sin que sea fácilmente detectable en el receptor.

Recientemente hubo un paper y una presentación Defragmenting DNS - Determining the optimal maximum UDP response size for DNS por Axel Koolhaas y Tjeerd Slokker en colaboración con NLnet Labs, que exploró los datos reales mundiales usando sondas de RIPE Atlas, donde los investigadores sugieren distintos valores para IPv6 e IPv6 en diferentes escenarios. Es importante que los operadores conozcan las particularidades de su ambiente, pero los valores por defecto en el software DNS debe reflejar el mínimo tamaño seguro, que es 1232.

Los problemas de fragmentación pueden ser abordados mediante a) configurando los servidores para limitar los mensajes DNS enviados sobre UDP en un tamaño que no ocasione fragmentación en enlaces de red típicos, y b) asegurándose que los servidores DNS pueden cambiar desde UDP a TCP cuando una respuesta DNS es demasiado grande para caber en este tamaño limitado.

Consideraciones sobre el Tamaño de los Mensajes

El tamaño óptimo de un mensaje DNS para evitar la fragmentación IP y que al mismo tiempo minimice el uso de TCP dependerá de la Unidad de Transmisión Máxima (MTU) de los enlaces físicos de red que conectan los dos extremos de la comunicación. Desafortunadamente, no existe aún un mecanismo estándar para los implementadores de servidores DNS para acceder a esta información. Hasta que ese estándar exista, recomendamos que el tamaño de búfer EDNS sea, por defecto, de un tamaño lo suficientemente pequeño para evitar la fragmentación en la mayoría de los enlaces de red en uso al día de hoy.

Un búfer EDNS de tamaño 1232 bytes evitará la fragmentación en casi todas las redes actuales. Esto está basado en un MTU de 1280, el que es requerido por la especificación IPv6, menos los 48 bytes de los encabezados IPv6 y UDP; además de los resultados de la investigación mencionada anteriormente.

Es importante notar que este es un valor por defecto, que es útil cuando no hay disponible más información. Los operadores pueden configurar valores más grandes si es que sus redes soportan tamaños de paquetes mayores, y están seguros que no habrá riesgo de fragmentación. Los proveedores de servidores DNS pueden usar valores más grandes (o más pequeños) si tienen información de MTU disponible desde el kernel.

Acción: Operadores de DNS Autoritativos

En el lado autoritativo, lo que debería hacer para solucionar estos problemas es asegurarse que sus servidores DNS pueden responder consultas DNS sobre TCP (puerto 53). ¡Recuerde revisar también su(s) cortafuegos (firewalls)!, ya que algunos de ellos bloquean TCP/53.

También debería configurar sus servidores para negociar un tamaño de búfer EDNS que no cause fragmentación. El valor recomendado es de 1232 bytes.

Y por último, ¡los servidores DNS Autoritativos NO DEBEN enviar respuestas más grandes que el tamaño del buffer EDNS solicitado!

Ya puede revisar su dominio ingresándolo acá abajo y presionando “Test!”.Esta herramienta de prueba usa el EDNS Compliance Tester de ISC y revisará que la prueba edns512tcp es exitosa, entre otras pruebas de compatibilidad general.

Pruebe su dominio


Acción: Operadores de DNS Resolutor

En el lado del resolutor (“resolver”), son más o menos los mismos requisitos que para el autoritativo: asegurarse que sus servidores pueden responder consultas DNS sobre TCP (puerto 53) y configurar un tamaño de búfer EDNS de 1232 bytes para evitar la fragmentación. ¡Recuerde revisar su(s) cortafuegos (firewalls) para evitar problemas con DNS sobre TCP!.

Muy importante: ¡los resolutores DEBEN repetir sus consultas sobre TCP si reciben una respuesta UDP truncada (con el bit TC=1 encendido)!

¡NUEVO! Esta herramienta revisará su navegador, sistema y DNS resolutor de su ISP cargando una imagen en una dirección URL específica que solo puede ser resuelta si hay soporte TCP en el último resolutor que consulta al autoritativo. Para más información revise Check My DNS que es el mecanismo que utiliza esta herramienta.

Pruebe su resolutor


Acción: Proveedores de software DNS

Como proveedor de software DNS es importante ser compatible con los estándares y usar un tamaño por defecto de buffer EDNS (1232 bytes) que no cause fragmentación en enlaces de red típicos.

Los estándares relevantes son principalmente los RFC 7766, RFC 6891 sección 6.2.3. y RFC 6891 sección 6.2.4..

La motivación para el cambio está descrita en el IETF draft intarea-frag-fragile section 6.1 y IETF draft iab-protocol-maintenance.

¿Cómo probar?

Si es titular de un nombre de dominio u operador de un DNS autoritativo, puede usar nuestra herramienta de pruebas basada en web para revisar un dominio. La puede encontrar en la sección Acción: Operadores de DNS Autoritativos.

Nuestra herramienta basada en web para clientes y operadores de DNS resolutores puede ser encontrada más arriba en la sección Acción: Operadores de DNS Resolutor

También puede probar usando los siguientes comandos CLI:

$ dig +tcp @auth_IP yourdomain.example.
$ dig +tcp @resolver_IP yourdomain.example.
$ dig @resolver_IP test.knot-resolver.cz. TXT

Todas las consultas DNS deben ser exitosas, y los comandos con la opción +tcp y sin ella deben retornar lo mismo.

Si es un proveedor de servicio puede probar sus servicios autoritativos y resolutores configurando los siguientes tamaños por defecto de buffer EDNS:

La configuración indicada no ocasionará cambios visibles en caso que todo funcione correctamente, pero algunas consultas fallarán en su resolución si el transporte TCP no está disponible.

¿Quién está detrás del DNS flag day?

El esfuerzo DNS Flag Day está empujado por la comunidad de proveedores de software y servicios DNS, y es apoyado por El Centro de Operaciones, Análisis e Investigación del DNS (DNS-OARC) del cual la mayoría de la comunidad es miembro.

Si tiene consultas técnicas acerca del DNS flag day, puede unirse a la lista de correo DNS-operations y preguntar ahí (solo en inglés).

Contacto

Para consultas de prensa y medios, por favor utilice el correo media (at) dns-oarc.net y por favor incluya el texto “DNS Flag Day” en el asunto (“subject”) del correo.

Apoyan

FAQ

Flag days anteriores

Esta es una lista de los “flag days” anteriores:

El DNS flag day 2019 fue un acontecimiento muy exitoso. La comunidad de Internet trabajó en conjunto y corrigió los problemas que causaban demoras en todos los usuarios de Internet. Quisiéramos agradecer a todos los operadores que cooperaron y ayudaron en hacer de Internet un mejor lugar.

Un resumen del “DNS flag day” pasado y de los futuros se puede encontrar en: https://youtu.be/mH_elg9EUWw?t=649.