DNS поверх HTTPS

DNS over HTTPS (DoH) — протокол для выполнения разрешения имён DNS по протоколу HTTPS. Целью внедрения этого протокола является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и манипулирования данными DNS с помощью атак типа «Атака посредника»[1].

Протокол DNS over HTTPS описан в стандарте RFC 8484 IETF[2].

История

Предпосылкой создания DoH стали выявленные массовые вмешательства интернет-провайдеров и правительств в работу распределённой системы DNS, в результате которых пользователи незаметно для себя получали поддельную информацию об адресах серверов и их запросы были перенаправлены на посторонние серверы, о чём пользователи не подозревали[1].

В 2016 году на Google Public DNS было внедрено собственное API Google для запросов DoH, использующее нотацию JSON[3]

В мае 2017 года в IETF была сформирована рабочая группа по протоколу разрешения доменных имён через HTTPS[1].

В марте 2018 года Mozilla Foundation тестировала свою реализацию DoH в браузере Firefox[4].

В октябре 2018 года IETF утвердил стандарт DoHRFC 8484[2].

Преимущества DoH перед классическим DNS

DoH исключает подделку адресов интернет-доменов правительством, интернет-провайдером или злоумышленником и гарантирует, что браузер пользователя получит верный адрес сервера для запрошенного доменного имени[1].

В дополнение к повышению безопасности ещё одна цель DNS over HTTPS — повысить производительность: тестирование DNS-ресолверов разных интернет-провайдеров показало, что во многих случаях они дают неожиданно медленный отклик, что может вызывать серьёзные задержки в реакции браузера на действия пользователя из-за необходимости получения адресов многих доменов при загрузке веб-страницы[1].

Реализации

Google в своих публичных серверах DNS использует две реализации DoH[5]:

  1. URL https://dns.google/dns-query — стандартизованный в RFC 8484 с поддержкой HTTPS-запросов GET и POST;
  2. URL https://dns.google/resolve? — собственная реализация API для DoH, в которой используются только запросы GET в нотации JSON.

Стандартная реализация

В стандарте RFC 8484 используются протокол HTTP/2 в HTTPS, запрос отправляется на путь /dns-query (в иерархии веб-сервера), запрос идентифицируется полем accept = application/dns-message, содержимое запроса идентично двоичному запросу к серверу DNS по RFC 1035, преобразованное в текстовый вид: в случае метода GET используется переменная dns с кодированным Base64 значением запроса DNS, в случае POST используется content-type = application/dns-message и значение DNS-запроса передаётся в шестнадцатиричном виде (англ. hex encoding). Ответы передаются с типом content-type = application/dns-message и текстом, содержащим шестнадцатиричный код ответа сервера DNS[6]. Также в обмене данными c клиентом сервер может использовать для отправки значений клиенту push протокола HTTP/2, описанный в RFC 7540[6].

Общедоступные серверы DNS over HTTPS

Реализации серверов DoH доступны публично и бесплатно у некоторых поставщиков DNS[7][неавторитетный источник].

Предлагаются три реализации для производственных услуг[8][неавторитетный источник]:

Провайдер IP-адреса Блокирование URL описания
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
вредоносный и взрослый контент[9]
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::
взрослый контент https://doh.cleanbrowsing.org/doh/family-filter/ (недоступная ссылка)
Adguard 176.103.130.130
176.103.130.131
2a00:5a60::ad1:0ff
2a00:5a60::ad2:0ff
рекламный контент https://dns.adguard.com/dns-query (недоступная ссылка)
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

Поддержка в клиентах

В апреле 2019 года специалисты компании Qihoo 360 обнаружили образец вредоносного ПО, использующий протокол DNS over HTTPS, и назвали его Godlua Backdoor[16].

См. также

Примечания

  1. 1 2 3 4 5 Chirgwin, R. IETF protects privacy and helps net neutrality with DNS over HTTPS : [англ.] : [арх. 14 декабря 2017] // The Register. — 2017. — 14 December.
  2. 1 2 Datatracker8484.
  3. JSON API for DNS over HTTPS (DoH) // Public DNS : [англ.] : [арх. 27 декабря 2024]. — Google Developers, 2024.
  4. Cimpanu, C. Mozilla Is Testing «DNS over HTTPS» Support in Firefox (англ.). Bleeping Computer (20 марта 2018). Дата обращения: 3 января 2025. Архивировано 20 марта 2018 года.
  5. DNS-over-HTTPS // Public DNS : [англ.] : [арх. 20 марта 2018]. — Google Developers, 2024.
  6. 1 2 draft-ietf-doh-dns-over-https-07 — DNS Queries over HTTPS. Дата обращения: 21 апреля 2018. Архивировано 25 апреля 2018 года.
  7. DNS over HTTPS · curl/curl Wiki · GitHub. Дата обращения: 22 мая 2018. Архивировано 2 апреля 2018 года.
  8. DNS Security and Privacy — Choosing the right provider. Medium. Дата обращения: 22 мая 2018. Архивировано 9 ноября 2020 года.
  9. Introducing 1.1.1.1 for Families (англ.). The Cloudflare Blog (1 апреля 2020). Дата обращения: 23 сентября 2020. Архивировано 1 марта 2022 года.
  10. Improving DNS Privacy in Firefox — Firefox Nightly News. Дата обращения: 7 июня 2018. Архивировано 2 сентября 2018 года.
  11. GitHub — jedisct1/dnscrypt-proxy: DNSCrypt Proxy — A flexible DNS proxy, with support for encrypted DNS protocols. Дата обращения: 7 июня 2018. Архивировано 20 января 2016 года.
  12. GitHub — dcid/doh-php-client: DoH (DNS over HTTPS) PHP Client. Дата обращения: 7 июня 2018. Архивировано 30 декабря 2020 года.
  13. Информация о релизе KeeneticOS 3.1. https://help.keenetic.com. Keenetic (22 января 2020). Дата обращения: 29 октября 2020. Архивировано 18 января 2022 года.
  14. OpenWrt Project: DNS over HTTPS with Dnsmasq and https-dns-proxy. openwrt.org. Дата обращения: 17 мая 2020. Архивировано 18 января 2022 года.
  15. MikroTik (англ.). mikrotik.com. Дата обращения: 4 июня 2020. Архивировано 20 января 2022 года.
  16. Turing, A. An Analysis of Godlua Backdoor : [англ.] : [арх. 3 июля 2019] / A. Turing, Y. Genshen // 360 Netlab Blog. — 2019. — 1 July.

Литература

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia