Volver

DNSSEC – ¿Qué es y por qué es importante?

DNSSEC-blog.jpg

¿Cómo funcionan los DNS?

Antes de empezar con qué es el DNSSEC, es fundamental entender cómo funcionan los protocolos DNS.

Los DNS son una de las bases en las que se sustenta Internet. Cada página que se visita, cada email que se envía: todas estas interacciones usan las DNS para traducir los nombres de dominios en direcciones IP que los servidores y otros dispositivos de red usan para enrutar el tráfico de Internet a la destinación adecuada. Este proceso se conoce con el nombre de DNS lookup o proceso de resolución de DNS.

Cuando se introduce el nombre del dominio en un navegador se genera una solicitud DNS para traducir este dominio en una dirección IP (protocolo de internet). Antes de empezar el proceso, el dispositivo verificará si este registro DNS (el que indica a qué dirección IP apunta este dominio), ya se encuentra almacenado localmente. Para eso, revisará en el archivo hosts (un archivo de texto plano empleado por el sistema operativo del dispositivo para guardar estos registros) o en la caché (los datos temporales). En caso de no existir ya esta información en el dispositivo, el proceso de resolución se traspasará a una red de 4 servidores DNS.

¿Qué servidores intervienen en la resolución DNS?

Resolutor recursivo

Cuando el dispositivo envía la solicitud, el servidor que la recibe y gestiona es el resolutor recursivo, el cual actúa como intermediario con el resto de los servidores DNS. Su función es la de reenviar la solicitud a cada uno de los otros servidores DNS en orden y devolverla al dispositivo una vez completada.

Para mejorar la velocidad de resolución, todas aquellas direcciones IP obtenidas en el proceso, son almacenadas en su caché. De este modo, cuando recibe una petición, primero buscará en la caché. En caso de no encontrar ninguna coincidencia, se enviará la solicitud al siguiente servidor DNS.

Servidor raíz

Los servidores raíz o root server no guardan direcciones IP, sino que dirigen la petición al siguiente servidor identificando el dominio de nivel superior o extensión del nombre del dominio.

Servidor TLD

Los servidores de dominio de nivel superior, conocidos por sus siglas en inglés TLD (Top Level Domain), son los que almacenan toda la información relativa a una extensión en concreto. En ellos se gestiona la información de todos aquellos dominios que utilizan una extensión específica como pueden ser .com, .es o .cat. Este servidor dirigirá entonces la petición al servidor autoritativo específico.

Servidor autoritativo

Los servidores autoritativos son el último paso en el proceso de resolución. Aquí encontraremos las zonas DNS de un dominio las cuales contienen todos los registros DNS con las IP a las que apunta cada uno. Llegados a este punto, la petición volverá al resolutor recursivo y se entregará en el dispositivo que ha iniciado el proceso.

En caso de tener configurado el servicio de servidores DNS con ​cdmon​, nosotors actuamos como este servidor autoritativo. Desde tu Panel de control puedes revisar y configurar tus zonas y registros DNS accediendo aquí.

La inseguridad de los DNS

El protocolo DNS fue diseñado en la década de los 80, cuando Internet era mucho más pequeño y la seguridad no fue considerada un factor importante en su diseño. Debido a esto, este protocolo tiene una serie de deficiencias de seguridad que lo hace vulnerable a los atacantes.

El problema radica en que el resolutor recursivo solo verifica la que la IP de la que ha recibido una respuesta corresponda con la IP donde mandó la solicitud. Lamentablemente esta información puede ser fácilmente manipulada, lo que conlleva a dos importantes problemas de seguridad:

Envenenamiento de caché

Como hemos explicado antes, el resolutor recursivo trabaja con un sistema de caché propio, por lo que un atacante podría enviar a este servidor una respuesta con una IP maliciosa. Al quedar almacenado en caché, este quedaría envenenado, y cualquier consulta que llegase desde el resolutor enviaría a los usuarios a un sitio web malicioso.

Man in the middle

Al no poder comprobar nada más que la IP desde la que se devuelve la respuesta, podría darse también el caso que un atacante estuviera interceptando el tráfico entre un usuario y el resolutor recursivo. En este caso, la respuesta sería modificada y devuelta con una IP fraudulenta al cliente, lo cual lo llevaría a un sitio web malicioso.

¿Qué es DNSSEC y cómo funciona?

Las extensiones de seguridad para los DNS, conocido por sus siglas en inglés DNSSEC (Domain Name System Security Extensions), aparece en los 90 como una solución a las deficiencias de seguridad del protocolo DNS. Se trata de una tecnología de seguridad que añade una capa de protección usando firmas digitales basadas en criptografía de llave pública. Este sistema no encripta las solicitudes que se envían durante el proceso de DNS lookup, sino que encripta los propios datos de los registros DNS evitando así que los atacantes puedan modificarlos.

Este método de encriptación se basa en el uso de dos claves distintas, una pública, que se encuentra en la zona DNS del dominio al alcance de todos, y una privada, utilizada para firmar digitalmente los datos y conocida única y exclusivamente por el propietario. Al validarse los datos con estas dos claves y las firmas generadas a partir de ella, permite saber si los datos facilitados en una resolución de DNS han sido modificados o no. De este modo se garantiza la integridad del mensaje.

En caso de usar DNSSEC, los dos casos mencionados anteriormente no mostrarían una página fraudulenta al usuario final. Al llegar la petición al dispositivo, se verifican las firmas de la zona DNS con la del registro, por lo que si estas no coinciden (como sería el caso), no se valida como legítima la firma. Cuando esto sucede, el resolutor asume que existe un ataque, descarta la información y devuelve un error al usuario.

Registra tu dominio online en cdmon y podrás habilitar DNSSEC desde el Panel de control y así mejorar la seguridad de tu sitio web. Pulsa aquí para acceder y revisar si ya lo tienes activado.