Comprenda como el DNS traduce nombres de dominio en direcciones IP y sostiene la velocidad, la escalabilidad y la seguridad de la navegacion en internet.

¡Descúbrelo!

El Sistema de Nombres de Dominio / Domain Name System (DNS) es una parte integral de la infraestructura de Internet que convierte nombres de dominio amigables al usuario en direcciones IP numéricas.

Esta conversión facilita la localización de servidores y sitios en Internet, haciendo que la navegación web sea más eficiente.

¿Qué es DNS?

El Sistema de Nombres de Dominio (DNS) es una infraestructura fundamental de internet, operando de forma imperceptible mapeando los nombres de sitios, introducidos por los usuarios en un cuadro de búsqueda, con la respectiva dirección IP del destino.

Aunque es posible introducir una dirección IP directamente en un navegador para acceder a un sitio, es de preferencia general que una dirección de internet esté compuesta por palabras fáciles de recordar, conocidas como nombres de dominio.

En la década de 1970 y principios de los años 80, la tarea de mapear nombres de dominio y direcciones IP era atribuida al Stanford Research Institute, que mantenía una lista maestra de todos los ordenadores conectados a internet. Con el rápido crecimiento de internet, este enfoque se volvió insostenible y, en 1983, Paul Mockapetris desarrolló el DNS, un sistema automatizado y escalable que se encarga de la traducción de nombres de dominio a direcciones IP.

Actualmente, existen más de 342 millones de dominios registrados, lo que hace inviable mantener todos esos nombres en un único directorio. Al igual que la propia internet, el directorio está distribuido globalmente en servidores de nombres de dominio que se comunican regularmente para proporcionar actualizaciones y eliminar redundancias.

La creación de un sistema distribuido también tenía como objetivo aumentar el rendimiento. Por ejemplo, imagina si todas las solicitudes simultáneas en todo el mundo para resolver el nombre de dominio Google con la dirección IP subyacente se trataran en un único lugar. Para resolver este problema, la información del DNS se comparte entre varios servidores.

Esto significa que un único dominio puede tener más de una dirección IP. Por ejemplo, el servidor físico que tu laptop o smartphone alcanza al escribir www.google.com es diferente del servidor que alguien en otro país alcanzaría al escribir el mismo nombre de sitio en su navegador. Sin embargo, el DNS aún te dirige al lugar correcto, independientemente de dónde te encuentres en el mundo.

¿Cómo Funciona el DNS?

Un diagrama ilustrando el proceso de cómo funciona el DNS, mostrando el recorrido de una solicitud del cliente a través de varios servidores DNS hasta los archivos de un sitio.

Cuando un dispositivo necesita encontrar la dirección IP asociada a un nombre de dominio, inicia una consulta DNS a través de un cliente DNS, generalmente en un navegador web. Esta consulta se dirige a un servidor DNS recursivo, normalmente operado por Proveedores de Servicios de Internet (ISP).

El DNS está organizado de manera jerárquica. Una consulta DNS inicial para una dirección IP se dirige a un servidor DNS recursivo. Esta búsqueda inicialmente alcanza un servidor raíz, que tiene información sobre dominios de nivel superior (.com, .net, .org), así como dominios de países. Los servidores raíz están distribuidos globalmente, por lo que el sistema DNS redirige la solicitud al servidor más cercano geográficamente.

Una vez que la solicitud llega al servidor raíz correcto, se dirige a un Servidor de Dominio de Nivel Superior (servidor de nombres TLD), que almacena información para el dominio de segundo nivel, que son las palabras que escribes en un cuadro de búsqueda. La solicitud se envía a un servidor de nombres de dominio, que busca la dirección IP y la devuelve al dispositivo cliente DNS para que pueda acceder al sitio apropiado. Todo este proceso ocurre en milisegundos.

La distribución de la información del DNS entre varios servidores no solo permite la gestión eficiente de millones de dominios registrados, sino que también mejora el rendimiento, distribuyendo las solicitudes entre varios servidores.

¿Qué es el DNS Caching?

Es bastante probable que utilices Google varias veces a lo largo del día. En lugar de que tu computadora realice una consulta al servidor DNS para la dirección IP cada vez que introduces el nombre de dominio, esta información se almacena en caché en tu dispositivo personal. Esto elimina la necesidad de acceder a un servidor DNS para resolver el nombre con la dirección IP en cada solicitud.

El almacenamiento en caché adicional puede ocurrir en los routers que se utilizan para conectar a los clientes a Internet, así como en los servidores del Proveedor de Servicios de Internet (ISP) del usuario. Con la cantidad de almacenamiento en caché que ocurre, el número de consultas que realmente llegan a los servidores de nombres DNS se reduce significativamente. Esto contribuye a la velocidad y eficiencia del sistema, optimizando el rendimiento de la resolución de nombres de dominio y mejorando la experiencia del usuario en la navegación web.

¿Es seguro el DNS?

El Sistema de Nombres de Dominio (DNS) es una parte esencial de la infraestructura de Internet, pero, como cualquier sistema, tiene vulnerabilidades que pueden ser explotadas. Según una investigación de IDC de 2021, el 87% de las organizaciones sufrieron ataques DNS.

