DNS поверх HTTPS

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

DNS поверх HTTPS (DoH) — протокол для выполнения разрешения DNS по протоколу HTTPS. Целью этого метода является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и манипулирования данными DNS с помощью атак типа «Атака посредника»[1]. По состоянию на март 2018 года, Google и Mozilla Foundation тестируют версии DNS по протоколу HTTPS[2][3]. Опубликован IETF в RFC 8484 в октябре 2018 года.

В дополнение к повышению безопасности ещё одна цель DNS поверх 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 поверх HTTPS[5].

DNS поверх HTTPS — общедоступные DNS-серверы[править | править код]

Реализации серверов DNS по HTTPS уже доступны бесплатно некоторыми публичными поставщиками DNS[6]. Предлагаются три реализации для производственных услуг[7]:

Список серверов с поддержкой DNS-over-HTTPS [8]

Провайдер IP-адреса Блокирование Особенности
Cloudflare 1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
нет Конечная точка DNS поверх HTTPS[9].
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
Вредоносный и взрослый контент[10].
Google Public DNS 8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
нет Конечная точка DNS поверх HTTPS[11].
CleanBrowsing 185.228.168.168
185.228.169.168
2a0d:2a00:1::
2a0d:2a00:2::
Взрослый контент. Конечная точка DNS поверх HTTPS[12].
Adguard 176.103.130.130
176.103.130.131
2a00:5a60::ad1:0ff
2a00:5a60::ad2:0ff
Рекламный контент. Конечная точка DNS поверх HTTPS[13].
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
нет

Поддержка клиентов[править | править код]

  • Firefox с версии 62 — поддержка браузера[14]
  • DNSCrypt-proxy — локальный DNS → прокси DoH[15]
  • doh-php-client — реализация PHP[16]
  • KeeneticOS - прошивка для роутеров KEENETIC[17]
  • OpenWRT - открытая прошивка для роутеров позволяет включить поддержку DNS поверх HTTPS[18]
  • Router OS с версии 6.47 - прошивка для роутеров Mikrotik[19]

Альтернативы[править | править код]

DNSCrypt шифрует не модифицированный трафик DNS между клиентом и DNS-резольвером для предотвращения атак типа «Атака посредника», но не прошедший процесс IETF RFC. Тогда как DNS поверх TLS описан в RFC 7858.

См. также[править | править код]

Примечания[править | править код]

  1. 1 2 IETF protects privacy and helps net neutrality with DNS over HTTPS • The Register
  2. 1 2 DNS-over-HTTPS | Public DNS | Google Developers
  3. Mozilla Is Testing «DNS over HTTPS» Support in Firefox
  4. 1 2 draft-ietf-doh-dns-over-https-07 — DNS Queries over HTTPS
  5. ALEX.TURING, YEGENSHEN, An Analysis of Godlua Backdoor, 1 JULY 2019, netlab 360.com blog  (англ.)
  6. DNS over HTTPS · curl/curl Wiki · GitHub
  7. DNS Security and Privacy — Choosing the right provider
  8. curl/curl (англ.). GitHub. Дата обращения: 17 мая 2020.
  9. https://cloudflare-dns.com/dns-query (недоступная ссылка)
  10. Introducing 1.1.1.1 for Families (англ.). The Cloudflare Blog (1 April 2020). Дата обращения: 23 сентября 2020.
  11. https://dns.google.com
  12. https://doh.cleanbrowsing.org/doh/family-filter/ (недоступная ссылка)
  13. https://dns.adguard.com/dns-query (недоступная ссылка)
  14. Improving DNS Privacy in Firefox — Firefox Nightly News
  15. GitHub — jedisct1/dnscrypt-proxy: DNSCrypt Proxy — A flexible DNS proxy, with support for encrypted DNS protocols.
  16. GitHub — dcid/doh-php-client: DoH (DNS over HTTPS) PHP Client
  17. Информация о релизе KeeneticOS 3.1. https://help.keenetic.com. Keenetic (22.01.2020). Дата обращения: 29 октября 2020.
  18. OpenWrt Project: DNS over HTTPS with Dnsmasq and https-dns-proxy. openwrt.org. Дата обращения: 17 мая 2020.
  19. MikroTik (англ.). mikrotik.com. Дата обращения: 4 июня 2020.