DNS no se diseñó pensando en la seguridad, y hay muchos tipos de ataques creados para explotar las vulnerabilidades en el sistema DNS.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
La seguridad de DNS es la práctica de proteger la infraestructura de DNS de los ciberataques para que siga funcionando de forma rápida y fiable. Una estrategia eficaz de seguridad de DNS incorpora una serie de defensas superpuestas, entre las que se incluyen el establecimiento de servidores DNS redundantes, la aplicación de protocolos de seguridad como DNSSEC y la exigencia de un registro riguroso de DNS.
Como pasa con muchos protocolos de Internet, el sistema DNS no se diseñó para tener en cuenta la seguridad y tiene varias limitaciones de diseño. Estas limitaciones, combinadas con los avances tecnológicos, hacen que los servidores DNS sean vulnerables a un amplio espectro de ataques, como la suplantación de identidad, la amplificación, DoS (denegación de servicio) o la interceptación de información personal privada. Y ya que el DNS es una parte integral de la mayoría de las solicitudes de Internet, puede ser un objetivo principal de los ataques.
Además, los ataques de DNS se suelen implementar junto con otros ciberataques para distraer a los equipos de seguridad del verdadero objetivo. Una organización debe ser capaz de mitigar con rapidez los ataques de DNS para no que no esté demasiado ocupada para gestionar los ataques simultáneos a través de otros vectores.
Los atacantes han encontrado varias formas para atacar y aprovecharse de los servidores DNS. A continuación, algunas de las más habituales:
Falsificación/evenenamiento de caché de DNS: este es un ataque en el que se introducen datos falsificados en el caché de una resolución de DNS, lo que hace que la resolución devuelva una dirección IP incorrecta para un dominio. En lugar de ir al sitio web correcto, se puede desviar el tráfico a un equipo malicioso o a cualquier otro sitio que desee el atacante; este suele ser una réplica del sitio original usado con fines maliciosos, tales como distribuir malware (software malicioso) o recopilar información de inicio de sesión.
Túnel de DNS: este ataque usa otros protocolos para transmitir consultas y respuestas DNS a través de un túnel. Los atacantes pueden utilizar SSH, TCP o HTTP para pasar malware o información robada a consultas DNS, sin que los detecten la mayoría de firewalls.
Secuestro de DNS: en un secuestro de DNS, el atacante redirige las consultas a un servidor de nombres de dominio diferente. Se puede llevar a cabo con malware o con una modificación no autorizada de un servidor DNS. Aunque el resultado es similar al de la falsificación de DNS, es un ataque esencialmente diferente, ya que ataca el registro DNS del sitio web en el servidor de nombres, en vez de la caché de un solucionador.
Ataque de NXDOMAIN: este es un tipo de ataque de inundación de DNS en el que un atacante inunda un servidor DNS con solicitudes, pide registros que no existen, con el objetivo de ocasionar una denegación de servicio para el tráfico legítimo. Esto se puede lograr mediante el uso de herramientas sofisticadas de ataque que pueden generar, de manera automática, subdominios únicos para cada solicitud. Los ataques de NXDOMAIN también pueden dirigirse contra una resolución recursiva con el objetivo de llenar el caché de la resolución con solicitudes basura.
Ataque de dominio fantasma: un ataque de dominio fantasma da un resultado similar al de un ataque NXDOMAIN en una resolución DNS. El atacante configura una serie de servidores de dominio "fantasmas" que o bien responden a las solicitudes muy despacio o no responden en absoluto. Después, el solucionador recibe una avalancha de solicitudes a estos dominios y se queda inmovilizado esperando respuestas, con la consecuencia de un rendimiento ralentizado y la denegación de servicio.
Ataque aleatorio a subdominio: en este caso, el atacante envía consultas de DNS a varios subdominios aleatorios inexistentes de un sitio legítimo. El objetivo es crear una denegación de servicio para el servidor de nombres autorizado, imposibilitando la búsqueda del sitio web desde el servidor de nombres. Como efecto secundario, el ISP que sirve al atacante también puede verse afectado, ya que el caché de su resolución recursiva se cargará con solicitudes inválidas.
Ataque de bloqueo de dominio: los atacantes orquestan esta forma de ataque configurando dominios especiales y solucionadores para crear conexiones TCP con otros solucionadores legítimos. Cuando los solucionadores atacados envían solicitudes, estos dominios devuelven flujos lentos de paquetes aleatorios, que inmovilizan los recursos del solucionador.
Ataque CPE basado en red de robots (botnet): estos ataques se realizan usando dispositivos CPE (equipos locales del cliente, hardware otorgado por los proveedores de servicios para que lo usen sus clientes, como módems, enrutadores, cajas de cables, etc.). Los atacantes ponen en riesgo a los CPE y los dispositivos se convierten en parte de una red de robots (botnet), que se utiliza para llevar a cabo ataques de subdominio aleatorios contra un sitio o un dominio.
Las extensiones de seguridad de DNS (DNSSEC) son un protocolo de seguridad creado para mitigar este problema. DNSSEC protege de los ataques al firmar los datos digitalmente para asegurar su validez. Para garantizar una búsqueda segura, la firma debe hacerse en cada nivel del proceso de búsqueda de DNS.
Este proceso de firma es similar a cuando alguien firma un documento legal con un bolígrafo; esa persona firma con una firma única que nadie más puede crear, y un perito judicial puede examinar esa firma y verificar si ese documento lo firmó esa persona. Estas firmas digitales garantizan que los datos no se han alterado.
DNSSEC implementa una política de firmas digitales jerárquicas en todas las capas de DNS. Por ejemplo, en el caso de una búsqueda en "google.com", un servidor DNS raíz firmaría una clave para el servidor de nombres .COM, y el servidor de nombres .COM luego firmaría una clave para el servidor de nombres autorizado de google.com.
Aunque siempre es preferible la seguridad mejorada, DNSSEC está diseñado para ser compatible con versiones anteriores, para garantizar que las búsquedas tradicionales de DNS se sigan resolviendo correctamente, aunque sin la seguridad añadida. Se supone que DNSSEC se combina con otras medidas de seguridad, como SSL/TLS, como parte de una estrategia integral de seguridad.
DNSSEC crea una cadena de confianza superior dependiente que recorre todo el trayecto hasta la zona raíz. Esta cadena de confianza no se puede comprometer en ninguna capa de DNS, de lo contrario la solicitud estaría abierta a un ataque en ruta.
Para cerrar la cadena de confianza, la propia zona de raíz tiene que validarse (debe probar que está libre de manipulación o fraude) y esto, por lo general, se hace con intervención de los seres humanos. Curiosamente, en la denominada Ceremonia de firma de zona raíz, personas seleccionadas de todo el mundo se reúnen para firmar la raíz DNSKEY RRset de forma pública y auditada.
Aquí se explica de forma más detallada el funcionamiento de DNSSEC >>>
Además del DNSSEC, el operador de una zona DNS puede tomar medidas adicionales para proteger sus servidores. La acumulación de infraestructura es una estrategia sencilla para superar los ataques DDoS. En pocas palabras, si tu servidor de nombres puede gestionar varias veces más tráfico de lo que esperas, será más difícil que un ataque basado en volumen lo sobrecargue. Las organizaciones pueden conseguir esto al aumentar la capacidad total de tráfico de su servidor DNS, al establecer múltiples servidores DNS redundantes y mediante el uso de load balancing para dirigir las solicitudes de DNS a servidores en buen estado cuando uno empiece a funcionar mal.
Otra estrategia sigue siendo un firewall DNS.
Un DNS Firewall es una herramienta que ofrece una serie de servicios de seguridad y rendimiento para los servidores DNS. Un DNS Firewall se ubica entre una resolución recursiva del usuario y el servidor de nombres autorizado del sitio web o el servicio al que están intentando acceder. El firewall puede ofrecer servicios de limitación de velocidad para bloquear el acceso a los atacantes que intentan inundar el servidor. Si el servidor experimenta un tiempo de inactividad como resultado de un ataque o por cualquier otra razón, el DNS Firewall podrá mantener en funcionamiento el sitio o servicio del operador brindando respuestas DNS desde el caché.
Además de sus características de seguridad, un DNS Firewall también puede ofrecer soluciones de rendimiento, tales como búsquedas de DNS más rápidas y costos de ancho de banda reducidos para el operador de DNS. Más información sobre el DNS Firewall de Cloudflare.
Las resoluciones de DNS también se pueden configurar para ofrecer soluciones de seguridad para sus usuarios finales (las personas que navegan en Internet). Algunas resoluciones de DNS ofrecen funciones como el filtrado de contenido, que puede bloquear sitios conocidos por distribuir malware y spam, y la protección contra botnets, que bloquea la comunicación con botnets conocidas. Muchas de estas resoluciones de DNS seguras son de uso gratuito, y un usuario puede cambiar a uno de estos servicios de DNS recursivos con un simple ajuste en su router local. El DNS de Cloudflare hace hincapié en la seguridad (y Cloudflare incluye el filtrado de DNS en su plataforma SASE).
Otro problema importante de seguridad de DNS es la privacidad del usuario. Las consultas de DNS no están encriptadas. Aunque los usuarios utilicen una resolución DNS como 1.1.1.1 que no rastree sus actividades, las consultas de DNS se mueven por Internet en texto plano. Esto significa que cualquiera que intercepte la consulta puede ver los sitios web que visita el usuario.
Esta falta de privacidad supone un impacto en la seguridad y, en algunos casos, en los derechos humanos; si las consultas de DNS no son privadas, es más fácil para los gobiernos censurar Internet y para los atacantes acechar el comportamiento en línea de los usuarios.
DNS sobre TLS y DNS sobre HTTPS son dos estándares para encriptar las consultas de DNS para evitar que personas externas puedan leerlas.
Los servicios de DNS de Cloudflare vienen con una amplia variedad de funciones de seguridad incorporadas, como DNSSEC, mitigación de DDoS, funcionalidad multi-DNS y load balancing.
La seguridad del DNS tiene como objetivo proteger la infraestructura del sistema de nombres de dominio de los ciberataques. Como el DNS original no se creó teniendo en cuenta la seguridad o la privacidad, se necesitan estrategias especializadas como el uso de DNSSEC, servidores DNS redundantes y un registro riguroso para evitar interrupciones del servicio y proteger los datos. Otras medidas de seguridad, como DNS sobre TLS o DNS sobre HTTPS, pueden ayudar a proteger la privacidad del usuario.
Las extensiones de seguridad de DNS (DNSSEC) son un protocolo que utiliza firmas digitales para verificar la autenticidad de los datos DNS. La creación de una cadena de confianza, desde la raíz hasta el dominio, asegura que los datos de consulta DNS entregados al usuario no hayan sido alterados por atacantes.
En un ataque de suplantación de DNS, un atacante introduce datos fraudulentos en la caché de una resolución de DNS. Esto hace que el sistema de resolución envíe a los usuarios a un sitio web malicioso en lugar de enviarlos al destino previsto, lo que facilita la distribución de malware o el robo de credenciales de inicio de sesión.
Si bien ambos ataques redireccionan el tráfico, se dirigen a áreas diferentes. La suplantación de DNS altera los datos almacenados en la caché de un sistema de resolución DNS. En cambio, el secuestro de DNS implica cambios no autorizados en el registro DNS real en el nameserver o el redireccionamiento de las consultas a un nameserver completamente diferente, a menudo a través de malware.
Un firewall DNS puede brindar rate limiting para bloquear a los atacantes que intentan sobrecargar el sistema y puede mantener un servicio en línea durante un ataque al entregar respuestas DNS directamente desde su caché.
De forma predeterminada, las consultas DNS se envían en texto plano, lo que significa que no están cifradas. Esto permite que cualquiera que intercepte la consulta vea qué sitios web está visitando un usuario. Para resolver esto, se utilizan estándares como DNS sobre TLS (DoT) y DNS sobre HTTPS (DoH) para cifrar las consultas y mantener la privacidad del comportamiento en línea.
Ambos son tipos de ataques de inundación para causar una denegación de servicio. Un ataque NXDOMAIN inunda un servidor con solicitudes de registros que no existen, mientras que un ataque de dominio fantasma utiliza servidores fantasma que responden lentamente o no responden en absoluto para inmovilizar los recursos de la resolución.
Una infraestructura redundante implica configurar servidores de nombres para manejar mucho más tráfico del esperado. Al aumentar la capacidad total y utilizar varios servidores redundantes con equilibrio de carga, una organización hace que sea mucho más difícil que un ataque DDoS volumétrico sature con éxito sus servicios.