El soporte de DNS sobre HTTPS (DoH) apareció en la build 2004 de Windows 10 (Actualización de Mayo 2020). Ahora Windows 10 puede resolver nombres a través del protocolo HTTPS utilizando el cliente DoH incorporado. En este artículo te diremos para qué se utiliza el protocolo DNS sobre HTTPS, cómo habilitarlo y utilizarlo en las últimas versiones de Windows 10.
Cuando tu ordenador se conecta a un servidor DNS para resolver nombres, envía y recibe solicitudes/respuestas DNS a través de Internet en texto claro. Un atacante puede interceptar tu tráfico, detectar qué recursos has visitado o manipular tu tráfico DNS mediante un ataque de tipo Man-in-the-middle. El DNS sobre HTTPS protege la privacidad de los datos del usuario cifrando todas las consultas DNS. El protocolo DoH encapsula las consultas DNS en tráfico HTTPS y las envía a un servidor DNS (es necesario utilizar un servidor DNS especial con soporte DoH).
Windows 10 2004 y 20H2 todavía no tienen una opción en la interfaz gráfica para habilitar DNS-sobre-HTTPS. Actualmente, sólo se puede habilitar DoH en las últimas builds de Windows 10 a través del registro:
Habilitar DNS-sobre-HTTPS en Windows
- Presiona las teclas Windows + R y ejecuta
regedit.exe
; (Si quieres saber más atajos de ejecución, revisa +200 Comandos para Ejecutar en Windows ) - Dirígete a la clave del registro siguiente:
Equipo\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
- Crea un nuevo parámetro DWORD (32 bits) con el nombre EnableAutoDoh y el valor 2. Incluso si estás ejecutando Windows de 64 bits , debes crear un valor DWORD de 32 bits.
- Reinicia tu Windows 10 .
También puedes crear este parámetro del registro utilizando el cmdlet New-ItemProperty: (¿Quieres aprender PowerShell?, revisa nuestra guía sobre Cómo usar Windows PowerShell o revisa los 10 cmdlets para Resolver Problemas de Red).
$EnableDNSoverHTTPSKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
$EnableDNSoverHTTPSParameter = 'EnableAutoDoh'
New-ItemProperty -Path $EnableDNSoverHTTPSKey -Name $EnableDNSoverHTTPSParameter -Value 2 -PropertyType DWord –Force
Configuración de Red
A continuación, reinicia el servicio de cliente DNS. Para ello, reinicia tu ordenador, ya que no podrás reiniciar el servicio dnscase normalmente.
Entonces tendrás que cambiar la configuración de DNS de tu conexión de red. Debes especificar los servidores DNS con soporte de DNS sobre HTTPS. Todavía no todos los servidores DNS soportan DoH. La siguiente tabla muestra una lista de servidores DNS públicos con soporte de DNS sobre HTTPS.
Proveedor | Hostname | Direcciones IP |
AdGuard | dns.adguard.com | 176.103.130.132 176.103.130.134 |
AdGuard | dns-family.adguard.com | 176.103.130.132 176.103.130.134 |
CleanBrowsing | family-filter-dns.cleanbrowsing.org | 185.228.168.168 185.228.169.168 |
CleanBrowsing | adult-filter-dns.cleanbrowsing.org | 185.228.168.10 185.228.169.11 |
Cloudflare | one.one.one.one 1dot1dot1dot1.cloudflare-dns.com | 1.1.1.1 1.0.0.1 |
Cloudflare | security.cloudflare-dns.com | 1.1.1.2 1.0.0.2 |
Cloudflare | family.cloudflare-dns.com | 1.1.1.3 1.0.0.3 |
dns.google google-public-dns-a.google.com google-public-dns-b.google.com | 8.8.8.8 8.8.4.4 | |
NextDNS | dns.nextdns.io | 45.90.28.0 45.90.30.0 |
OpenDNS | dns.opendns.com | 208.67.222.222 208.67.220.220 |
OpenDNS | familyshield.opendns.com | 208.67.222.123 208.67.220.123 |
OpenDNS | sandbox.opendns.com | 208.67.222.2 208.67.220.2 |
Quad9 | dns.quad9.net rpz-public-resolver1.rrdns.pch.net | 9.9.9.9 149.112.112.112 |
Abra la ventana de Conexión de red (Panel de control -> Red e Internet -> Centro de redes y recursos compartidos). O, más sencillo: Presiona las teclas Windows + R, y ejecuta ncpa.cpl (nuevamente aprende +200 Comandos para Ejecutar en Windows)
A continuación, cambia las direcciones IP del servidor DNS actual por las direcciones de los servidores DNS que soportan DoH en las propiedades del adaptador de red.
Nuevamente, utilizando PowerShell puedes cambiar las direcciones del servidor DNS en la configuración del adaptador de red:
$PhysAdapter = Get-NetAdapter -Physical
$PhysAdapter | Get-DnsClientServerAddress -AddressFamily IPv4 | Set-DnsClientServerAddress -ServerAddresses '1.1.1.1', '1.0.0.1'
Entonces tu cliente DNS utilizará el protocolo HTTPS (443) en lugar del puerto estándar UDP/TCP 53 para la resolución de nombres DNS.
Usando PktMon.exe, una herramienta para capturar el tráfico de red, puedes asegurarte de que no se envían peticiones DNS desde el ordenador a través del puerto 53.
Elimine todos los filtros actuales del Monitor de paquetes:
pktmon filter remove
Crea un nuevo filtro para el puerto DNS por defecto (53):
pktmon filter add -p 53
Iniciar la monitorización del tráfico en tiempo real (el tráfico se mostrará en la consola):
pktmon start --etw -p 0 -l real-time
Si has configurado DNS sobre HTTPS correctamente, no habrá tráfico en el puerto 53. Todos los paquetes del puerto 53 se imprimirán en la línea de comando. Si DoH funciona, no deberías ver tráfico en pantalla.
Palabras Finales
En el último año, el DNS sobre HTTPS se ha implementado en todos los navegadores populares (Google Chrome, Mozilla Firefox, Microsoft Edge, Opera). Puedes habilitar el soporte de DoH en cada uno de ellos. De este modo, todas las consultas DNS de tu navegador estarán encriptadas (el tráfico DNS de otras aplicaciones seguirá enviándose como texto plano).
Aunque DNS-sobre-HTTPS hace que la web sea más segura y debería implementarse de manera uniforme en toda la web (como en el caso de HTTPS), este protocolo va a dar pesadillas a los administradores de sistemas.
Los administradores de sistemas tienen que encontrar la manera de bloquear los servicios DNS públicos mientras permiten que sus servidores DNS internos utilicen DoH. Esto debe hacerse para mantener el equipo de monitoreo actual y las políticas de restricción activas en toda la organización.
Si me he dejado algo en el artículo, por favor, házmelo saber en los comentarios de abajo. Si te ha gustado el artículo y has aprendido algo nuevo, compártelo con tus amigos y en las redes sociales y suscríbete a nuestro boletín.