DNS over HTTPS
DNS over HTTPS (DoH) — это протокол для выполнения запросов к системе доменных имён (DNS) по протоколу HTTPS, шифрующий передаваемые данные между клиентом и DNS-резолвером. В отличие от традиционного DNS, который передаёт запросы в открытом виде (обычно по UDP-порту 53), DoH инкапсулирует DNS-запросы в трафик HTTPS (порт 443), что обеспечивает конфиденциальность и целостность запросов, а также затрудняет их перехват, подмену и блокировку. Стандарт DoH определён в документе RFC 8484 (октябрь 2018 года).
История
Необходимость в шифровании DNS-трафика возникла из-за уязвимостей традиционного протокола DNS. Запросы к DNS-серверам передаются в открытом виде, что позволяет провайдерам, злоумышленникам или государственным органам перехватывать их, анализировать посещаемые пользователем сайты, а также подменять ответы (атаки «человек посередине»). Первые попытки решить проблему привели к появлению протокола DNSCrypt (2008 год), который, однако, не стал стандартом и не получил широкого распространения в браузерах.
В 2014 году инженеры компании Google начали разработку протокола DNS over HTTPS. В 2016 году был опубликован черновик стандарта, а в 2018 году он был принят как RFC 8484. Основным драйвером внедрения DoH стала компания Mozilla, которая в 2019 году включила поддержку протокола в браузер Firefox по умолчанию для пользователей в США. Позднее поддержка DoH появилась в Google Chrome, Microsoft Edge, Opera и других браузерах. В 2020 году корпорация Microsoft объявила о планах интеграции DoH в операционную систему Windows 10.
Принцип работы
Традиционный DNS
При вводе пользователем доменного имени (например, ru.wikipedia.org) браузер отправляет DNS-запрос на DNS-сервер интернет-провайдера. Запрос и ответ передаются в открытом тексте, что позволяет любому узлу в сети (включая провайдера) видеть, какие сайты запрашивает пользователь.
DNS over HTTPS
DoH работает следующим образом:
- Клиент (браузер или операционная система) отправляет DNS-запрос, закодированный в формате HTTPS-запроса (обычно POST или GET).
- Запрос направляется на указанный DoH-сервер (например,
https://dns.cloudflare.com/dns-query`). - Трафик шифруется с использованием протокола TLS (как и любой другой HTTPS-трафик), что делает его неотличимым от обычного веб-сёрфинга.
- DoH-сервер обрабатывает запрос, возвращает зашифрованный ответ.
- Клиент расшифровывает ответ и использует его для подключения к запрашиваемому сайту.
Таким образом, перехватчик трафика видит только факт обращения к DoH-серверу, но не может определить, какие именно DNS-запросы отправляются.
Сравнение с другими протоколами
| Характеристика | Традиционный DNS | DNS over TLS (DoT) | DNS over HTTPS (DoH) |
|---|---|---|---|
| Шифрование | Нет | Да (TLS) | Да (TLS) |
| Порт | 53 (UDP/TCP) | 853 (TCP) | 443 (TCP) |
| Маскировка трафика | Нет | Частичная (отдельный порт) | Высокая (смешивается с веб-трафиком) |
| Простота блокировки | Легко | Возможно | Сложно |
| Стандарт | RFC 1035 | RFC 7858 | RFC 8484 |
Преимущества
- Конфиденциальность — DNS-запросы не видны провайдерам и другим наблюдателям в сети.
- Целостность — шифрование предотвращает подмену ответов DNS (атаки типа «спуфинг»).
- Обход блокировок — DoH-запросы сложнее блокировать, чем обычный DNS-трафик, так как они смешиваются с обычным HTTPS-трафиком.
- Устойчивость к цензуре — пользователи могут использовать DoH-серверы, расположенные за пределами страны, что затрудняет государственную фильтрацию интернета.
Недостатки и критика
- Централизация — крупные DoH-серверы (Google, Cloudflare, Quad9) получают доступ к данным о DNS-запросах миллионов пользователей, что создаёт риски для приватности.
- Сложность управления — в корпоративных сетях и школах администраторы часто используют локальные DNS-серверы для фильтрации контента (например, блокировки вредоносных сайтов). DoH позволяет обходить такие фильтры.
- Производительность — шифрование и дешифрование трафика требует дополнительных вычислительных ресурсов, что может увеличить задержки.
- Правовые аспекты — в некоторых странах (включая Россию) использование DoH для обхода государственных блокировок может быть расценено как нарушение законодательства.
DoH в России
В Российской Федерации использование DNS over HTTPS регулируется законодательством о «суверенном интернете». В 2019 году был принят закон, обязывающий операторов связи устанавливать технические средства противодействия угрозам (ТСПУ), которые могут фильтровать DNS-трафик. DoH, маскирующий запросы под обычный HTTPS-трафик, затрудняет работу таких систем.
В 2021 году Роскомнадзор начал тестирование блокировки DoH-серверов, используемых для обхода ограничений. В 2023 году были зафиксированы случаи блокировки популярных DoH-серверов (например, dns.google и cloudflare-dns.com) на территории России. Власти объясняют это необходимостью борьбы с распространением запрещённой информации (в том числе экстремистской и террористической). При этом официальные DoH-серверы, поддерживаемые российскими компаниями, продолжают работать.
Технические детали
Формат запросов
DoH поддерживает два основных формата:
- GET — запросы в виде URL-параметров (например,
?dns=...). Ответ возвращается в формате DNS-сообщения (бинарный). - POST — DNS-запрос передаётся в теле HTTP-запроса в бинарном виде (MIME-тип
application/dns-message).
Поддержка в браузерах
- Mozilla Firefox — DoH включён по умолчанию для пользователей в США (с 2019 года). В России пользователи могут включить его вручную в настройках.
- Google Chrome — поддержка DoH добавлена в версии 83 (2020 год). Использует системные настройки DNS, но может быть принудительно настроена на конкретный DoH-сервер.
- Microsoft Edge — аналогично Chrome, использует системные настройки.
- Opera — поддержка DoH добавлена в версии 66.
DoH-серверы
Наиболее популярные публичные DoH-серверы:
- Cloudflare:
https://cloudflare-dns.com/dns-query` - Google:
https://dns.google/dns-query` - Quad9:
https://dns.quad9.net/dns-query` - OpenDNS:
https://doh.opendns.com/dns-query`
Безопасность
DoH не является панацеей. Он защищает только DNS-запросы, но не сам трафик (для этого используется HTTPS). Кроме того, DoH-серверы могут вести логи запросов, что потенциально нарушает приватность. Рекомендуется использовать DoH-серверы с политикой «без логов» (например, Cloudflare или Quad9).
См. также
- DNS over TLS
- DNSCrypt
- DNSSEC
- Шифрование DNS
Источники
- RFC 8484 — DNS Queries over HTTPS (IETF, 2018)
- RFC 7858 — Specification for DNS over Transport Layer Security (TLS) (IETF, 2016)
- Документация Mozilla Firefox по DoH
- Материалы Роскомнадзора о блокировке DoH-серверов (2021–2023)
- Статья «DNS over HTTPS: что это и как работает» на Habr (2020)
- Отчёты Cloudflare о политике конфиденциальности DoH
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →