Настраиваем DNS over HTTPS (DoH) в Windows 10

Поддержка протокола DNS over HTTPS ( DoH ) появилась в последнем билде Windows 10 2004 (May 2020 Update). Начиная с этой версии, Windows 10 может выполнять разрешение имен через HTTPS с помощью встроенного клиента DoH. В этой статье мы расскажем для чего нужен протокол DNS over HTTPS, как его включить и использовать в Windows 10.

Когда ваш компьютер обращается к серверу DNS для разрешения имен, этот обмен данными происходит в открытом виде. Злоумышленник может подслушать ваш трафик, определить какие ресурсы вы посещали, или манипулировать DNS трафиком по типу main-in-the-middle. Протокол DNS over HTTPS предполагает усиление защиты приватности данных пользователей за счет шифрования всех DNS запросов. Протокол DoH инкапсулирует запросы DNS в HTTPS трафик и отправляет из DNS серверу (нужен специальный DNS сервер с поддержкой DoH).

В Windows 10 2004 пока нет параметра групповой политики или опции в графическом интерфейсе для включения DNS-over-HTTPS. Пока можно включить DoH только через реестр:

  1. Запустите regedit.exe ;
  2. Перейдите в ветку реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscacheParameter;
  3. Создайте DWORD параметр с именем EnableAutoDoh и значением 2 ; EnableAutoDoh параметр реестра для включения DNS-over-HTTPS в windows 10
    Также вы можете создать этот параметр реестра с помощью комнадлета New-ItemProperty :
    $AutoDohPath = 'HKLM:SYSTEMCurrentControlSetServicesDnscacheParameters'
    $AutoDohKey = 'EnableAutoDoh'
    New-ItemProperty -Path $AutoDohPath -Name $AutoDohKey -Value 2 -PropertyType DWord -Force

  4. Затем нужно перезапустить службу DNS клиент. Для этого нужно перезагрузить компьютер, т.к. нормально перезапустить службу dnscase у меня не получится (командлет Restart-Service -Name Dnscache –force выдает ошибку “Collection was modified; enumeration operation may not execute”).

Затем нужно изменить настройки DNS вашего сетевого подключения. Нужно указать DNS сервера с поддержкой DNS over HTTPS. Пока далеко не все DNS сервера поддерживают DoH. В таблице ниже перечислен список общедоступных DNS с поддержкой DNS over HTTPS.

Провайдер IP адреса DNS серверов с поддержкой DNS over HTTPS
Cloudflare 1.1.1.1, 1.0.0.1
Google 8.8.8.8, 8.8.4.4
Quad9 9.9.9.9, 149.112.112.112

Откройте панель настройки сети — Control Panel -> Network and Internet -> Network and Sharing Center (или ncpa.cpl ). Затем в свойствах сетевого адаптера измените текущие адреса DNS серверов на адреса DNS серверов с поддержкой DoH.

укажите адреса dns серверов с поддержкой dns over https

Вы можете изменить адреса DNS серверов в настройках сетевого адаптера с помощью PowerShell (см. статью о настройке сети с помощью PowerShell ):

$PhysAdapter = Get-NetAdapter -Physical
$PhysAdapter | Get-DnsClientServerAddress -AddressFamily IPv4 | Set-DnsClientServerAddress -ServerAddresses '8.8.8.8', '1.1.1.1'

Теперь клиент DNS начинает использовать для разрешения имен протокол HTTPS по порту 443 вместо обычного 53 порта.

С помощью утилиты захвата сетевого трафика PktMon.exe (о которой мы говорили ранее ) вы можете проверить, что с компьютера теперь не отправляются DNS запросы по порту 53.

Удалите все текущие фильтры Packet Monitor:

pktmon filter remove

Создайте новый фильтр для классического DNS порт 53:

pktmon filter add -p 53

Запустите мониторинг трафика в реальном времени (трафик выводится в консоль):

pktmon start --etw -p 0 -l real-time

Если вы правильно настроили DNS over HTTPS, то трафик по порту 53 должен отсутствовать (на скриншоте ниже показан вывод в консоль при отключённом DoH и при включенном).

дамп трафика с включенным и отключенным dns over https

Также вы можете проверить, работает ли у вас DNS over HTTPS на следующем сервисе (проверка DNSSEC): https://www.cloudflare.com/ssl/encrypted-sni/

сервис проверки поддкржки dns over https

DNS over HTTPS за последний год реализован во всех популярных браузерах (Google Chrome, Mozilla Firefox, Microsoft Edge, Opera). В каждом из этих браузеров вы можете включить поддержку DoH. Таком образом все DNS запросы от браузера будут шифроваться (DNS трафик других приложений по прежнему будет идти в открытом текстовом виде).

Больше все проблем технологии DNS over HTTPS и DNS over TLS создадут администраторам корпоративных сетей, которым станет сложнее блокировать доступн к внешним ресурсам из внутренних сетей. Также не понятно, что парирует делать Роскомнадзор, чья методика глубокой проверки и управления сетевым трафиком Deep Packet Inspection (DPI) перестанет работать при переходе протокола DNS на рельсы шифрованного https.

EnglishRussianUkrainian