В Windows 10 начиная с версии2004 (Май 2020) появилась поддержка протокола DoH — DNS over HTTPS. Теперь в операционной системе есть встроенный клиент, позволяющий делать DNS запросы через HTTPS.
Обращение к DNS серверу для разрешения доменных имён происходит по 53 порту в открытом виде. Такой запрос ничем не защищён от кибератаки вида Man-in-the-Middle (человек посередине). Злоумышленник, получив доступ к любому серверу в цепочке DNS запроса, может манипулировать вашим DNS трафиком, выдавая себя за систему, с которой вы общаетесь.
Для усиления безопасности и защиты приватности пользователей путём шифрования DNS запросов был придуман протокол DNS over HTTPS. Протокол DoH инкапсулирует DNS запросы в HTTPS трафик и по 443 порту отправляет их DNS серверу. Естественно, нужно использовать специальный DNS сервер с поддержкой DoH.
Включаем DoH в Windows 10
DNS over HTTPS в Windows 10 2004 можно включить пока только через реестр. Опции в групповой политике нет, GUI интерфейса для настройки тоже нет. Открываем реестр:
regedit
Переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters и создаём DWORD (32-bit) Value с именем EnableAutoDoh и значением 2.
Изменения в реестр можно также внести через REG файл DoH.reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]
"EnableAutoDoh"=dword:00000002
Скачать REG файл DoH.reg.
Чтобы не возиться с реестром вручную, можно воспользоваться PowerShell:
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters' -Name 'EnableAutoDoh' -Value 2 -PropertyType DWord -Force
Перезагрузка службы DNS
Применяем настройки. Самый простой способ перезагрузить службу DNS — это перезагрузить компьютер.
Настройка сети для DoH
В настройках сетевого адаптера нужно указать DNS сервер, который поддерживает DoH. Общедоступные DNS серверы, которые поддерживает Windows 10:
Провайдер | IP |
Cloudflare | 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 |
8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 |
|
Quad9 | 9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::9 |
Я укажу IP адреса Cloudflare.
Можно добавить в Windows и другой альтернативный DNS сервер с поддержкой DoH. Используем командную строку:
netsh dns add encryption server=<your-server’s-IP-address> dohtemplate=<your-server’s-DoH-URI-template>
Посмотреть DoH-URI-template можно командой:
netsh dns show encryption server=<your-server’s-IP-address>
Например, добавляем Cloudflare Family:
netsh dns add encryption server=1.1.1.3 dohtemplate=https://family.cloudflare-dns.com/dns-query
netsh dns add encryption server=1.0.0.3 dohtemplate=https://family.cloudflare-dns.com/dns-query
netsh dns show encryption server=1.1.1.3
netsh dns show encryption server=1.0.0.3
Примеры общедоступных DNS серверов с поддержкой DoH:
Провайдер | IP | Блокировка | DoH-URI-template |
Cloudflare | 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 |
Нет. | https://cloudflare-dns.com/dns-query |
Cloudflare Security |
1.1.1.2 1.0.0.2 2606:4700:4700::1112 2606:4700:4700::1002 |
Вредоносный контент. | https://security.cloudflare-dns.com/dns-query |
Cloudflare |
1.1.1.3 1.0.0.3 2606:4700:4700::1113 2606:4700:4700::1003 |
Вредоносный и взрослый контент. | https://family.cloudflare-dns.com/dns-query |
8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 |
Нет. | https://dns.google/dns-query | |
CleanBrowsing |
185.228.168.9 185.228.169.9 2a0d:2a00:1::2 2a0d:2a00:2::2 |
Вредоносный контент. | https://doh.cleanbrowsing.org/doh/security-filter/ |
CleanBrowsing |
185.228.168.10 185.228.169.11 2a0d:2a00:1::1 2a0d:2a00:2::1 |
Вредоносный и взрослый контент. | https://doh.cleanbrowsing.org/doh/adult-filter/ |
CleanBrowsing Family |
185.228.168.168 185.228.169.168 2a0d:2a00:1:: 2a0d:2a00:2:: |
Вредоносный, взрослый и смешанный контент. | https://doh.cleanbrowsing.org/doh/family-filter/ |
Adguard | 94.140.14.14 94.140.15.15 2a10:50c0::ad1:ff 2a10:50c0::ad2:ff |
Рекламный контент. | https://dns.adguard.com/dns-query |
Adguard Family |
94.140.14.15 94.140.15.16 2a10:50c0::bad1:ff 2a10:50c0::bad2:ff |
Рекламный и взрослый контент. | https://dns-family.adguard.com/dns-query |
Quad9 | 9.9.9.10 149.112.112.10 2620:fe::10 2620:fe::fe:10 |
Нет. | https://dns10.quad9.net/dns-query |
Quad9 Sequrity |
9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::9 |
Вредоносный контент. | https://dns.quad9.net/dns-query https://dns9.quad9.net/dns-query |
Quad9 Secured ECS support |
9.9.9.11 149.112.112.11 2620:fe::11 2620:fe::fe:11 |
Вредоносный контент. | https://dns11.quad9.net/dns-query |
OpenDNS | 208.67.222.222 208.67.220.220 2620:119:35::35 2620:119:53::53 |
Нет. | https://doh.opendns.com/dns-query |
OpenDNS Family |
208.67.222.123 208.67.220.123 2620:119:35::123 2620:119:53::123 |
Взрослый контент. | https://doh.familyshield.opendns.com/dns-query |
Как проверить, что DoH работает?
Теперь Windows сконфигурирован для работы с DoH. Проверим с помощью PacketMon.
Запускаем командную строку или PowerShell.
Сбрасываем возможные фильтры:
pktmon filter remove
Создаём фильтр для 53 порта DNS:
pktmon filter add -p 53
Мониторим трафик в реальном времени:
pktmon start --etw -p 0 -l real-time