Меню
Главная
Случайная статья
Настройки
|
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 утвердил стандарт DoH – RFC 8484[2].
ПреимуществаDoHперед классическимDNS
DoH исключает подделку адресов интернет-доменов правительством, интернет-провайдером или злоумышленником и гарантирует, что браузер пользователя получит верный адрес сервера для запрошенного доменного имени[1].
В дополнение к повышению безопасности ещё одна цель DNS over HTTPS — повысить производительность: тестирование DNS-ресолверов разных интернет-провайдеров показало, что во многих случаях они дают неожиданно медленный отклик, что может вызывать серьёзные задержки в реакции браузера на действия пользователя из-за необходимости получения адресов многих доменов при загрузке веб-страницы[1].
Реализации
Google в своих публичных серверах DNS использует две реализации DoH[5]:
- URL https://dns.google/dns-query — стандартизованный в RFC 8484 с поддержкой HTTPS-запросов GET и POST;
- 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]
Поддержка в клиентах
В апреле 2019 года специалисты компании Qihoo 360 обнаружили образец вредоносного ПО, использующий протокол DNS over HTTPS, и назвали его Godlua Backdoor[16].
См. также
Примечания
- 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.
- 1 2 Datatracker8484.
- JSON API for DNS over HTTPS (DoH) // Public DNS :
- Cimpanu, C. Mozilla Is Testing «DNS over HTTPS» Support in Firefox (англ.). Bleeping Computer (20 марта 2018). Дата обращения: 3 января 2025. Архивировано 20 марта 2018 года.
- DNS-over-HTTPS // Public DNS :
- 1 2 draft-ietf-doh-dns-over-https-07 — DNS Queries over HTTPS (неопр.). Дата обращения: 21 апреля 2018. Архивировано 25 апреля 2018 года.
- DNS over HTTPS · curl/curl Wiki · GitHub (неопр.). Дата обращения: 22 мая 2018. Архивировано 2 апреля 2018 года.
- DNS Security and Privacy — Choosing the right provider (неопр.). Medium. Дата обращения: 22 мая 2018. Архивировано 9 ноября 2020 года.
- Introducing 1.1.1.1 for Families (англ.). The Cloudflare Blog (1 апреля 2020). Дата обращения: 23 сентября 2020. Архивировано 1 марта 2022 года.
- Improving DNS Privacy in Firefox — Firefox Nightly News (неопр.). Дата обращения: 7 июня 2018. Архивировано 2 сентября 2018 года.
- GitHub — jedisct1/dnscrypt-proxy: DNSCrypt Proxy — A flexible DNS proxy, with support for encrypted DNS protocols. (неопр.) Дата обращения: 7 июня 2018. Архивировано 20 января 2016 года.
- GitHub — dcid/doh-php-client: DoH (DNS over HTTPS) PHP Client (неопр.). Дата обращения: 7 июня 2018. Архивировано 30 декабря 2020 года.
- Информация о релизе KeeneticOS 3.1 (рус.). https://help.keenetic.com. Keenetic (22 января 2020). Дата обращения: 29 октября 2020. Архивировано 18 января 2022 года.
- OpenWrt Project: DNS over HTTPS with Dnsmasq and https-dns-proxy (неопр.). openwrt.org. Дата обращения: 17 мая 2020. Архивировано 18 января 2022 года.
- MikroTik (англ.). mikrotik.com. Дата обращения: 4 июня 2020. Архивировано 20 января 2022 года.
- Turing, A. An Analysis of Godlua Backdoor :
Литература
|
|