El sistema de nombres de dominio (DNS) es el componente del protocolo estándar de Internet responsable de convertir los nombres de dominio fáciles de usar en las direcciones de protocolo de Internet (IP) que emplean las computadoras para identificarse entre sí en la red.
A menudo llamada la “agenda telefónica para internet”, una analogía más moderna es que el DNS administra los nombres de dominio como un teléfono inteligente administra los contactos. Los teléfonos inteligentes eliminan la necesidad de que los usuarios recuerden números de teléfono individuales almacenándolos en listas de contactos de fácil búsqueda.
Del mismo modo, el DNS permite a los usuarios conectarse a sitios web mediante el uso de nombres de dominio de Internet en lugar de direcciones IP. En lugar de tener que recordar que el servidor web está en "192.0.2.1", por ejemplo, los usuarios pueden simplemente ir a la página web "www.example.com" para obtener los resultados deseados.
Para comprender cómo funciona el DNS, es importante comprender primero los componentes involucrados.
Desde el principio, el DNS se diseñó con una estructura de base de datos jerárquica y distribuida para facilitar un enfoque más dinámico de la resolución de nombres de dominio, que pueda seguir el ritmo de una red de computadoras en rápida expansión. La jerarquía comienza con el nivel raíz—denotado por un punto (.)—y se ramifica en dominios de nivel superior (TLD)—como “.com,” “.org,” “.net” o dominios de nivel superior de código de país (ccTLD) como “.uk” y “.jp,”—y dominios de segundo nivel.
Las arquitecturas DNS consisten de dos tipos de servidores DNS: servidores recursivos y servidores autoritativos. Los servidores DNS recursivos son los que "preguntan", los que buscan la información que conecta a un usuario con un sitio web. Los servidores autoritativos proporcionan las "respuestas".
Los servidores recursivos (también conocidos como resolutores recursivos o resolutores de DNS) son generalmente gestionados por proveedores de servicios de Internet (ISPs) o proveedores de servicios de DNS de terceros. Una organización también puede alojar y gestionar su propio resolutor.
Los resolutores recursivos actúan en nombre del usuario final para convertir el nombre de dominio en una dirección IP. Los resolutores recursivos también almacenan en caché (almacenan temporalmente los resultados de búsquedas DNS recientes) las respuestas a una solicitud durante un período de tiempo específico (definido por el valor de tiempo de vida o TTL) para mejorar la eficiencia del sistema para futuras consultas al mismo dominio.
Cuando un usuario escribe una dirección web en un navegador web, este se conecta a un servidor DNS recursivo para resolver la solicitud. Si el servidor recursivo tiene la respuesta en caché, puede conectarse con el usuario y completar la solicitud. De lo contrario, el resolutor recursivo consulta la jerarquía de DNS hasta que encuentra los registros A (o AAAA) que contienen la dirección IP de un dominio determinado.
Los servidores de nombres autoritativos mantienen los registros definitivos de un dominio y responden a las solicitudes sobre los nombres de dominio almacenados en sus respectivas zonas (normalmente, con respuestas configuradas por el propietario del dominio). Hay diferentes servidores autoritativos que son responsables de una parte distinta del espacio de nombres.
Los servidores de nombres raíz se encuentran en la parte superior de la jerarquía del DNS y son responsables de dar servicio a la zona raíz (la base de datos central del DNS). Hay 13 "identidades" o "autoridades" de servidores de nombres raíz (agrupaciones lógicas de servidores raíz) identificadas por las letras de la A a la M. Responden consultas de registros almacenados dentro de la zona raíz y remiten las solicitudes al servidor de nombres de TLD apropiado.
Los servidores de TLD son responsables de gestionar el siguiente nivel de la jerarquía, incluidos los dominios genéricos de nivel superior (gTLD). Los servidores de nombres de TLD dirigen las consultas a los servidores de nombres autoritativos para los dominios específicos dentro de su TLD. Entonces, el servidor de nombres TLD para “.com” dirigiría los dominios que terminan en “.com”, el servidor de nombres TLD para “.gov” dirigiría los dominios que terminan en “.gov”, y así sucesivamente.
Los servidores de nombres de dominio de segundo nivel, la mayoría de los servidores de nombres de dominio, contienen archivos de zona con la dirección IP del nombre de dominio completo ("ibm.com", por ejemplo).
Además de los principales tipos de servidores, el DNS emplea archivos de zona y varios tipos de registros para ayudar con el proceso de resolución. Los archivos de zona son archivos basados en texto que incluyen asignaciones e información sobre dominios específicos dentro de una zona DNS.
Cada línea de un archivo de zona especifica un registro de recursos de DNS: una única pieza de información sobre la naturaleza de un tipo o dato en particular. Los registros de recursos ayudan a garantizar que cuando un usuario envía una consulta, el DNS pueda convertir rápidamente los nombres de dominio en información procesable que dirija las consultas al servidor correcto.
Los archivos de zona DNS comienzan con dos registros obligatorios: el registro del servidor de nombres (NS), que indica el servidor de nombres autoritativos para un dominio, y el registro de inicio de autoridad (SOA), que especifica el servidor de nombres autoritativo principal para la zona DNS.
Después de los dos registros primarios, un archivo de zona puede contener varios otros tipos de registros. Por ejemplo:
| Tipo de registro | Propósito |
|---|---|
| Registros A y registros AAAA | Asignar a direcciones IPv4 (registros A) y direcciones IPv6 (registros AAAA) |
| Registros de intercambio de correo (registros MX) | Especificar un servidor de correo electrónico SMTP para un dominio |
| Registros de nombres canónicos (registros CNAME) | Redirigir nombres de host desde un alias a otro dominio (el “dominio canónico”) |
| Registros de puntero (registros PTR) | Especificar un proceso de búsqueda DNS inversa, asignando direcciones IP a nombres de dominio |
| Registros del marco de políticas del remitente (SPF) | Identificar los servidores de correo que tienen permiso para enviar correos electrónicos a través de un dominio |
| Registros de texto (registros TXT) | Se utiliza para notas legibles por humanos y procesamiento automatizado, como marcos de políticas de remitente para la autenticación de correo electrónico |
Cada consulta (a veces llamada solicitud DNS) sigue la misma lógica para resolver direcciones IP. Hay diferentes formas en que se inician las consultas; como ejemplo común, consideremos a una persona que usa un navegador web.
Cuando el usuario ingresa una URL en su navegador web, el navegador envía la consulta al resolutor de DNS, que consulta progresivamente a los servidores DNS autoritativos para localizar el DNS autoritativo que contiene los registros del dominio, incluida la dirección IP asociada. La dirección IP se devuelve al navegador y el usuario se conecta al sitio web.
Más específicamente, la resolución de consultas en el DNS implica varios procesos y componentes clave.
El DNS es básicamente un protocolo público. DNS público y privado no son necesariamente términos y conceptos exactos, universalmente utilizados y entendidos, y su uso con frecuencia es impreciso.
El DNS público se utiliza a menudo para referirse al proceso de resolución de DNS "estándar", o resolutores de DNS públicos, en los que un resolutor recursivo consulta una sucesión de servidores autoritativos que contienen registros DNS disponibles públicamente para localizar una dirección IP y, en última instancia, conectar a un usuario con el sitio web que está buscando. Por lo general es un solucionador proporcionado por el ISP del usuario o por un servicio DNS como el DNS público “quad 8” de Google. Los resolutores privados también se pueden configurar para consultar DNS públicos, pero se utilizan más comúnmente para redes restringidas o corporativas.
Es probable que esta búsqueda de DNS estándar se denomine DNS público debido a estos resolutores disponibles públicamente y al hecho de que los registros DNS en estos servidores autoritativos son accesibles para cualquier persona con acceso a Internet.
El uso de "DNS privado" es aún más confuso. A veces se utiliza para describir el uso de protocolos de cifrado como DNS sobre TLS (DoT) o DNS sobre HTTPS (DoH). Sin embargo, estos se describen con mayor precisión como “características de privacidad” o “protocolos de privacidad” en lugar de “DNS privado”. El proceso de resolución sigue siendo el mismo, ya que un resolutor utiliza el DNS disponible públicamente para encontrar lo que necesita. En este caso, simplemente se hace con transferencia cifrada.
El DNS privado también se utiliza para referirse a la búsqueda dentro de una red interna cerrada, como redes corporativas o nubes privadas virtuales, con acceso restringido a usuarios autoritativos. En un sistema de este tipo, los resolutores privados, configurados localmente, consultan a servidores privados para localizar recursos y sitios dentro de una red interna. Estos servidores están configurados para atender solo zonas privadas y direcciones IP internas, y la red mantiene las URL internas y las direcciones IP ocultas del resto de Internet. Este tipo de DNS privado proporciona a las organizaciones un mayor control y seguridad.
Hay muchas formas de configurar este tipo de red. Una forma de hacerlo es mediante un dominio de uso especial, como .local que se utiliza para la resolución en redes locales. Otra opción es disponer de subdominios privados de dominios que están disponibles públicamente en Internet. Este subdominio privado solo estaría disponible para personas o agentes que utilicen resolutores dentro de la red interna.
Una configuración empresarial común que combina DNS "público" y "privado" se denomina "DNS de horizonte dividido" o "DNS de cerebro dividido". En esta configuración, hay un recursor local que consulta servidores autoritativos privados locales para solicitudes internas y se basa en el DNS estándar para consultas externas. Por lo general, hay una lista de nombres de dominio, una especie de "lista permitida", que le dice al servidor qué solicitudes van a servidores internos y cuáles reenviar a la Internet pública.
El DNS administrado es un servicio de terceros que permite a una organización externalizar el alojamiento, la operación y la administración de su infraestructura DNS. Con el DNS administrado, los registros DNS autoritativos para los dominios de una organización se alojan en la red de servidores distribuida globalmente del proveedor. En muchos casos, los proveedores de DNS administrados ofrecen un plano de control central, un panel o API que permiten a los clientes gestionar y automatizar sus registros DNS y otras configuraciones.
Los servicios DNS administrados a menudo proporcionan características como enrutamiento Anycast, balanceo de carga, acuerdos de nivel de servicio (SLA) de tiempo de actividad, protección contra failover, DNSSEC y herramientas de monitoreo y solución de problemas que pueden permitir una resolución de dominio más rápida, confiable y segura que las configuraciones DNS autoadministradas tradicionales.
Incluso los mejores sistemas DNS pueden ser vulnerables a problemas de ciberseguridad. Los ataques relacionados con DNS incluyen:
La suplantación de DNS, también llamada envenenamiento de caché, se produce cuando un atacante inserta registros de direcciones falsos en la caché de un resolutor DNS, haciendo que el resolutor devuelva una dirección IP incorrecta y redirija a los usuarios a sitios maliciosos. La suplantación de identidad puede comprometer datos sensibles y dar lugar a ataques de phishing y distribución de malware.
La amplificación de DNS es un tipo de ataque de denegación distribuida del servicio (DDoS) en el que un atacante envía pequeñas consultas a un servidor DNS con la dirección de retorno falsificada a la dirección IP de la víctima. Estos ataques explotan la naturaleza sin estado de los protocolos DNS y el hecho de que una pequeña consulta puede generar una respuesta descomunal.
Como resultado de un ataque de amplificación, el servidor DNS responde con respuestas mucho más grandes, lo que amplifica la cantidad de tráfico dirigido al usuario, abrumando sus recursos. Esto puede impedir que el DNS funcione y cerrar la aplicación.
La tunelización de DNS es una técnica empleada para eludir las medidas de seguridad al encapsular el tráfico que no es de DNS, como HTTP, dentro de consultas y respuestas de DNS. Los atacantes pueden usar túneles DNS para transmitir comandos de malware o para exfiltrar información DNS de una red comprometida, a menudo codificando la carga útil dentro de consultas y respuestas DNS para evitar la detección.
Las entradas DNS desatendidas para subdominios que apuntan a servicios dados de baja son los principales objetivos de los atacantes. Si un servicio (como un host en la nube) ha sido dado de baja pero la entrada DNS permanece, un atacante puede potencialmente reclamar el subdominio y configurar un sitio o servicio malicioso en su lugar.
Independientemente de los servicios DNS que elija una organización, es importante implementar protocolos de seguridad para minimizar las superficies de ataque DNS, mitigar los posibles problemas de seguridad y optimizar el DNS en los procesos de red. Algunas prácticas útiles para solidificar la seguridad del DNS incluyen:
Antes del DNS, Internet era una red creciente de computadoras utilizadas principalmente por instituciones académicas y de investigación. Los desarrolladores asignaron manualmente nombres de host a direcciones IP utilizando archivos de texto simples llamados HOSTS.TXT, que SRI International mantuvo y distribuyó a todas las computadoras en Internet. No obstante, a medida que la red se expandió, este enfoque se volvió cada vez más insostenible.
Para hacer frente a las limitaciones de HOSTS.TXT y crear un sistema más escalable, el informático de la Universidad del Sur de California, Paul Mockapetris, inventó el sistema de nombres de dominio en 1983. La cohorte de pioneros de Internet que ayudó a crear el DNS también fue autor de la primera solicitud de comentarios (RFC) que detallaba las especificaciones del nuevo sistema, RFC 882 y RFC 883. Posteriormente, las RFC 1034 y 1035 sustituyeron a las anteriores.
Finalmente, a medida que el DNS se expandió, la gestión del DNS pasó a ser responsabilidad de la Autoridad de Números Asignados de Internet (IANA), antes de finalmente quedar bajo el control de la organización sin fines de lucro Internet Corporation for Assigned Names and Numbers (ICANN), en 1998.
IBM NS1 Connect es un servicio en la nube totalmente gestionado para DNS empresarial, DHCP, gestión de direcciones IP y dirección de tráfico de aplicaciones.
Las soluciones de redes en la nube de IBM proporcionan conectividad de alto rendimiento para potenciar sus aplicaciones y su negocio.
Consolida el soporte del centro de datos con IBM Technology Lifecycle Services para cloud networking y más.