Настройка DNS over HTTPS (DoH) по часам

DNS over HTTPS (DoH) — протокол для выполнения разрешения DNS по протоколу HTTPS. Целью этого метода является повышение конфиденциальности и безопасности пользователей путём предотвращения перехвата и манипулирования данными DNS с помощью атак типа «Атака посредника».

В дополнение к повышению безопасности ещё одна цель DNS over HTTPS (DoH) — повысить производительность: тестирование DNS-резолверов ISP показало, что во многих случаях они имеют неожиданно медленное время отклика, что может быть дополнительно умножено на необходимость получения адресов многих доменов, например, при загрузке веб-страницы.

Другая аналогичная спецификация находится в статусе интернет-проекта под эгидой IETF. В этой версии протокола используются протоколы HTTP/2 и HTTPS, а исходная версия поддерживает данные ответа DNS в виде «проводного формата», которые возвращаются в существующих ответах UDP, в полезной нагрузке с HTTPS — application/dns-udpwireformat, с MIME — application/dns-udpwireformat. Если используется HTTP/2, сервер может также использовать HTTP/2-серверный push для отправки значений, которые, скорее всего, понадобятся клиенту. 

Технология DNS over HTTPS набирает обороты и в 2021 году использовать только одного провайдера для получения DNS имен, крайне глупо. Компании Cloudflare, Apple и Fastly совместно разработали и начали процесс стандартизации технологии ODoH (Oblivious DNS over HTTPS). Процесс стандартизации технологии ODoH (Oblivious DNS over HTTPS) с реализацией варианта DNS over HTTPS, сохраняющего конфиденциальность пользователя и не позволяющей резолверу узнать его IP-адрес.

Но, все это лирика и попытки коммерческих реализаций идей. Возникает только один вопрос, опасно использовать только Cloudflare - DoH? Да, на 95%. Довольно утопическое решение передавать трафик только DNS резольверам Cloudflare. Ввиду масштабного развития технологии DNS over HTTPS, большинство крупных компаний начали вводить бесплатный(?) доступ к DNS over HTTPS (DoH через свои сервера. Скажем сразу, вариант 8.8.8.8 должен отпадать сразу (а-ля GHL, MaxCDN, YandexCDN и т.п.). Всё чаще веб-сайты стали очень сильно полагаться на крупные «третьесторонние» сервисы доставки контента. CDN — географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и дистрибуцию содержимого конечным пользователям в сети Интернет.

Свежие наработки на 2021 год, разработчики Mozilla намерены включить в Firefox 85 режим сегментирования сети (Network Partitioning) для блокирования методов отслеживания перемещений пользователя между сайтами, основанных на хранении идентификаторов в областях, не предназначенных для постоянного хранения информации ("Supercookies").

На личном примере автор заметки использует для разных браузеров (по задаче), разные DNS over HTTPS (DoH) серверы. Например для одного устройства, телефон, режим Google рекламу. На втором устройстве полная блокировка мусора, даже функции оплаты через интернет. Не забывайте и о нагрузках на серверы DoH, например на данный момент OpenDNS любит сбрасывать запросы пользователя, или NextDNS который внезапно уходит на техобслуживание без предупреждения. Cloudflare и Российские законы, о запрете IP адресов и тд и тп. 

Вариантов реализации для динамической смены поставщика услуг DNS over HTTPS (DoH) множество. Все зависит от вашей фантазии, оборудования и желания решить задачу. Для примера возьмем простой скрипт на роутерах Mikrotik...

Задача простая, по временной метке выполнить сброс кеша DNS и переключится на другого поставщика услуг DoH. Например для малого офиса в рабочие часы использовать жесткую блокировку через NextDNS, в мирное время пропускать весь трафик через OpenDNS. Общая настройка NextDNS или OpenDNS личных профилей настроек не рассматривается, смотрите поиск. Включая тонкие настройки Mikrotik роутеров.

Для примера используем скрипт для основного устройства, роутер Mikrotik (не главное, тут ваш выбор и задачи). Для дальнейшего понимания вы должны оперировать и понимать сценарный язык Mikrotik и настройку скриптов. Помните, у вас должны быть импортированы все CRT сертификаты серверов для использования.

Наброски скрипта (запуск в 9-00)

:log info "DNS change to - NextDNS...";

/ip dns cache flush

/ip dns set servers=

/ip dns set use-doh-server=“https://dns.nextdns.io/ID-???”

/ip dns set verify-doh-cert=yes

Тут все просто, пишем в лог о смене DNS, сбрасываем кэш, устанавливаем новый запрос на соединение с сервером DoH. Помните о сертификатах, их важно проверять, verify-doh-cert=yes.

Наброски скрипта (запуск в 15-00)

:log info "DNS change to - Cloudflare...";

/ip dns cache flush

/ip dns set servers=

/ip dns set use-doh-server=https://1.1.1.1/dns-query

/ip dns set verify-doh-cert=yes

Помните, все статические маршруты и настройки DNS зависят от вас, простая смена настроек не всегда эффективна. Скрипт можно дополнить звуковыми сигналами, пересылкой логов на почту, мониторингом нагрузки и тд и тп.

Выбор серверов DoH остается за вами, но помните о банальном обходе DNS запросов через VPN, тут необходимо ставить запреты трафика на самом DNS сервере. Главное вы уловили сам принцип который направит вас.


 

Последние материалы