В 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 .
Чтобы не возиться с реестром вручную, можно воспользоваться 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:
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
Как проверить, что DoH работает?
Теперь Windows сконфигурирован для работы с DoH. Проверим с помощью PacketMon. Запускаем командную строку или PowerShell. Сбрасываем возможные фильтры:
pktmon filter remove
Создаём фильтр для 53 порта DNS:
pktmon filter add -p 53
Мониторим трафик в реальном времени:
pktmon start --etw -m real-time
Ссылки
Источник:
https://internet-lab.ru/win10_doh
Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.