The_Codeine

DNS over HTTPS. Троллим провайдера

14.07.2019

Стандартрный DNS работает по незашифрованными соединениям UDP и TCP на 53м порту. Это позволяет вашему любимому провайдеру мониторить все DNS-запросы. А также вмешиваться в трафик используя техники MITM и спуфинга. На правктике большинство провайдеров используют свои сервера DNS и перенаправялют на них весь трафик идущий адресованный на 53й порт.

В совокупности это позволяет провайдеру:
1. Мониторить трафик пользователя. А именно составлять список посещаемых им ресурсов. Что позволяет классифицировать пользователей по определенным группам в зависимости от преобладания в запросах определенных категорий сайтов.
2. Продолжая п.1 — составленные списки посещенных адресов дают возможность составления цифрового «портрета» пользователя. С теоретической возможностью идентификации его в других сетях.
3. Контроль трафика. А именно возможность подмены запрашиваемого адреса в ответе DNS-сервера.
Дает провайдеру возможность как блокировать определенные ресурсы, так и злонамеренно перенаправлять пользователя на подменные сервера для сбора данных авторизации и других видов мошенничества.

Самым популярным сценарием использования DNS стало блокирование неугодных сайтов во многих странах.

Таким образом протокол DNS является устаревшим и не соответствует современным тербованиям безопасности и приватности.
Ему придумано множество альтернатив DNS over TLS, DNSCurve, DNSCrypt. Но большой популярности они пока не получили.

Недавно появился протокол протокол DoH. В случае с DoH имеется поддержка таких компаний как Google, Mozilla и Cloudflare. Что дает ему возможность реализации в решениях для широкого круга пользователей.

DNS over HTTPS, также известный как DoH — протокол позволяющий скрывать/инкапсулировать DNS-запросы внутри HTTPS трафика. При таком сценарии провайдер теряет возможность использования существующих инструментов мониторинга и контроля трафика.

Протокол описан в октябре 2018 в RFC8484 _ttps://tools.ietf.org/html/rfc8484

Попробуем?

1. Устанавливаем Stubby — клиент DoH

sudo apt-get update
sudo apt-get install stubby
sudo systemctl start stubby
sudo systemctl enable stubby

Для более современных дистрибутивов:

sudo apt -y install stubby
sudo systemctl status stubby

После установки будет запущен локальный DNS-сервер на 53 порту. Все DNS-запросы к этому серверу будут транслироваться в DoH.

2. Проверить:

sudo netstat -lnptu | grep stubby

3. Конфигурируем сетевые интерфейсы для использования локального DNS-сервера.
Процедура зависит от версии вашей операционки и возможностей. И, как правило, выполняется через графический интерфес настройки параметров WiFi или проводного подключения.
В общем случае, нужно отменить автоматическую настройку DNS посредством DHCP и установить статический адрес DNS сервера — 127.0.0.1

4. (не обязательно) Устанавливаем другие DoH-сервера в конфигурации Stubby:

    dnsovertls.sinodun.com
    dnsovertls1.sinodun.com
    getdnsapi.net
    dns.quad9.net
    unicast.censurfridns.dk
    dnsovertls3.sinodun.com
    dnsovertls2.sinodun.com
    dns.cmrg.net
    dns.larsdebruin.net
    securedns.eu

Все!

Бонус для тех кто не в линуксе или простот ленив.
Если у вас установлен Firefox версии 60 и выше, то вы можете настроить работу DoH в нем и без установки дополнительного ПО.
На любой операционке. В том числе мобильной.

1. Вводим в адресной строке — about:config
Соглашаемся с тем что будем очень осторожны.
Получим список параметров конфигурации. С возможностью поиска по именам параметров — ищи поисковую строку вверху экрана.

2. В поисковую строку вбиваем — trr
Жмем Enter

3. Находим параметр network.trr.mode
Изменяем его значение на 2
Этот режим работает как «сначала запросим адрес сайта чере DoH, но если не получилось, то пробуем через стандартный DNS».
Если любите пожестче, то ставьте 3 — «Всегда использовать DoH и забыть о DNS»

4. Находим параметр network.trr.bootstrapAddress
Изменяем его значение на 1.1.1.1

5. (не обязательно) Можно изменить параметр network.trr.uri (адрес сервера DoH) на _ttps://dns.google.com/experimental
Но тогда отменить действия из п.4

Подробнее:
_ttps://wiki.mozilla.org/Trusted_Recursive_Resolver

Итого
Имеем возможность дополнительно, но, конечно, не полностью, обезопасить себя от произвольных блокировок и мониторинга со стороны провайдера.


Данный вид шифрования трафика не позволяет обходить блокировки ip-адресов и не создает радугу.
Не нужно пытаться настроить DoH в TorBrowser!