Los “cibercriminales” son extremadamente astutos en la identificación de vulnerabilidades que pueden ser explotadas en prácticamente cualquier sistema, y el DNS ha sido objeto de una parte significativa de los ataques. Existen múltiples categorías de ataques DNS, que incluyen:

  • Amplificación DNS: Este tipo de ataque explora servidores DNS recursivos abiertos para inundar un sistema objetivo con tráfico no solicitado, resultando en una denegación de servicio.
  • Falsificación DNS o Envenenamiento de Caché: En este ataque, los datos en el resolvedor DNS del servidor son alterados para redirigir las solicitudes a una dirección IP controlada por el atacante.
  • Tunelamiento DNS: Este método implica el encapsulamiento de datos de otros protocolos o programas dentro de las consultas y respuestas DNS, permitiendo la comunicación no autorizada fuera de una red.
  • Secuestro DNS o Redirección DNS: Aquí, los atacantes alteran las entradas DNS para redirigir el tráfico a un servidor controlado por ellos, a menudo con fines de phishing o diseminación de malware.

Para mitigar estas amenazas, se han desarrollado varias medidas de seguridad, como las Extensiones de Seguridad DNS (DNSSec) y el DNS sobre HTTPS (DoH). Aunque estas medidas de seguridad pueden ayudar a proteger el DNS contra ataques, la seguridad del DNS sigue siendo una preocupación significativa. Según Enterprise Management Associates (EMA), solo el 31% de los gerentes de DDI están completamente seguros de la seguridad de su infraestructura DNS.

DNSSec

Las Extensiones de Seguridad DNS (DNSSec) son un protocolo de seguridad concebido por la ICANN (Corporación de Internet para la Asignación de Nombres y Números) para aumentar la seguridad en la comunicación entre los diversos niveles de servidores involucrados en las consultas DNS. Su objetivo es mitigar vulnerabilidades en la comunicación entre los servidores de directorio DNS de primer, segundo y tercer nivel que podrían permitir la interceptación de las consultas por parte de invasores.

El DNSSec requiere que cada nivel de servidor DNS “firme” digitalmente sus solicitudes. Esto garantiza que las solicitudes enviadas por los usuarios finales no sean interceptadas por atacantes. Esto crea una cadena de confianza, de modo que, en cada nivel de la consulta, se valida la integridad de la solicitud.

Además, el DNSSec puede determinar si un nombre de dominio realmente existe y, en caso de que no exista, impide que un dominio fraudulento sea entregado a los solicitantes que buscan resolver un nombre de dominio. Esto contribuye a la seguridad y la integridad del sistema DNS, protegiendo a los usuarios contra ataques de phishing y malware.

Aunque las Extensiones de Seguridad DNS (DNSSec) abordan las potenciales vulnerabilidades en la red distribuida de servidores DNS, esto ciertamente no ha impedido ataques cibernéticos basados en DNS que utilizan alguna forma de engaño para inyectar código malicioso en el sistema DNS.

DNS sobre HTTPS (DoH)

Un diagrama ilustrando el tráfico DNS cifrado usando DNS sobre HTTPS (DoH)

En uno de los mayores cambios en la larga historia del DNS, empresas como Google y Mozilla están fomentando la transición al DNS sobre HTTPS (DoH), un estándar IETF que cifra las solicitudes DNS de la misma manera que el protocolo HTTPS ya protege la mayor parte del tráfico web.

Sin embargo, la transición al DoH no está exenta de controversias. Al cifrar las solicitudes DNS, el DoH puede interferir en la capacidad del departamento de TI de monitorear la actividad web de los empleados. Además, esto podría impedir la implementación de controles parentales sobre el uso de Internet.

La adopción del DNS sobre HTTPS ha sido lenta. En el lado del cliente, el DoH está disponible en las versiones más recientes de Google Chrome y Mozilla Firefox, pero puede ser desactivado por el usuario final. Las organizaciones que intentan tener algún control sobre qué navegadores y versiones de navegador son utilizados por los empleados tienen la opción de simplemente desactivarlo. En el lado del ISP, muchos de los principales ISPs aún no han habilitado el DoH en su extremo.

¿Cómo encontrar mi DNS?

En general, el servidor DNS que utilizas se configura automáticamente por tu Proveedor de Servicios de Internet (ISP) cuando te conectas a Internet. Si deseas verificar cuáles son tus servidores de nombres primarios, existen utilidades en la web que pueden proporcionar información sobre tu conexión de red actual, como browserleaks.com.

Aunque tu ISP configura un servidor DNS por defecto, no estás obligado a usarlo. Algunos usuarios pueden preferir evitar el DNS del ISP, por ejemplo, si el ISP utiliza sus servidores DNS para redirigir solicitudes a direcciones inexistentes hacia páginas con publicidad.

Como alternativa, puedes configurar tu computadora para usar un servidor DNS público, que actuará como un resolvedor recursivo. Uno de los servidores DNS públicos más conocidos es el de Google, cuya dirección IP es 8.8.8.8. Estos servidores DNS públicos ofrecen una opción confiable y segura para la resolución de nombres de dominio, además de proporcionar un rendimiento de navegación web potencialmente superior en algunos casos.