DNS поверх HTTPS
DNS over HTTPS (DoH) — протокол для выполнения разрешения DNS по протоколу HTTPS. Целью этого метода является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и манипулирования данными DNS с помощью атак типа «Атака посредника»[1]. По состоянию на март 2018 года Google и Mozilla Foundation тестируют версии DNS по протоколу HTTPS[2][3]. Опубликован IETF в RFC 8484 в октябре 2018 года.
В дополнение к повышению безопасности ещё одна цель DNS over HTTPS — повысить производительность: тестирование DNS-резолверов ISP показало, что во многих случаях они дают неожиданно медленный отклик, что может быть дополнительно умножено на необходимость получения адресов многих доменов, например, при загрузке веб-страницы[1].
В публично реализованной версии этого протокола Google использует HTTP GET-запросы (через HTTPS) для доступа к информации DNS с использованием кодировки DNS-запроса и параметров результата, представленных в нотации JSON[2].
Другая аналогичная спецификация находится в статусе интернет-проекта под эгидой IETF. В этой версии протокола используются протоколы HTTP/2 и HTTPS, а исходная версия поддерживает данные ответа DNS в виде «проводного формата», которые возвращаются в существующих ответах UDP, в полезной нагрузке с HTTPS — application/dns-udpwireformat
, с MIME — application/dns-udpwireformat
[4]. Если используется HTTP/2, сервер может также использовать HTTP/2-серверный push для отправки значений, которые, скорее всего, понадобятся клиенту[4].
В июле 2019 года специалисты компании Qihoo 360 обнаружили первый в мире образец вредоносного ПО, использующий протокол DNS over HTTPS[5].
DNS over HTTPS — общедоступные DNS-серверы
Реализации серверов DNS по HTTPS уже доступны бесплатно некоторыми публичными поставщиками DNS[6]. Предлагаются три реализации для производственных услуг[7]:
Провайдер | IP-адреса | Блокирование | Особенности |
---|---|---|---|
Cloudflare | 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 |
нет | https://cloudflare-dns.com/dns-query |
Cloudflare | 1.1.1.2 1.0.0.2 2606:4700:4700::1112 2606:4700:4700::1002 |
вредоносный контент | |
Cloudflare | 1.1.1.3 1.0.0.3 2606:4700:4700::1113 2606:4700:4700::1003 |
вредоносный и взрослый контент[8] | |
Google Public DNS | 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 |
нет | https://dns.google/dns-query |
CleanBrowsing | 185.228.168.168 185.228.169.168 2a0d:2a00:1:: 2a0d:2a00:2:: |
взрослый контент | конечная точка DNS over HTTPS[9] |
Adguard | 176.103.130.130 176.103.130.131 2a00:5a60::ad1:0ff 2a00:5a60::ad2:0ff |
рекламный контент | конечная точка DNS over HTTPS[10] |
Quad9 | 9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::9 |
вредоносный контент | |
OpenDNS | 208.67.222.222 208.67.220.220 2620:119:35::35 2620:119:53::53 |
нет | https://doh.opendns.com/dns-query |
Поддержка клиентов
- Firefox с версии 62 — поддержка браузера[11]
- DNSCrypt-proxy — локальный DNS → прокси DoH[12]
- doh-php-client — реализация PHP[13]
- KeeneticOS с версии 3.00 — прошивка для роутеров KEENETIC[14]
- OpenWRT — открытая прошивка для роутеров позволяет включить поддержку DNS over HTTPS[15]
- Router OS с версии 6.47 — прошивка для роутеров Mikrotik[16]
Альтернативы
DNSCrypt шифрует немодифицированный трафик DNS между клиентом и DNS-резольвером для предотвращения атак типа «Атака посредника», но не прошедший процесс IETF RFC, тогда как DNS over TLS описан в RFC 7858.
См. также
Примечания
- IETF protects privacy and helps net neutrality with DNS over HTTPS • The Register
- DNS-over-HTTPS | Public DNS | Google Developers
- Mozilla Is Testing «DNS over HTTPS» Support in Firefox
- draft-ietf-doh-dns-over-https-07 — DNS Queries over HTTPS
- ALEX.TURING, YEGENSHEN, An Analysis of Godlua Backdoor, 1 JULY 2019, netlab 360.com blog (англ.)
- DNS over HTTPS · curl/curl Wiki · GitHub
- DNS Security and Privacy — Choosing the right provider
- Introducing 1.1.1.1 for Families (англ.). The Cloudflare Blog (1 апреля 2020). Дата обращения: 23 сентября 2020.
- https://doh.cleanbrowsing.org/doh/family-filter/ (недоступная+ссылка)
- https://dns.adguard.com/dns-query (недоступная+ссылка)
- Improving DNS Privacy in Firefox — Firefox Nightly News
- GitHub — jedisct1/dnscrypt-proxy: DNSCrypt Proxy — A flexible DNS proxy, with support for encrypted DNS protocols.
- GitHub — dcid/doh-php-client: DoH (DNS over HTTPS) PHP Client
- Информация о релизе KeeneticOS 3.1 . https://help.keenetic.com. Keenetic (22.01.2020). Дата обращения: 29 октября 2020.
- OpenWrt Project: DNS over HTTPS with Dnsmasq and https-dns-proxy . openwrt.org. Дата обращения: 17 мая 2020.
- MikroTik (англ.). mikrotik.com. Дата обращения: 4 июня 2020.