Зачем нужно шифрование DNS: защита от перехвата и подмены
Стандартный DNS-трафик передается в открытом виде. Каждый запрос на преобразование доменного имени в IP-адрес виден интернет-провайдеру, администратору публичной Wi-Fi-сети и любому, кто перехватил пакет. Технология Deep Packet Inspection (DPI) позволяет анализировать эти запросы, а DNS-спуфинг - подменять ответы, перенаправляя вас на фишинговый сайт вместо настоящего.
DNS over TLS (DoT) и DNS over HTTPS (DoH) решают эту проблему шифрованием. DoT инкапсулирует DNS-запросы в TLS-туннель и передает их через выделенный порт 853. DoH упаковывает запросы в HTTPS-трафик на порту 443, делая их неотличимыми от обычного веб-серфинга. Оба протокола предотвращают перехват и подмену, но выбор между ними зависит от сценария использования.
DoT проще администрировать на уровне сети: отдельный порт позволяет настроить фильтрацию и маршрутизацию. DoH сложнее заблокировать, поскольку он сливается с HTTPS-трафиком. В корпоративных средах, где требуется контроль исходящих соединений, DoT предпочтительнее. Для обхода цензуры и DPI-блокировок эффективнее DoH. Подробный разбор корпоративного внедрения этих протоколов с примерами конфигураций Unbound и Knot Resolver вы найдете в руководстве по безопасной DNS-маршрутизации.
Шифрование DNS закрывает вектор атаки «человек посередине» на уровне разрешения имен. Без него злоумышленник, контролирующий точку доступа, может перенаправить запрос к легитимному домену на подконтрольный сервер. С DoT или DoH такая атака требует компрометации TLS-сертификата, что на порядок сложнее.
Выбор провайдера защищенного DNS: Google, Cloudflare, Quad9
Три провайдера покрывают большинство сценариев использования. Выбор зависит от приоритетов: минимальная задержка, максимальная приватность или фильтрация угроз.
| Провайдер | IPv4-адреса | DoT-хостнейм | DoH-URL | Особенности |
|---|---|---|---|---|
| Google Public DNS | 8.8.8.8, 8.8.4.4 | dns.google | https://dns.google/dns-query | Минимальная задержка, глобальная инфраструктура, сбор обезличенной статистики |
| Cloudflare | 1.1.1.1, 1.0.0.1 | one.one.one.one | https://cloudflare-dns.com/dns-query | Акцент на приватность, не сохраняет логи, поддержка WARP |
| Quad9 | 9.9.9.9, 149.112.112.112 | dns.quad9.net | https://dns.quad9.net/dns-query | Фильтрация вредоносных доменов на основе threat intelligence, блокировка фишинга |
Google Public DNS обеспечивает наименьшую задержку благодаря разветвленной сети точек присутствия. Это выбор для сценариев, где скорость разрешения критична. Cloudflare фокусируется на конфиденциальности: компания проходит регулярные аудиты и не хранит логи запросов дольше 24 часов. Quad9 интегрирует данные об угрозах от множества поставщиков и автоматически блокирует запросы к известным вредоносным доменам.
Для домашнего использования и защиты мобильных устройств Quad9 дает дополнительный уровень безопасности без настройки дополнительного ПО. В корпоративной среде, где уже развернуты системы фильтрации, Google или Cloudflare обеспечивают предсказуемую производительность. Если вы настраиваете DNS на роутере для всей сети, инструкция по настройке DNS на Keenetic поможет применить выбранного провайдера ко всем подключенным устройствам.
Настройка частного DNS (DoT) на Android
Android начиная с версии 9 поддерживает режим «Частный DNS», который автоматически шифрует все DNS-запросы устройства через DoT. Настройка занимает меньше минуты.
Путь к настройке зависит от оболочки производителя. На чистом Android и Pixel: Настройки → Сеть и Интернет → Частный DNS. На Samsung One UI: Настройки → Подключения → Другие настройки → Частный DNS. Выберите «Имя хоста поставщика частного DNS» и введите хостнейм выбранного провайдера:
- Google:
dns.google - Cloudflare:
one.one.one.one - Quad9:
dns.quad9.net
После сохранения Android автоматически установит TLS-соединение с указанным сервером. Система использует этот сервер для всех DNS-запросов, независимо от типа подключения - Wi-Fi или мобильная сеть.
Частный DNS работает на уровне операционной системы, шифруя запросы всех приложений. Это выгодно отличает его от браузерного DoH, который защищает только трафик конкретного браузера. Если вам нужно изменить DNS только для определенной Wi-Fi-сети без включения глобального частного DNS, воспользуйтесь инструкцией по смене DNS на Android и iPhone.
Как проверить, что частный DNS работает на Android
Откройте браузер на устройстве и перейдите на страницу 1.1.1.1/help. В секции «Connection to Resolver IP Addresses» должен отображаться адрес выбранного провайдера и статус «Using DNS over TLS (DoT)». Альтернативный метод: сервис dnsleaktest.com покажет, какие DNS-серверы фактически обрабатывают запросы. Если в результатах видны серверы вашего интернет-провайдера вместо выбранного публичного резолвера - частный DNS не работает.
В статусной строке Android при активном частном DNS может отображаться значок замка или уведомление. При проблемах с подключением к DoT-серверу система покажет предупреждение «Частный DNS-сервер недоступен», и трафик не пойдет до восстановления соединения.
Включение DNS over HTTPS (DoH) в браузерах Chrome и Firefox
Браузерный DoH защищает DNS-запросы только в рамках этого браузера. Системные запросы других приложений остаются незашифрованными. Такой подход удобен, когда нет административного доступа к настройкам ОС или требуется точечная защита.
Настройка DoH в Chrome: пошаговая инструкция
Откройте Настройки → Конфиденциальность и безопасность → Безопасность. Прокрутите до раздела «Дополнительные» и найдите переключатель «Использовать защищенный DNS». Включите его. Chrome предложит два варианта: «С текущим поставщиком услуг» (использует системный DNS, но пытается шифровать его через DoH, если провайдер поддерживает) и «Выбрать другого поставщика». Выберите второй вариант и укажите провайдера из выпадающего списка (Google, Cloudflare, OpenDNS) или введите кастомный DoH-URL, например https://dns.quad9.net/dns-query для Quad9.
Chrome проверяет доступность DoH-сервера перед переключением. Если сервер не отвечает, браузер возвращается к системному DNS, чтобы не нарушить работу. Такое поведение предотвращает ситуацию, когда включение защищенного DNS ломает доступ в интернет.
Настройка DoH в Firefox: пошаговая инструкция
Откройте Настройки → Основные, прокрутите до раздела «Настройки сети» и нажмите кнопку «Настроить». В открывшемся окне установите флажок «Включить DNS через HTTPS». Firefox предлагает два режима: «По умолчанию защита» (использует DoH, только если это не мешает работе) и «Повышенная защита» (строго требует DoH, при недоступности сервера выдает предупреждение). Выберите провайдера из списка или укажите кастомный URL в поле «Другой».
Firefox использует собственный резолвер и не зависит от системных настроек DNS. Это означает, что DoH в Firefox работает, даже если на уровне ОС настроены другие серверы. Для максимальной защиты выберите режим «Повышенная защита» - это исключит fallback на незашифрованный DNS.
Настройка DNS over HTTPS в Windows 11
Windows 11 поддерживает DoH на уровне операционной системы начиная с сборки 22000. После настройки все приложения, использующие системный DNS-резолвер, получают шифрование автоматически. Это предпочтительный метод для корпоративных рабочих станций и серверов.
Откройте Параметры → Сеть и Интернет → Wi-Fi (или Ethernet), нажмите на активное подключение и выберите «Свойства оборудования». В разделе «Назначение DNS-сервера» нажмите «Изменить», переключите с «Автоматически (DHCP)» на «Вручную». Включите IPv4 и введите адреса предпочитаемого и альтернативного DNS-сервера. Для каждого адреса в выпадающем списке «Предпочитаемое шифрование DNS» выберите «Только шифрование (DNS через HTTPS)».
Windows 11 автоматически определяет шаблон DoH-URL для известных провайдеров. При вводе 1.1.1.1 система предложит шифрование для Cloudflare, для 8.8.8.8 - для Google. Если выпадающий список шифрования неактивен, значит, Windows не распознала адрес как поддерживающий DoH.
Добавление кастомного DoH-сервера в Windows 11 через командную строку
Для провайдеров, отсутствующих в стандартном списке Windows (например, Quad9), шаблон DoH-URL добавляется вручную через PowerShell или командную строку с правами администратора. Команда для добавления Quad9:
netsh dns add encryption server=9.9.9.9 dohtemplate=https://dns.quad9.net/dns-query
После выполнения команды вернитесь в настройки DNS и укажите 9.9.9.9 как предпочитаемый сервер. Выпадающий список шифрования станет активным. Для проверки успешности добавления выполните:
netsh dns show encryption server=9.9.9.9
Система выведет информацию о сервере и привязанном DoH-шаблоне. Аналогичным образом добавляются любые другие серверы с поддержкой DoH.
Проверка и диагностика защищенного DNS
После настройки необходимо убедиться, что DNS-запросы действительно шифруются и не происходит утечек на незащищенные резолверы.
Самый быстрый метод - сервис Cloudflare Browsing Experience Security Check по адресу 1.1.1.1/help. Страница отображает статус подключения к резолверу, используемый протокол (DoT, DoH или незашифрованный DNS) и наличие DNSSEC-валидации. Для DoH-соединения в результатах будет строка «Using DNS over HTTPS (DoH)» с указанием провайдера.
Сервис DNSLeakTest (dnsleaktest.com) запускает серию запросов к уникальным поддоменам и анализирует, какие DNS-серверы их обработали. Если в результатах видны только адреса выбранного провайдера - утечек нет. Появление серверов интернет-провайдера сигнализирует о проблеме: либо настройка не применилась, либо часть трафика идет в обход шифрования.
Для детального анализа трафика используйте Wireshark с фильтром dns. При активном DoT запросы должны уходить на порт 853, при DoH - на порт 443. Обычные DNS-запросы на порт 53 должны отсутствовать. Команда nslookup с явным указанием сервера помогает проверить доступность конкретного резолвера:
nslookup admin-wiki.ru 1.1.1.1
Если сервер возвращает корректный IP-адрес - резолвер работает. Отсутствие ответа при активном защищенном DNS указывает на блокировку порта 853 или 443 для DoT/DoH-трафика.
Возможные проблемы и их решение
При внедрении защищенного DNS встречаются типовые проблемы. Каждая имеет конкретную причину и решение.
Частный DNS не работает на Android. Убедитесь, что устройство работает под управлением Android 9 или новее. Проверьте, не активно ли VPN-подключение - многие VPN-клиенты переопределяют DNS-настройки и блокируют частный DNS. Отключите VPN и проверьте работу повторно. Если проблема сохраняется, попробуйте альтернативный хостнейм провайдера: некоторые сети блокируют известные DoT-хосты.
DoH в браузере неактивен. Chrome и Firefox проверяют доступность DoH-сервера перед активацией. Если провайдер блокирует HTTPS-запросы к известным DoH-эндпоинтам, браузер молча возвращается к системному DNS. В Firefox включите режим «Повышенная защита», чтобы получать явное предупреждение о недоступности DoH. В Chrome проверьте статус на странице chrome://net-internals/#dns.
Сброс настроек после обновления Windows. Крупные обновления Windows могут сбрасывать параметры сетевых адаптеров. После обновления проверьте настройки DNS в свойствах подключения. Для автоматизации можно использовать PowerShell-скрипт, применяющий нужные параметры при входе в систему.
Блокировка публичных DNS провайдером. Некоторые интернет-провайдеры и корпоративные сети блокируют известные публичные резолверы на уровне маршрутизации или DPI. Решение: использовать альтернативные адреса провайдера (Cloudflare предоставляет резервные адреса 1.0.0.1 и 2606:4700:4700::1111) или обфускацию через WARP-клиент Cloudflare, который туннелирует DNS-запросы внутрь HTTPS-трафика к CDN-серверам.
Конфликт частного DNS и VPN на Android
VPN-приложения перехватывают сетевой трафик на уровне ОС и часто принудительно используют собственные DNS-серверы для предотвращения утечек. При активном VPN функция «Частный DNS» на Android отключается, и запросы идут через DNS туннеля.
Решение зависит от VPN-клиента. WireGuard поддерживает указание кастомного DNS-сервера в конфигурационном файле: добавьте директиву DNS = 1.1.1.1 в секцию Interface, и трафик будет использовать Cloudflare через туннель. OpenVPN позволяет задать DNS-серверы через опции dhcp-option DNS. Если VPN-клиент не поддерживает кастомный DNS, компромиссный вариант - настроить DoH в браузере: браузерный DoH работает независимо от VPN и шифрует DNS-запросы внутри HTTPS-трафика, который уже проходит через туннель.
После настройки DNS на любом устройстве полезно очистить кэш, чтобы старые записи не мешали проверке. Инструкция по очистке DNS-кэша на Android и iPhone поможет выполнить эту процедуру корректно.