DNS over HTTPS (DoH): конфиденциальность, безопасность и принцип работы
DNS over SSL/TLS проверку (DoH) — протокол, который шифрует DNS-запросы, отправляя их через HTTPS-соединения к DNS-резолверу. Традиционный DNS передаёт запросы в открытом виде по UDP-проверку портов 53, делая их видимыми для любого наблюдателя сетевого трафика — провайдеров, сетевых администраторов и злоумышленников. DoH оборачивает DNS-запросы в стандартный HTTPS-трафик на порту 443, делая их неотличимыми от обычного веб-сёрфинга.
Проблемы традиционного DNS
Стандартный DNS (RFC 1035) имеет несколько проблем с конфиденциальностью и безопасностью:
- Нет шифрования — DNS-запросы и ответы передаются в открытом виде, раскрывая каждое доменное имя, которое посещает пользователь
- Нет аутентификации — ответы могут быть подделаны или изменены в пути (DNS spoofing)
- Видимость для провайдера — интернет-провайдеры могут логировать и продавать историю просмотров на основе DNS-запросов
- Вектор цензуры — правительства и организации могут блокировать доступ, перехватывая DNS-ответы
- Атаки «человек посередине» — злоумышленники в локальной сети могут перенаправлять DNS-ответы
# Традиционный DNS-запрос — виден в открытом виде
dig example.com @8.8.8.8
# Наблюдатель сети видит:
# Запрос: example.com A-запись
# Ответ: 93.184.216.34
# Всё видимо, включая доменное имя
Как работает DoH
DoH инкапсулирует DNS-запросы в HTTP/2-запросы, отправляемые DoH-совместимому резолверу через TLS-зашифрованное соединение:
# Запрос DoH (упрощённо)
POST https://dns.google/dns-query HTTP/2
Content-Type: application/dns-message
Accept: application/dns-message
[Бинарный DNS-запрос]
Резолвер обрабатывает запрос и возвращает ответ через то же зашифрованное HTTPS-соединение. С точки зрения сети этот трафик выглядит идентично любому другому HTTPS-запросу.
Wire-формат vs JSON-формат
DoH поддерживает два формата запросов:
| Формат | Content-Type | Применение |
|---|---|---|
| Wire-формат (RFC 1035) | application/dns-message | Стандартное бинарное DNS-сообщение, эффективно для резолверов |
| JSON-формат | application/dns-json | Человекочитаемый, удобен для отладки и API документацию |
# Запрос в JSON-формате (Google DoH)
curl -s "https://dns.google/resolve?name=example.com&type=A" | python3 -m json.tool
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": true,
"Answer": [
{
"name": "example.com",
"type": 1,
"TTL": 3600,
"data": "93.184.216.34"
}
]
}
DoH vs DoT vs традиционный DNS
| Характеристика | Традиционный DNS | DoT (DNS over TLS) | DoH (DNS over HTTPS) |
|---|---|---|---|
| Порт | 53 (UDP/TCP) | 853 (TCP) | 443 (TCP) |
| Шифрование | Нет | TLS | TLS (через HTTPS) |
| Блокируемость | Да (порт 53) | Да (порт 853) | Сложно (смешивается с HTTPS) |
| Производительность | Максимальная | Умеренная | Умеренная (HTTP/2 помогает) |
| Конфиденциальность | Отсутствует | Содержимое запросов скрыто | Содержимое скрыто + смешивание с трафиком |
Основные DoH-провайдеры
| Провайдер | DoH URL | Особенности |
|---|---|---|
| Cloudflare | https://cloudflare-dns.com/dns-query | Быстрый, ориентирован на приватность |
| https://dns.google/dns-query | Надёжный, JSON API | |
| Quad9 | https://dns.quad9.net/dns-query | Блокировка малвари, некоммерческий |
| NextDNS | https://dns.nextdns.io/dns-query | Настраиваемая фильтрация, аналитика |
Включение DoH
Настройка в браузере
Большинство современных браузеров поддерживают DoH:
- Firefox: Настройки → Приватность и безопасность → DNS over HTTPS → Максимальная защита
- Chrome: Настройки → Безопасность → Безопасный DNS → Выбрать провайдера
- Edge: Настройки → Конфиденциальность → Безопасный DNS → Выбрать провайдера
- Safari: Поддерживает DoH через профили конфигурации на macOS/iOS
Настройка на уровне системы
# Используя systemd-resolved (Linux)
# /etc/systemd/resolved.conf
[Resolve]
DNS=1.1.1.1#cloudflare-dns.com
DNSOverTLS=yes
# Используя dnscrypt-proxy
# /etc/dnscrypt-proxy/dnscrypt-proxy.toml
server_names = ['cloudflare', 'google']
listen_addresses = ['127.0.0.1:53']
doh_servers = true
Влияние на сетевую безопасность
DoH создаёт противоречие между конфиденциальностью пользователей и задачами сетевой безопасности:
Преимущества
- Предотвращает слежку и цензуру на основе DNS
- Устраняет атаки DNS spoofing и манипуляции
- Защищает от атакующих, модифицирующих DNS-ответы на пути
- Делает использование Wi-Fi и публичных сетей безопаснее
Сложности
- Службы безопасности предприятий теряют видимость DNS-запросов для обнаружения угроз
- Родительский контроль и фильтрация контента на основе DNS становятся менее эффективными
- Вредоносное ПО может использовать DoH для обхода DNS-фильтров безопасности
- Отладка сетевых проблем усложняется без видимости DNS-запросов
DoH и веб-мониторинг
Для мониторинг сайтов веб-ресурсов и проверки доступности DoH имеет практические последствия:
- Время DNS-разрешения — DoH добавляет TLS-нагрузку, но выигрывает от повторного использования HTTP/2-соединений
- Мониторинг DNS-пропагации — DoH-резолверы могут кэшировать иначе, чем традиционные
- Проверки доступности — если мониторинг использует DoH, он может не отражать опыт пользователей с обычным DNS
- Валидация DNSSEC — DoH-резолверы обычно выполняют проверку DNSSEC, добавляя уровень подлинности
Итоги
DNS over HTTPS — значительное улучшение конфиденциальности для интернет-пользователей, шифрующее DNS-запросы, которые ранее передавались в открытом виде. Хотя это создаёт сложности для корпоративной сетевой безопасности и фильтрации контента, DoH эффективно предотвращает слежку, подделку и цензуру DNS. Основные браузеры и операционные системы поддерживают DoH нативно, и его распространение продолжает расти.
Проверьте ваш сайт прямо сейчас
Проверить →