Перейти к основному содержанию
 

Windows 10 — настройка DNS over HTTPS

DNS

В 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

regedit

Переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters и создаём DWORD (32-bit) Value с именем EnableAutoDoh и значением 2.

doh

Изменения в реестр можно также внести через REG файл:

 
DoH.reg

Скачать 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
Google 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.

doh

Можно добавить в 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
Family

1.1.1.3
1.0.0.3
2606:4700:4700::1113
2606:4700:4700::1003
Вредоносный и взрослый контент. https://family.cloudflare-dns.com/dns-query
Google 8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
Нет. https://dns.google/dns-query

CleanBrowsing
Security

185.228.168.9
185.228.169.9
2a0d:2a00:1::2
2a0d:2a00:2::2
Вредоносный контент. https://doh.cleanbrowsing.org/doh/security-filter/

CleanBrowsing
Adult

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 -m real-time
pktmon start --etw -p 0 -l real-time

Ссылки

https://techcommunity.microsoft.com/t5/networking-blog/windows-insiders-can-now-test-dns-over-https/ba-p/1381282

Настройка DoH и ESNI в Mozilla Firefox