¿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.
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
- 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
- La clave pública (DNSKEY) se publica en el DNS
- Un hash de la clave pública (registro DS) se envía a la zona padre (.com, .org, etc.)
- La zona padre también está firmada, y así hasta la zona raíz
- 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 Type | Purpose |
|---|---|
DNSKEY | La clave pública de firma de la zona |
DS | Hash del DNSKEY de la zona hija, almacenado en la zona padre |
RRSIG | Firma criptográfica sobre un conjunto de registros DNS |
NSEC / NSEC3 | Prueba 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 keyLa 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
- Comprueba que tu proveedor de alojamiento DNS admite la firma DNSSEC
- Activa la firma DNSSEC en el panel de control de tu proveedor DNS
- Tu proveedor genera los registros DNSKEY y firma tu zona
- Copia los valores del registro DS que muestra tu proveedor DNS
- Envía el registro DS a tu registrador de dominios (normalmente desde su panel de control)
- Espera la propagación (puede tardar hasta 48 horas)
Comprueba el estado de tu DNSSEC
Ve la teoría en la práctica: ejecuta Comprobación DNSSEC para tu propio dominio.