В этой статье я хочу рассказать как включить поддержку протокола DNS over HTTPS (DoH) в веб-браузере, который позволяет шифровать DNS-трафик, тем самым повышая конфиденциальность пользователя в глобальной паутине. Это будет интересно в первую очередь тем, кто сильно переживает по поводу своей анонимности в Интернете и боится, что с введением закона Яровой кому-то потребуется статистика его веб-серфинга. Тем более, что поддержку этого протокола внедрена практически во всех современных веб-браузерах и даже больше — производители роутеров начинают постепенно внедрять его в своё программное обеспечение. Яркий пример — Keenetic OS и OpenWRT. Осталось всего лишь включить и настроить!
Схема работы DoH
Сегодня DNS-серверы это один из ключевых элементов работы глобальной сети Интернет. С их помощью идет обработка запросов пользователя. В самом простом приближении это выглядит так: человек вводит адрес сайта в адресной строке браузере, после этого идёт обращение к ДНС-серверу, который в свою очередь определяет IP сайта и возвращает результат обратно пользователю, чтобы он мог перейти на нужный ему сайт. В таком виде запросы достаточно просто перехватить, просмотреть и даже подменить. Конечно, провайдер подменой заниматься не будет, а вот злоумышленники очень даже могут!
Если же мы используем DNS over HTTPS, то все запросы отправляются напрямую к DoH-совместимому серверу, в обход серверов провайдера и используя для шифрования этих данных протокол HTTPS. Выполняется TCP-подключение на порт 443, как при обычном серфинге и запрос к серверу теряется в общем объёме трафика. Таким образом можно быть уверенным, что ни провайдер, ни владельцы общедоступных или частных WiFi-хотспотов, ни какие-либо злоумышленники не смогут перехватить Ваши данные.
Ещё одна полезная особенность протокола — DNS over HTTPS позволяет обходить простые системы блокировки сайтов, работающие на основе запросов DNS. Но тут не торопитесь радоваться, такие системы работают у мелких операторов связи. У крупных провайдеров вроде Ростелеком, Дом.ру или Билайна обойти блокировки РКН таким образом не выйдет.
Включаем DoH в браузере
В настоящий момент, поддержка протокола DNS over HTTPS реализована во всех веб-браузерах. Главное — обновить его до самой последней, актуальной версии.
Google Chrome
В адресной строке вводим вот такой URL-адрес:
chrome://flags/#dns-over-https
Нажимаем клавишу «Enter» и попадаем вот на такую страницу:
Первым будет параметр «Secure DNS Lookups» — он то нам и нужен. Напротив него в выпадающем списке выбираем пункт Enable и перезапускаем приложение.
Opera
В браузере Opera порядок действий такой же, как и в хроме, только URL-запрос нужно вводить вот такой:
opera://flags/#opera-doh
Искомый параметр называется «Secure DNS». Вот он:
Ставим ему значение Enable и перезапускаем Оперу. После этого браузер будет использовать ДНС-сервер Cloudflare 1.1.1.1 через защифрованное соединение.
Microsoft Edge
С этим браузером получилось интересней всего. Старая платформа ( версия 44 и ниже) не умеют работать с DNS over HTTPS. Поэтому сначала надо сходить на сайт Майкрософта и обновить Edge до версии 80 и выше, которая построена уже на движке Chromium.
В адресную строку вводим URL:
edge://flags/#dns-over-https
Параметру «Secure DNS lookups» ставим значение «Enable» и нажимаем на кнопку «Restart» внизу странички чтобы перезапустить браузер.
Mozilla Firefox
Чтобы настроить DNS over HTTPS в браузере Firefox, нужно зайти в его настройки и в поиске по параметрам ввести запрос — dns:
В результатах видим, что нужно зайти в параметры сети. Кликаем на кнопку «Настроить» и видим вот такое окно:
В самой нижней его части надо поставить галочку «Включить DNS через HTTPS». Что мне больше всего понравилось, это то, что можно выбрать какой сервер будет использован — Cloudflare, Google или какой-то иной. Нажимаем на кнопку «ОК» и перезагружаем Firefox.
Как включить DNS over HTTPS на роутере
Как я уже сказал, некоторые WiFi маршрутизаторы уже умеют работать с этим протоколом. Правда, не из коробки — в каждом случае нужно устанавливать дополнения для операционной системы. Я покажу это на примере роутера Keenetic.
Начинаем с того, что заходим в «Общие настройки», находим раздел «Обновления и компоненты» и кликаем там на ссылку «Изменить набор компонентов». Там надо найти и установить компонент DNS-over-HTTPS proxy. После этого устройство перезапуститься и в разделе Интернет-фильтр появится ещё один подраздел «Серверы DNS over HTTPS».
Кликаем на кнопку «Добавить сервер» чтобы появились поля параметров. Тут нужно прописать имя сервера DNS. Я использую вот эти:
https://cloudflare-dns.com/dns-query https://dns.google/dns-query
Формат можно использовать JSON, который идёт по умолчанию, либо или DNS message, как у меня. Так же я указал WAN-интерфейс на котором будет работать протокол.
Если Вы пропишите несколько ДНС, то предпочитаемым будет тот, который быстрее отвечает.
Проверка работы протокола
Настраивали мы, настраивали, а как проверить работает ли DNS over HTTPS после всех наших манипуляций или нет. В настоящий момент я для этих целей использую сервис от Cloudflare — ссылка. Выглядит он вот таким образом:
Нажимаем кнопочку «Check my browser» и смотрим что будет показано в результатах. А именно, нас интересует пункт «Secure DNS» — он должен быть помечен зеленой галочкой:
Единственный момент, о котором стоит упомянуть — если Вы используете публичные ДНС от Google то этот тест не всегда удаётся пройти. Всё же Cloudflare продвигает свой сервис и поэтому удивляться не стоит.
Интересненько , надо опробовать в деле