Una fuga de DNS ocurre cuando un dispositivo, destinado a enrutar todo el tráfico de red a través de un servicio que mejora la privacidad como una VPN o un proxy, envía inadvertidamente consultas DNS directamente a internet a través de los servidores DNS predeterminados del ISP, revelando así la actividad en línea del usuario. Esto compromete la privacidad, ya que el Proveedor de Servicios de Internet (ISP) puede registrar los sitios web y servicios accedidos, a pesar de que la conexión principal parezca estar segura.
Entendiendo la Resolución DNS
El Sistema de Nombres de Dominio (DNS) traduce nombres de dominio legibles por humanos (por ejemplo, example.com) en direcciones IP legibles por máquinas (por ejemplo, 192.0.2.1). Cuando un usuario intenta acceder a un sitio web, el sistema operativo (SO) envía una consulta DNS a un servidor DNS configurado. Sin un proxy o VPN, esta consulta suele ir a los servidores DNS del ISP. Con un proxy o VPN, la intención es que estas consultas se enruten de forma segura a través del servicio, a menudo utilizando los propios resolvedores DNS del servicio o reenviando la consulta de forma segura.
DNS Estándar (Puerto UDP/TCP 53)
Las consultas DNS tradicionales se envían sin cifrar, principalmente a través del puerto UDP 53. Esto las hace vulnerables a la interceptación y manipulación. Incluso cuando el tráfico de datos principal está cifrado por un proxy o VPN, las consultas DNS sin cifrar aún pueden revelar los hábitos de navegación.
Protocolos DNS Cifrados
Para mitigar los riesgos de privacidad y seguridad del DNS estándar, han surgido varios protocolos cifrados:
- DNS sobre HTTPS (DoH): Encapsula las consultas DNS dentro del tráfico HTTPS, típicamente sobre el puerto TCP 443. Esto mezcla el tráfico DNS con el tráfico web regular, lo que dificulta su distinción y bloqueo.
- DNS sobre TLS (DoT): Cifra las consultas DNS utilizando TLS, típicamente sobre el puerto TCP 853. DoT proporciona un canal dedicado y cifrado para DNS.
- DNSCrypt: Un protocolo más antiguo que cifra el tráfico DNS entre el cliente y el resolvedor DNS.
Estos protocolos mejoran la privacidad al evitar que terceros observen o manipulen las consultas DNS. Sin embargo, su uso no previene inherentemente una fuga de DNS si el sistema vuelve al DNS sin cifrar en escenarios específicos.
Mecanismos de una Fuga de DNS
Las fugas de DNS suelen surgir de configuraciones erróneas o comportamientos específicos del SO que eluden el túnel seguro previsto.
Manejo de DNS a Nivel de SO
Los sistemas operativos pueden exhibir comportamientos que conducen a fugas:
- Resolución de Nombres Multi-Homed Inteligente de Windows: En sistemas Windows con múltiples interfaces de red activas (por ejemplo, Wi-Fi y Ethernet, o una interfaz VPN/proxy y una interfaz física), el SO puede consultar todos los servidores DNS disponibles simultáneamente y usar la respuesta del más rápido. Si la respuesta más rápida proviene del servidor DNS del ISP, se produce una fuga.
- Retorno a IPv6: Incluso si el tráfico IPv4 se enruta correctamente a través de un proxy o VPN, el SO podría intentar resolver nombres de dominio utilizando IPv6. Si el servicio de proxy/VPN no es totalmente compatible con IPv6 o si sus resolvedores DNS IPv6 no están configurados correctamente, las consultas DNS IPv6 podrían eludir el túnel e ir directamente a los servidores DNS IPv6 del ISP.
- Servidores DNS Asignados por DHCP: Al conectarse a una red, el dispositivo recibe direcciones de servidor DNS a través de DHCP. Si el cliente de proxy/VPN no anula o bloquea correctamente estas configuraciones DNS predeterminadas, el SO puede seguir utilizándolas.
Mal funcionamiento del Cliente Proxy/VPN
- Cierres Inesperados o Desconexiones del Software: Si el software del cliente proxy o VPN se cierra o se desconecta inesperadamente, el sistema puede volver a su configuración de red predeterminada, incluidos los servidores DNS del ISP, antes de que el usuario se dé cuenta.
- Configuración Errónea de Split Tunneling: Si bien el split tunneling puede ser una característica legítima, una configuración incorrecta puede llevar a que las consultas DNS para aplicaciones o destinos excluidos eludan el túnel seguro.
- Falta de Protección contra Fugas de DNS: Algunos servicios de proxy o VPN pueden no implementar mecanismos robustos de prevención de fugas de DNS, como establecer automáticamente sus propios servidores DNS o bloquear consultas DNS externas.
Configuración de DNS Específica del Navegador
Algunos navegadores web (por ejemplo, Chrome, Firefox) ofrecen sus propias implementaciones de DoH, que se pueden configurar independientemente de la configuración DNS del SO. Si un navegador está configurado para usar un proveedor DoH específico y el servicio de proxy/VPN no intercepta o gestiona esto, las consultas DNS del navegador podrían eludir el túnel seguro.
Consecuencias de una Fuga de DNS
- Compromiso de la Privacidad: La consecuencia más significativa. Su ISP, y potencialmente otras entidades que monitorean el tráfico del ISP, pueden ver sus consultas DNS, revelando los sitios web, servicios de streaming y aplicaciones en línea a los que accede. Estos datos pueden usarse para la elaboración de perfiles, publicidad dirigida o vigilancia gubernamental.
- Fallo en la Evasión de Restricciones Geográficas: Si un usuario depende de un servicio proxy para eludir las restricciones geográficas, una fuga de DNS revelará su ubicación geográfica real a los proveedores de contenido, lo que provocará bloqueos de acceso.
- Riesgos de Seguridad: Las consultas DNS pueden revelar información sensible sobre los recursos de la red interna si un usuario está conectado a una red corporativa. Además, las consultas DNS sin cifrar son susceptibles al spoofing de DNS, donde un atacante puede redirigir a los usuarios a sitios web maliciosos.
Detección de una Fuga de DNS
Se pueden emplear varios métodos para detectar fugas de DNS.
Herramientas de Prueba de Fugas de DNS en Línea
Numerosos sitios web ofrecen detección automatizada de fugas de DNS. Estas herramientas suelen realizar los siguientes pasos:
1. Instruyen a su navegador para que resuelva un conjunto de nombres de dominio únicos.
2. Observan qué servidores DNS realizan la resolución para estos dominios.
3. Comparan las direcciones IP de los servidores DNS resolutores con la dirección IP del nodo de salida de su túnel proxy/VPN.
4. Si las direcciones IP de los servidores DNS pertenecen a su ISP o a cualquier otro tercero no asociado con su servicio de proxy/VPN, se indica una fuga.
Ejemplos de tales herramientas incluyen dnsleaktest.com y ipleak.net.
Verificación Manual del Servidor DNS
Las herramientas de línea de comandos pueden proporcionar información sobre los servidores DNS actualmente en uso por su sistema.
Windows:
ipconfig /all
Busque Servidores DNS bajo su adaptador de red activo.
Para verificar las conexiones activas al puerto 53:
netstat -an | findstr ":53"
Esto listará las conexiones UDP y TCP activas al puerto 53. Si ve conexiones a direcciones IP que no sean las del DNS de su proxy/VPN o 127.0.0.1 (si el proxy maneja el DNS local), sugiere una fuga.
macOS:
scutil --dns
Examine las entradas `nameserver