Seguridad en DNS
Resumen
El DNS en sí no es seguro. Aprende dos técnicas para mejorar la protección de la privacidad del DNS del usuario final que evita que el DNS exponga información sobre los sitios web que visitan los usuarios y las personas con las que se comunican los usuarios.
Incluso cuando el contenido de Internet está protegido por cifrado con los protocolos HTTPS o TLS, la actividad en línea de los usuarios puede estar expuesta a espías que monitorean las transacciones de DNS. La comprensión de cómo mitigar la amenaza a la privacidad que plantea el DNS comienza con la comprensión de cómo el DNS puede exponer información sobre los sitios web a los que acceden los usuarios.
Prácticamente, cada vez que usamos una aplicación de red, comienza con una consulta DNS para asignar dinámicamente el nombre de algún servidor al que necesitamos acceder a un conjunto de direcciones IP que puede utilizar el Protocolo de Internet. Por ejemplo, en el caso más trivial en el que un usuario desea visitar un sitio web, por ejemplo, www.ccnadesdecero.es, el primer paso que realiza el navegador web es obtener una dirección IP correspondiente al nombre de dominio. Por lo tanto, el conjunto de consultas DNS que realizamos puede filtrar información sobre los sitios web que visitamos, las aplicaciones que usamos y, a veces, incluso las personas con las que nos comunicamos.
Un análisis simple de un escenario de resolución de DNS arroja alguna luz sobre las implicaciones de privacidad de DNS.
- Dado que el DNS no implementa ningún mecanismo para proporcionar confidencialidad a las transacciones del DNS, todas las consultas y respuestas del DNS se envían de forma clara y, por lo tanto, todos los nodos que procesan las consultas, incluido el solucionador recursivo (recursive resolvers) y los distintos servidores DNS autorizados, podrán registrar la consulta original.
- Cualquier nodo que procese los paquetes de consulta, es decir, cualquier router que intervenga, también puede acceder a la consulta original.
- Dado que el solucionador recursivo (o recursor de DNS) reenvía la consulta original a cada servidor autorizado con el que se contacta, la consulta original también se filtra a ellos innecesariamente.
Tabla de Contenido
1. Conceptos Fundamentales
Todos los servidores de DNS están dentro de una de estas cuatro categorías: Solucionadores recursivos, servidores de nombres raíz, servidores de nombres TLD y servidores de nombres autoritativos.
- Solucionador recursivo: Es la primera parada en una consulta de DNS. El solucionador recursivo actúa como un intermediario entre un cliente y un servidor de nombres de DNS.
- Servidor de nombres raíz: Un servidor raíz acepta una consulta de solucionador recursivo que incluye un nombre de dominio, y el servidor de nombres raíz responde dirigiendo al solucionador recursivo a un servidor de nombres TLD basado en la extensión de ese dominio (.com, .net, .org, etc.).
- Servidor de nombres de dominios de primer nivel: Mantiene información para todos los nombres de dominio que comparten una extensión de dominio común, tal como .com, .net, o cualquiera que venga tras el último punto en una URL.
- Servidor de nombres autoritativos: Cuando un solucionador recursivo recibe una respuesta de un servidor de nombres de dominios de primer nivel, esa respuesta dirigirá el solucionador a un servidor de nombres autoritativo. El servidor de nombres autoritativos es generalmente el último paso del solucionador en el trayecto hacia una dirección IP.
2. Mejorar la privacidad de DNS
Los dos cambios en el proceso de resolución de DNS que pueden mejorar la protección de la privacidad del usuario final son los siguientes:
- Proporcionar confidencialidad a las transacciones de DNS a través del cifrado; y
- Minimizar la información filtrada a los servidores de nombres autorizados de DNS.
Hacer que las transacciones de DNS sean confidenciales implica cifrar las transacciones realizadas entre los resolutores mínimos (stub) y los resolutivos recursivos y las transacciones entre los resolutivos recursivos y los servidores de nombres autorizados. Debido a que es más fácil asegurar las transacciones entre un stub resolver y un recursive resolver, este ha sido el único conjunto de transacciones para el que se han estandarizado e implementado mecanismos de confidencialidad.
2.1. Protocolos para la privacidad de DNS a través del cifrado
DNSCrypt fue el primer protocolo ampliamente utilizado para cifrar y autenticar transacciones DNS entre resolutores mínimos y resolutivos recursivos. El protocolo DNSCrypt nunca se ha enviado al proceso de estándares del Internet Engineering Task Force (IETF). Pero está públicamente documentado y hay implementaciones de código abierto disponibles.
En los últimos años, el IETF ha producido tres protocolos de cifrado y autenticación para mejorar la privacidad del DNS:
- DoT: DNS sobre TLS es un protocolo de seguimiento de estándares definido en RFC (solicitud de comentarios) 7858 que especifica el uso de DoT para proporcionar privacidad a través del cifrado.
- DoD: un protocolo experimental definido en RFC 8094, DNS sobre Datagram Transport Layer Security se basa en el protocolo DTLS para proteger el tráfico del Protocolo de datagramas de usuario, similar a la forma en que TLS protege el tráfico TCP.
- DoH: otro protocolo de seguimiento de estándares definido en RFC 8484, DNS sobre HTTPS proporciona un mecanismo para enviar consultas y respuestas DNS a través del protocolo HTTP Secure, que define el protocolo para enviar tráfico HTTP a través de TLS.
Los tres enfoques cifran las transacciones DNS entre los resolutores mínimo y los resolutivos recursivos. DoT también puede usarse potencialmente para cifrar transacciones entre resolutores recursivos y servidores de nombres autorizados. Cada una de estas técnicas tiene diferentes niveles de implementación y despliegue . Por razones obvias, todas las técnicas requieren soporte tanto en la resolución mínima como en la resolución recursiva, junto con la configuración adecuada en ambos.
2.2. Mejorar la privacidad de DNS al limitar la fuga de datos
Evitar que la consulta DNS original se filtre a servidores de nombres autorizados es una tarea mucho más fácil que implementar protocolos de cifrado. Se reduce a reenviar la consulta original solo cuando es estrictamente necesario.En el procedimiento tradicional de resolución de DNS, la consulta DNS original se reenvía a cada uno de los servidores de nombres autorizados que se contactan. Sin embargo, una técnica estandarizada recientemente llamada minimización de nombre de consulta (Minimisation to Improve Privacy), o minimización de QNAME (QNAME minimization), modifica el procedimiento de resolución de DNS en el solucionador recursivo de modo que la consulta original se exponga a servidores autorizados solo cuando sea estrictamente necesario.
En lugar de reenviar la consulta original a cada servidor de nombres autorizado, el solucionador recursivo solicita la autoridad de cada una de las zonas involucradas, comenzando desde la zona raíz, solicitando así registros del servidor de nombres solo para un sufijo del nombre de dominio original. y reenviando la consulta original solo al servidor de nombres autorizado de la zona correspondiente. Esto mitiga efectivamente la fuga de información a los servidores de nombres autorizados. La minimización de QNAME solo requiere el soporte adecuado en resolutores recursivos, y muchos resolutores populares ya vienen con soporte de minimización de QNAME habilitado por defecto.
¡Listo! Sigue visitando nuestro blog de curso de redes, dale Me Gusta a nuestra fanpage; y encontrarás más herramientas y conceptos que te harán todo un profesional de redes