Categories: PowerShellWindows 10

Настраиваем 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 ;
    Также вы можете создать этот параметр реестра с помощью комнадлета 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 серверов в настройках сетевого адаптера с помощью 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 на следующем сервисе (проверка DNSSEC): https://www.cloudflare.com/ssl/encrypted-sni/

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.

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

6 дней ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

6 дней ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

6 дней ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

6 дней ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

6 дней ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

6 дней ago