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

Современные версии Windows поддерживают протокол DNS over HTTPS (DoH), который позволяет выполнять разрешение имен (DNS запросы) через шифрованное HTTPS соединение. В этой статье мы рассмотрим, для чего нужен протокол DNS over HTTPS, как его включить и использовать в Windows.

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

Как включить DNS over HTTPS из графического интерфейса Windows?

Встроенная поддержка протокола DNS-over-HTTPS (DoH) в DNS клиенте доступна в Windows 11 и Windows Server 2022. Чтобы ваш клиент использовал DoH для шифрования DNS трафика, нужно в настройках сетевого подключения указать IP адрес сервера с поддержкой DoH.

Список IP адресов публичных DNS серверов с поддержкой DoH можно вывести PowerShell командой:

Get-DNSClientDohServerAddress

Get-DNSClientDohServerAddress список зарегистрированных DNS серверов с поддержкой DNS over HTTPS

ПровайдерIPv4 адреса DNS серверов с поддержкой DNS over HTTPS
Cloudflare1.1.1.1, 1.0.0.1
Google8.8.8.8, 8.8.4.4
Quad99.9.9.9, 149.112.112.112

 

Нужно указать IPv4 и IPv6 адрес одного из этих DNS сервера (или адрес любого альтернативного DNS сервера с поддержкой DoH, предварительно добавив его, о чем ниже) в настройках сетевого интерфейса.

  1. Перейдите в Settings -> Network & Internet -> Ethernet (или Wi-Fi)
  2. В данном случае видно, что DNS трафик не зашифрован.Настройка DNS серверов на клиенте Windows 11, незашифрованные запросы neshifrovano
  3. Нажмите кнопку Edit
  4. Укажите IP адрес DNS сервера, и для параметра DNS over HTTPS выберите -> On (automatic template)Включить использование DNS over https в windows 11
  5. Сохраните изменения. Теперь DNS запросы будут отправляться в шифрованном виде.Включено шифрование DNS запросов в Windows

В DNS клиенте Windows Server 2022 также поддерживается DoH (но служба DNS Server в этой версии Windows Server пока не поддерживает DoH).

Укажите IP адрес DNS сервера в настройках сетевого интерфейса и включите режим обязательного использования шифрования: Encrypted only (DNS over HTTPS).

Encrypted only (DNS over HTTPS) в Windows Server 2022

Ни один из релизов Windows 10 сейчас не поддерживает протокол DoH. В одной из инсайдерской версии (Insider Preview OS Build 19628) этот протокол можно было включить через реестр. Для включения поддержки DoH, нужно было создайть параметр реестра с помощью командлета New-ItemProperty:

$AutoDohPath = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
$AutoDohKey = 'EnableAutoDoh'
New-ItemProperty -Path $AutoDohPath -Name $AutoDohKey -Value 2 -PropertyType DWord -Force

EnableAutoDoh параметр реестра для включения DNS-over-HTTPS в windows 10

Но в финальный релиз Windows 10 этот функционал не внедрен!

Настройка DNS over HTTPS в Windows 11 из командной строки

В Windows можно включить и настроить использование DNS over HTTPS из командной строки.

Сначала нужно добавить IP адрес сервера DoH в список известных серверов. Например, чтобы добавить альтернативные DNS сервера Cloudflare Family 1.1.1.3 и 1.0.0.3 (фильтруют вредоносный и взрослый контент), выполните PowerShell команду:

$DNSServer="1.1.1.3"
Add-DnsClientDohServerAddress -ServerAddress $DNSServer -DohTemplate "https://family.cloudflare-dns.com/dns-query" -AllowFallbackToUdp $False -AutoUpgrade $True

powershell Add-DnsClientDohServerAddress

После того, как вы зарегистрировали шаблон для DNS сервера DoH нужно назначить этот IP в качестве предпочтительного DNS сервера в настройках сетевого интерфейса с помощью PowerShell команды:

Set-DnsClientServerAddress Ethernet0 -ServerAddresses ($DNSServer)

Затем включить обязательное использование DNS over HTTPS для сетевого интерфейса:
$i = Get-NetAdapter -Physical -Name Ethernet0

$s1 = "HKLM:System\CurrentControlSet\Services\Dnscache\InterfaceSpecificParameters\" + $i.InterfaceGuid + "\DohInterfaceSettings\Doh\$DNSServer"
New-Item -Path $s1 -Force | New-ItemProperty -Name "DohFlags" -Value 1 -PropertyType QWORD
Clear-DnsClientCache

powershell: включить исопльзование dns-over-https для сетевого адаптера

С помощью отдельного параметра GPO можно включить обязательное использование DoH:

  1. Запустите редактор локальной GPO ( gpedit.msc )
  2. Перейдите в Computer Configuration -> Policies -> Administrative Templates -> Network -> DNS Client section
  3. Включите политику «Configure DNS over HTTPS (DoH) name resolution» и задайте значение Require DoH.Параметр GPO: Configure DNS over HTTPS (DoH) name resolution

Как убедиться, что для разрешения имен в Windows используется DNS over HTTPS?

Чтобы проверить, что клиент DNS использует для разрешения имен протокол HTTPS по порту 443 вместо обычного 53 порта, используете встроенную утилита захвата сетевого трафика PktMon.exe (о которой мы говорили ранее).

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

pktmon filter remove

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

pktmon filter add -p 53

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

pktmon start --etw -m real-time

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

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

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

hjПроверить что используется шифрование DNS трафика secure-dns

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.


Предыдущая статья Следующая статья


Комментариев: 14 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)