7. DNS seguro: DoH y DoT

El Sistema de Nombres de Dominio (DNS) fue diseñado para funcionar en texto plano. Durante décadas esto permitió a proveedores y atacantes espiar qué sitios visitaba cada persona, filtrar contenidos o inyectar respuestas falsas. Para cerrar esa brecha aparecen DoH y DoT: dos formas de encapsular las consultas DNS dentro de canales cifrados.

7.1 Problema del DNS tradicional: consultas sin cifrado

Una consulta DNS habitual viaja por UDP/53 sin ningún tipo de protección. Cualquier dispositivo intermedio puede leerla, modificarla o registrar historiales completos de navegación. Esto abre la puerta a ataques como:

  • Suplantación de respuestas: el atacante responde más rápido que el resolver legítimo y redirige al usuario a un sitio falso.
  • Bloqueos selectivos: basta con interceptar los paquetes para devolver NXDOMAIN y simular que el dominio no existe.
  • Recolección de metadatos: incluso si el sitio usa HTTPS, el DNS revela el dominio consultado.

Además, los proveedores de Internet utilizan esta debilidad para insertar publicidad o redireccionamientos cuando detectan dominios mal escritos.

7.2 DNS over HTTPS (DoH)

DNS over HTTPS encapsula la consulta DNS dentro de una solicitud HTTPS estándar (GET o POST). Esto hace que el tráfico se mezcle con el resto del contenido web y aproveche las mismas optimizaciones de HTTP/2 o HTTP/3.

Características principales:

  • Puerto y transporte: usa el 443/TCP o UDP (cuando viaja sobre HTTP/3), aprovechando la infraestructura existente.
  • Formato: la consulta se codifica en base64url o se envía como cuerpo binario, dependiendo del método utilizado.
  • Privacidad: al viajar cifrado, intermediarios no pueden distinguir si el paquete es DNS o una página común.

Navegadores como Firefox, Chrome y Edge incorporan DoH desde sus configuraciones de privacidad, permitiendo seleccionar resolvers certificados.

7.3 DNS over TLS (DoT)

DNS over TLS crea un canal TLS dedicado en el puerto 853/TCP. Funciona de forma similar a DoH pero mantiene una distinción clara entre el tráfico DNS y el HTTP.

Ventajas específicas:

  • Implementación sencilla en resolvers corporativos: basta con habilitar TLS en los servicios existentes.
  • Control granular: los administradores pueden aplicar políticas diferenciadas a DoT sin alterar el resto del tráfico HTTPS.
  • Compatibilidad con dispositivos embebidos: muchos routers y firewalls ya soportan túneles TLS en puertos personalizados.

El principal requisito es contar con certificados válidos y mantener sesiones persistentes para reducir la sobrecarga de negociación.

7.4 Comparación: privacidad, rendimiento y compatibilidad

La siguiente tabla resume cuándo conviene cada alternativa:

Aspecto DNS over HTTPS DNS over TLS
Detección por firewalls Muy difícil: se confunde con tráfico web. Más simple: basta con revisar el puerto 853.
Configuración del cliente Navegadores modernos lo soportan sin software extra. Requiere que el sistema operativo o el resolver local hablen DoT.
Monitorización corporativa Complicada; es necesario inspeccionar HTTPS (con implicancias legales). Permite llevar registros agregados sin romper cifrado.
Rendimiento Aprovecha HTTP/2/3 y multiplexación. Reutiliza TLS keep-alive, pero cada consulta es un flujo independiente.

En la práctica muchas organizaciones habilitan ambas opciones y dejan que cada cliente negocie la que soporte mejor.

7.5 Implementaciones populares: Cloudflare, Google DNS, Quad9

Los principales resolvers públicos ofrecen DoH y DoT de forma gratuita. Estos son los más utilizados:

  • Cloudflare 1.1.1.1: destaca por su política de no registrar datos personales más de 24 horas.
  • Google Public DNS: combina cachés masivos con validación DNSSEC.
  • Quad9: filtra dominios maliciosos en base a feeds de seguridad internacionales.

Todos ellos publican endpoints DoH y DoT listos para copiar en navegadores, sistemas operativos o routers domésticos.

7.6 Ejemplo práctico: comprobación de DoH en el navegador

Podemos verificar qué protocolo usa nuestro navegador con un par de pruebas:

  1. Activá DoH en Firefox desde Configuración > Privacidad y seguridad > DNS sobre HTTPS y seleccioná Cloudflare.
  2. Ingresá a https://1.1.1.1/help; el sitio detectará si tu navegador está enviando DoH y mostrará un indicador “Yes”.
  3. En Chrome o Edge escribe chrome://net-export/ y registra tráfico mientras cargas una página; al abrir el archivo en https://netlog-viewer.appspot.com verás entradas DNS_TRANSACTION marcadas como DoH.

Desde línea de comandos también es posible usar curl:

curl -H "accept: application/dns-json" \ 
  "https://cloudflare-dns.com/dns-query?name=www.ejemplo.com&type=A"

La respuesta incluirá secciones Answer y TTL idénticas a una consulta DNS tradicional, pero viaja cifrada punta a punta.