Открыть сервис

DNS-over-HTTPS: шифрование запросов к DNS

DNS-over-HTTPS (DoH) — протокол, обеспечивающий выполнение запросов к системе доменных имён (DNS) через защищённый протокол HTTPS, работающий поверх транспортного уровня TLS. В отличие от классических DNS-запросов, которые передаются в открытом виде по протоколу UDP или TCP (порт 53), DoH инкапсулирует DNS-сообщения в обычные HTTPS-запросы (порт 443), что позволяет шифровать трафик и маскировать его под обычный веб-трафик.

История и предпосылки создания

Традиционный протокол DNS был разработан в 1983 году и не предусматривал механизмов шифрования и аутентификации. Это делает DNS-запросы уязвимыми для перехвата, подмены ответов (DNS-спуфинг) и наблюдения со стороны интернет-провайдеров. Первые попытки решить проблему привели к созданию протокола DNSCrypt в 2011 году, однако он не получил широкого распространения из-за необходимости установки специального клиентского программного обеспечения.

В 2016 году инженеры компании Google Павел Житницкий и Бенни Вонг предложили спецификацию DNS-over-HTTPS (RFC 8484, опубликован в октябре 2018 года). Идея заключалась в использовании уже повсеместно применяемого HTTPS-протокола, что упрощало внедрение и не требовало дополнительных настроек на клиентских устройствах.

Технические особенности

Принцип работы

DoH работает по схеме «клиент — резолвер». Клиентское устройство (браузер, операционная система или отдельное приложение) отправляет DNS-запрос в зашифрованном виде на HTTPS-эндпоинт резолвера. Ответ также возвращается в зашифрованном виде. Для этого используется стандартный механизм HTTP-запросов: GET или POST, где тело запроса содержит бинарное DNS-сообщение, закодированное в формате application/dns-message.

Отличия от DNS-over-TLS

Существует смежный протокол DNS-over-TLS (DoT), который также шифрует DNS-трафик, но использует отдельный порт 853 и не маскирует запросы под обычный веб-трафик. DoH, в свою очередь, работает на стандартном порту 443, что делает его неотличимым от обычных HTTPS-соединений для сетевых фильтров, но одновременно усложняет его блокировку и фильтрацию.

Распространение и поддержка

Первым крупным публичным резолвером, поддержавшим DoH, стал Google Public DNS (в 2018 году). Позднее поддержку добавили Cloudflare (1.1.1.1), Quad9, а также российский Яндекс DNS.

Поддержка DoH встроена в современные браузеры: Mozilla Firefox (с 2019 года, по умолчанию для пользователей из США), Google Chrome (с 2020 года), Microsoft Edge. Операционные системы также добавляют поддержку: Android 10+ и Windows 11 поддерживают настройку DoH на системном уровне.

Преимущества и критика

Преимущества

  • Конфиденциальность: шифрование защищает от перехвата и прослушивания DNS-запросов третьими лицами, включая интернет-провайдеров.
  • Целостность: TLS-аутентификация предотвращает подмену DNS-ответов (спуфинг) и атаки «человек посередине».
  • Обход цензуры: в странах, где применяется DNS-фильтрация, DoH позволяет обходить блокировки на уровне провайдера.

Критика

  • Централизация: критики отмечают, что DoH концентрирует данные о DNS-запросах у крупных компаний (Google, Cloudflare), что создаёт риски для приватности.
  • Усложнение администрирования: корпоративные сети и родительский контроль, основанные на фильтрации DNS, теряют эффективность, так как DoH-запросы невозможно перехватить стандартными средствами.
  • Производительность: дополнительный цикл TLS-рукопожатия может незначительно увеличивать задержку, хотя в большинстве случаев это компенсируется HTTP-кешированием.

Правовое регулирование в России

В Российской Федерации использование DoH не запрещено, однако оно вступает в противоречие с требованиями Федерального закона № 149-ФЗ «Об информации, информационных технологиях и о защите информации», который обязывает операторов связи блокировать доступ к запрещённым сайтам. Поскольку DoH-запросы не видны провайдеру, это затрудняет исполнение требований о блокировке. В 2021 году Роскомнадзор направил в Минцифры предложения по ограничению использования DoH и DoT на территории страны, однако на законодательном уровне ограничения введены не были.

См. также

Источники

  • RFC 8484 — DNS Queries over HTTPS (IETF)
  • RFC 7858 — Specification for DNS over Transport Layer Security (TLS)
  • Документация Google Public DNS и Cloudflare 1.1.1.1

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →