¿Qué es DNSSEC? Extensiones de seguridad del DNS explicadas

DNSSEC (DNS Security Extensions) es un conjunto de extensiones que añaden autenticación criptográfica a las respuestas DNS. Sin DNSSEC, un atacante puede falsificar respuestas DNS y redirigir el tráfico a servidores maliciosos, una técnica conocida como envenenamiento de caché DNS.

La cadena de confianza de DNSSEC. rootDNSKEYDS.comDS → DNSKEYDSexample.comDNSKEY → RRSIG
Cada nivel firma la clave del nivel inferior, desde la raíz hacia abajo.

El problema que resuelve DNSSEC

El DNS estándar se diseñó sin pensar en la seguridad. Cuando tu ordenador pregunta «¿cuál es la dirección IP de bank.com?», confía en la respuesta que recibe. Un atacante situado entre tú y el servidor DNS puede inyectar una respuesta falsa y redirigirte a un sitio de phishing.

DNSSEC lo resuelve haciendo que las zonas DNS firmen sus registros con una clave privada. Los resolvers pueden verificar la firma con la clave pública correspondiente, garantizando que la respuesta viene del propietario legítimo de la zona.

Cómo funciona DNSSEC

  1. El propietario de la zona genera un par de claves (registros DNSKEY) y firma todos los registros DNS con la clave privada, produciendo registros RRSIG
  2. La clave pública (DNSKEY) se publica en el DNS
  3. Un hash de la clave pública (registro DS) se envía a la zona padre (.com, .org, etc.)
  4. La zona padre también está firmada, y así hasta la zona raíz
  5. Cuando un resolver recibe una respuesta DNS, sigue la cadena de confianza desde la raíz hacia abajo para verificar las firmas

Tipos de registro de DNSSEC

Record TypePurpose
DNSKEYLa clave pública de firma de la zona
DSHash del DNSKEY de la zona hija, almacenado en la zona padre
RRSIGFirma criptográfica sobre un conjunto de registros DNS
NSEC / NSEC3Prueba de que un registro no existe (negación de existencia)

La cadena de confianza

DNSSEC crea una cadena de confianza desde la zona raíz hasta cada dominio:

Root zone (.) ← Trust anchor, key is published by IANA
  └─ .com zone ← Signed, DS record in root zone
       └─ example.com ← Signed, DS record in .com zone
            └─ DNS records ← Signed with example.com's key

La clave de la zona raíz (el «ancla de confianza») viene incorporada en los resolvers que validan DNSSEC. Es el punto de partida de toda verificación.

DNSSEC NO cifra el tráfico

Una confusión habitual: DNSSEC autentica las respuestas DNS pero no las encrypt . Las consultas y respuestas DNS siguen enviándose en texto plano. Para privacidad, usa:

  • DNS-over-HTTPS (DoH) — cifra el tráfico DNS sobre HTTPS
  • DNS-over-TLS (DoT) — cifra el tráfico DNS sobre TLS

Cómo activar DNSSEC en tu dominio

  1. Comprueba que tu proveedor de alojamiento DNS admite la firma DNSSEC
  2. Activa la firma DNSSEC en el panel de control de tu proveedor DNS
  3. Tu proveedor genera los registros DNSKEY y firma tu zona
  4. Copia los valores del registro DS que muestra tu proveedor DNS
  5. Envía el registro DS a tu registrador de dominios (normalmente desde su panel de control)
  6. Espera la propagación (puede tardar hasta 48 horas)

Comprueba el estado de tu DNSSEC

Pruébalo en tu dominio

Ve la teoría en la práctica: ejecuta Comprobación DNSSEC para tu propio dominio.