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.
Los solucionadores de DNS también se pueden configurar para ofrecer soluciones de seguridad para usuarios finales (personas que navegan en Internet). Algunos solucionadores de DNS ofrecen funciones tales como filtración de contenidos, que puede bloquear sitios conocidos de distribución de malware y spam, y protección ante redes de robots (botnet), que bloquea la comunicación con redes de robots (botnet) conocidas. Muchos de estos solucionadores de DNS protegidos son de uso gratuito y el usuario puede cambiar a uno de estos servicios de DNS recursivos modificando una simple configuración en su enrutador local. El DNS de Cloudflare pone énfasis en la seguridad.
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.