Прокси-серверы DoT и DoH для шифрования DNS-запросов
Как известно, протокол DNS (Domain Name System, система доменных имён) не шифрует запросы и данные передаются в открытом виде. DNS-трафик уязвим перед злоумышленниками, т.к. появляется возможность "подслушать
" канал связи и перехватить незащищенные персональные данные.
Для безопасности DNS-трафика были реализованы специальные протоколы DNS over TLS (DNS поверх TLS, DoT, RFC7858) и DNS over HTTPS (DNS поверх HTTPS, DoH, RFC8484). Их основная задача - зашифровать DNS-трафик для предотвращения перехвата и обеспечения дополнительной конфиденциальности и безопасности. В данной статье мы не будем подробно останавливаться на теории. Информацию о том как работают DoT и DoH вы найдете на следующих страницах:
Список публичных DNS-сервисов с поддержкой DoT/DoH:
Начиная с версии KeeneticOS 3.0
была добавлена поддержка протоколов DNS over TLS и DNS over HTTPS. Включив один из них, DNS-трафик от роутера будет передаваться в зашифрованном виде через Интернет.
Важно
При включении протокола DoT/DoH все DNS-запросы будут направляться на указанный при настройке адрес сервера. Полученные ранее DNS-серверы от вашего интернет-провайдера и прописанные вручную DNS-серверы использоваться не будут.
Если включен один из интернет-фильтров AdGuard DNS, Яндекс.DNS или SkyDNS, то все DNS-запросы будут направляться на указанный адрес сервиса с назначенным профилем зарегистрированному устройству в домашней сети. При назначении профиля "Без фильтрации" все запросы будут направляться через включенные протоколы DoT/DoH.
Если вы хотите пользоваться только DNS over TLS, то достаточно будет удалить компонент "DNS-over-HTTPS proxy". Аналогично и с DNS over HTTPS, нужно удалить компонент "DNS-over-TLS".
Покажем пример настройки через веб-конфигуратор. Будем использовать бесплатный DNS-сервис компании Cloudflare, поддерживающий работу по протоколам DoT/DoH.
Для работы протокола DoT/DoH нужно в интернет-центре предварительно установить соответствующий компонент системы "Прокси-сервер DNS-over-TLS" или "Прокси-сервер DNS-over-HTTPS". Сделать это можно на странице "Общие настройки" в разделе "Обновления и компоненты", нажав на "Изменить набор компонентов".
Для дальнейшей настройки перейдите на страницу веб-конфигуратора "Интернет-фильтр" на вкладку "Настройка DNS". В разделе "Профили DNS" нажмите "Добавить сервер".
DNS-over-TLS
Нажмите кнопку 'Добавить сервер' по ссылке внизу страницы.
Появятся поля для заполнения определенных параметров. В поле Тип сервера укажите значение DNS-over-TLS, в поле Адрес сервера DNS (в нашем примере это 1.1.1.1
и 1.0.0.1
), Доменное имя TLS (в нашем примере это cloudflare-dns.com
) и при необходимости интерфейс подключения (по умолчанию установлено значение "Любое").
Например:
В поле "Адрес сервера DNS" разрешается указывать доменное имя FQDN, например:
Важно
Для стабильной работы DNS-резолвинга необходимо указывать несколько DoT/DoH-серверов одновременно, и лучше от разных DNS-служб. Например:
DNS server address | TLS domain name |
---|---|
8.8.8.8 | dns.google |
8.8.4.4 | dns.google |
1.1.1.1 | cloudflare-dns.com |
1.0.0.1 | cloudflare-dns.com |
9.9.9.9 | dns.quad9.net |
94.140.14.14 | dns.adguard-dns.com |
94.140.15.15 | dns.adguard-dns.com |
DNS-over-HTTPS
Нажмите кнопку 'Добавить сервер' по ссылке внизу вкладки 'Настройка DNS'.
Появятся поля для заполнения определенных параметров. В поле Тип сервера укажите значение DNS-over-HTTPS, в поле Адрес сервера DNS укажите имя сервера DNS и при необходимости укажите интерфейс подключения (по умолчанию установлено значение "Любое"). Данные запросы используют формат DNS message. В нашем примере добавлены серверы https://cloudflare-dns.com/dns-query
и https://dns.comss.one/dns-query
Например:
Примечание
Если в настройках роутера одновременно указаны несколько серверов DNS over TLS и DNS over HTTPS, приоритет будет у тех серверов, кто быстрее отвечает на DNS-запросы. В Keenetic можно использовать не более 8 серверов DoT/DoH.
В интернет-центрах Keenetic можно использовать максимум 8
DoT/DoH серверов.
Проверка настроек
Приведем пример проверки использования шифрования DNS-запросов для службы Cloudflare. Перейдите на страницу https://www.cloudflare.com/ssl/encrypted-sni/
Нажмите "Check My Browser" для запуска проверки.
При корректной настройке DoT/DoH тест должен завершиться успешно для "Secure DNS", "DNSSEC" и "TLS 1.3". Корректный вывод проверки работы DoT/DoH и безопасности браузера зависит от доступности DoT/DoH серверов/адресов в сети провайдера/оператора.
Важно
В статье показан пример проверки работы DoT/DoH сервиса Cloudflare. При использовании других DNS-сервисов, проверка на сайте https://www.cloudflare.com/ssl/encrypted-sni/ может не проходить. Не пройдет он и в случае, если в настройках DHCP домашней сети Keenetic были указаны какие-либо адреса DNS. Ведь тогда подключенные к Keenetic устройства будут обращаться напрямую к этим DNS-серверам, а не к Keenetic с настроенными DoT/DoH.
Для запуска повторного тестирования нажмите "Run the test again".
Если тест не прошел, возможно ранее были прописаны сторонние DNS-серверы в IP-настройках сетевого адаптера в операционной системе Windows, Linux, macOS. В этом случае все DNS-запросы будут обрабатываться через сторонние DNS и работать DoT/DoH не будет. Удалите ранее указанные адреса сторонних DNS и повторите тест.
Также имейте ввиду, если вы указали несколько DoT/DoH-адресов, от разных сервисов, результат проверки зависит от того, какой сервер в настоящий момент в приоритете. Например, если указан DoH-сервер https://dns.google/dns-query
в формате DNS message, то проверку "Secure DNS" он не проходит.
Подсказка
Если вы не хотите вручную настраивать работу проколов DoT/DoH, просто включите интернет-фильтр AdGuard DNS или Cloudflare DNS. В этом случае вам не потребуется выполнять дополнительную настройку. При включении AdGuard DNS или Cloudflare DNS автоматически включится поддержка DoT/DoH, но только в том случае если в интернет-центре установлены компоненты системы для поддержки DoT/DoH, иначе интернет-фильтр не будет использовать указанные протоколы шифрования.
Проверить поддержку DoT/DoH можно через интерфейс командной строки (CLI) роутера, выполнив команду
show adguard-dns availability
(до версии KeeneticOS 3.7) илиshow cloudflare-dns availability
(до версии KeeneticOS 3.7).При включенном AdGuard DNS и Cloudflare DNS не проходит проверка состояния работы сервиса на страницах https://adguard.com/ru/test.html и https://1.1.1.1/help
Это связано с тем, что при включенных интернет-фильтрах по умолчанию включается блокировка транзитного DoT/DoH, чтобы избежать утечки DNS-запросов.
Когда в Keenetic вручную указаны прокси-серверы DoT/DoH и включен один из интернет-фильтров Adguard DNS, Cloudflare DNS, SkyDNS или Яндекс.DNS, то резолвинг внутренних системных доменов и проверка Интернета проходит сначала через DNS-прокси, т.е. через DNS-адреса, которые указаны вручную.
Для исключения перехвата DNS-запроса нужно указать домен в параметрах добавления DNS-сервера. Например:
Проверку использования DNS-запросов для службы Cloudflare можно выполнить на странице https://www.cloudflare.com/ssl/encrypted-sni/
Нажмите "Check My Browser" для запуска проверки.
При корректной настройке DoT/DoH тест должен завершиться успешно для "Secure DNS", "DNSSEC" и "TLS 1.3". Корректный вывод проверки работы DoT/DoH и безопасности браузера зависит от доступности DoT/DoH серверов/адресов в сети провайдера/оператора.
Важно
Показан пример проверки работы DoT/DoH для сервиса Cloudflare. При использовании других DNS-сервисов, проверка на сайте https://www.cloudflare.com/ssl/encrypted-sni/ может не проходить. Не пройдет она и в случае, если в настройках DHCP домашней сети Keenetic были указаны какие-либо адреса DNS. Ведь тогда подключенные к Keenetic устройства будут обращаться напрямую к этим DNS-серверам, а не к Keenetic с настроенными DoT/DoH.
Для запуска повторного тестирования нажмите "Run the test again".
Если тест не прошел, возможно ранее были прописаны сторонние DNS-серверы в IP-настройках сетевого адаптера в операционной системе Windows, Linux, macOS. В этом случае все DNS-запросы будут обрабатываться через сторонние DNS и работать DoT/DoH не будет. Удалите ранее указанные адреса сторонних DNS и повторите тест.
Также имейте ввиду, если вы указали несколько DoT/DoH-адресов, от разных сервисов, результат проверки зависит от того, какой сервер в настоящий момент в приоритете. Например, если указан DoH-сервер https://dns.google/dns-query
в формате DNS message, то проверку "Secure DNS" он не проходит.