Как стать автором
Обновить

Почему шифрование DNS не всегда эффективно — обсуждаем экспертные мнения на этот счет

Время на прочтение3 мин
Количество просмотров10K
Всего голосов 11: ↑10 и ↓1+9
Комментарии36

Комментарии 36

плохо работает если если внутренняя сеть со своим днс
браузер пытается резолвить по шифрованному каналу, а удаленные днс локальное резолвить не могут

DoH и DoT технологии работают на уровне браузера, поэтому все не-веб сервисы локальные продолжают нормально работать. А для локальных веб-сервисов можно использовать другой браузер, «махровый»

это и есть плохо работает, что нужны костыли для данного случая

А в чём проблема? Если нужно резолвить внутренние имена, то DoH в браузере выключаете и всего делов. В большинстве случаев такая ситуация возникает в корпоративном сегменте, а там в любом случае должен быть админ, который этим рулит. И даже больше скажу - не знаю за все браузеры но Chome под Windows если понимает, что он работает на машине в домене сам выключает DoH (и вроде даже включить его даёт, но тут точно не помню). Ну а внутренний DNS уже настраиваете на общение с вышестоящим через DoH/DoT.

в этом и проблема DoH, что единственное решение для пользователя в таких случаях отключить DoH
или то что DoH не работает проблемой не является?

Если это происходит в корпоративной сети, то да - это не проблема. В этом случае не пользователя ума дело что как работает. Как я выше написал - если администратор сети считает, что DoH нужен, то он его поднимет на внутреннем DNS сервере к внешнему аплинку и весь внешний трафик будет шифроваться. Шифровать его внутри сети смысла особого нет. Но если надо, то опять же никто не мешает настроить DoH внутри периметра (если это поддерживается сервером конечно).

Собственно и с домашней сетью можно поступить аналогично если у пользователя есть соответствующие навыки (а если их нет, то и надобности резолвить внутренние имена тоже как правило нет).

те DoH на уровне браузера бесполезен, но его зачем то упорно продвигают
хотя казалось бы он должен скрывать DNS запросы даже от провайдера
но без админов провайдера его использовать невозможно
«отключайте его когда нужно резолвить внутренние имена» это костыль
Как это бесполезен? Он полезен именно тем что уже сегодня позволяет начать пользоваться DoH всем кто о нём даже не подозревает. И не дожидаясь пока реализация DoH/DoT появится в системных резолверах операционных систем и всяких бытовых роутеров.
В какой-то мере это конечно костыль. Но костыль вынужденный. Потому что реализацию вышеозначенного можно ждать годами. А в подавляющем большинстве SOHO роутеров, которые сейчас находятся в обращении, она не появится никогда.
но без админов провайдера его использовать невозможно
«отключайте его когда нужно резолвить внутренние имена» это костыль

У меня сейчас сложилось впечатление, что мы говорим про разные вещи. Вы видимо имеете в виду внутренние имена каких-то провайдерских сетей? А я говорил про внутренние имена в сетях корпоративных либо собственных (домашних). В случае внутренних провайдерских всё верно — это не будет работать. Но выход тоже есть (если очень надо). Например можно в качестве роутера поставить изделие MikroTik (вероятно в каком-нибудь OpenWrt это тоже можно). На его DNS-клиенте поднять DoH и указать домены-исключения (внутренние провайдерские домены) для которых будет использоваться другой DNS сервер (провайдерский). Во внутренней сети DoH на уровне браузера выключить, т.к. DNS-трафик уже шифруется роутером.
Сложно? Да. Но это потому что со стороны провайдеров это хреновая практика. Нужно размещать ресурсы в общем пространстве имён Интернета (доступ извне можно и не давать при этом), а не городить вот это вот. Потому что такие ресурсы отвалятся у всех кто прописал себе любой DNS отличный от провайдерского и DoH/DoT здесь вообще ни при чём.
Там где позволяет может и полезен, но я говорю про конкретный случай для которого DoH предлагают отключить. Отключенный он бесполезен. Включать его через роутер не всегда применимо, ну и поддержка DoH в браузере в этом случае, так же не нужна. В данном случае требуется список исключений, но почему-то его не добавили. Для firefox я нашел ключ network.trr.excluded-domains, но он появился не так давно, в прошлы раз когда я пробовал DoH его не было, ну и в настройки его не добавили. Для chrome найти не удалось.
Размещать в общем пространстве имен локальные ресурсы не особо хорошо. Зачем они там нужны, если доступны только в приватной сети, и часто вообще бывают временными поддоменами. В результате вроде как декларируется что достаточно включить в браузере и пользоваться, а на деле приходится отключить.
Вероятно в каком-нибудь OpenWrt это тоже можно

Можно. У меня именно так и сделано. На OpenWrt роутере стоит dnsmasq и локальный DoH (https-dns-proxy) с единственным исключением для домена провайдера (иначе в личный кабинет не зайти), остальные запросы доменов отправляются на прокси. Весь остальной трафик на 53 порт также заворачивается через iptables в прокси, на всякий случай.

Настроить не долго, а всё таки автоматический сбор информации со стороны провайдера становится сложнее. Да, при более замороченном анализе можно более менее точно восстановить историю посещения, но тут уже необходимо лишние запросы делать, а для обхода блокировок по DNS у моего провайдера этого хватает.

Раньше у меня ещё и ESNI в firefox работал исправно при обращениям к cloudflare, на котором хостится большая часть того что у нас считается запрещённым, и я вообще забыл про то что у нас в стране есть какая-то цензура и блокировки. Потом почему-то ESNI работать перестал, может разработчики из мозиллы его выключили, или поменялось что-то?
Потом почему-то ESNI работать перестал, может разработчики из мозиллы его выключили, или поменялось что-то?

ESNI был признан небезопасным и заменяется на ECH. Может по этому его и выключили? Но точно я не знаю т.к. не являюсь пользователем Firefox.
плохо работает если если внутренняя сеть со своим днс

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

А если в нутри сети BIND кеширующий стоит, с отдачей локальных зон? Есть смысл настраивать шифрование?

те пользователь в такой сети не сможет просто включить эту технологию в браузере
а сисадминам это не надо
те пользователь в такой сети не сможет просто включить эту технологию в браузере
Если используется решение с canary-доменом, то сможет, т.к. это лишь отключает DoH по умолчанию, но не препятствует явным образом включить его в настройках.
а каким образом после включения DoH будет определять какие имена резолвить обычным образом, а какие через шифрованный канал?
Например, интернет-провайдеры могут определить сайты, которые посещает клиент через протокол OCSP (RFC 6960)
Справедливости ради стоит отметить, что уже есть инструменты, позволяющие шифровать SNI — например, проект Encrypted Client Hello (ECH). Он скрывает метаданные, передающиеся во время рукопожатия, однако инструмент и его аналоги пока не получили широкого распространения
Вы меня, конечно, простите, но невозможно в популярном протоколе, развёрнутом на весь мир, начать шифровать сразу всё. Не хватит ресурсов, чтобы 1) стандартизировать; 2) заставить внедрять сразу всё; 3) ловить и исправлять баги, которых будет куда больше, чем при постепенном внедрении («одно за другим»).

У «специалистов по безопасности» есть подобный ресурс? Или только критика? Не уверен, что удастся всех завести в I2P или Yggdrasil +- за то же время.

остается пусть и очевидный, но весомый момент, связанный с IP-адресом ресурса, к которому подключается клиент
Сервисы, которым надо — прячутся в облаках.

Еще в 2019 году специалисты по информационной безопасности из Netlab обнаружили вредонос Godlua. Программа злоупотребляет особенностями DNS-over-HTTPS для проведения DDoS-атак. С помощью протокола зловред маскирует обмен данными с управляющими серверами.
Только не говорите мне, что специалисты по информационной безопасности не сталкивались с зловредами, которые получают данные о управляющих серверах через посты в Twitter или на другом популярном сайте без или с использованием стеганографии. DoH для зловредов — лишь некоторое упрощение, а не какой-то новый функционал. Ботнетами уже 2 десятка лет через Twitter управляют.
Вы меня, конечно, простите, но невозможно в популярном протоколе, развёрнутом на весь мир, начать шифровать сразу всё.
ECH не получил распространения по другой причине — он ещё очень молод. eSNI уже было успешно начал внедряться в серверное ПО, как внезапно выяснилось, что кроме SNI желательно шифровать ещё параметры PSK, т.к. там домен лежит в открытом виде при возобновлении сеанса. Не исключено, что в будущем обнаружится что-то ещё, поэтому решили шифровать ClientHello целиком, а eSNI закопать.

Вот скажу честно, более всего мне не верится в 95% сайтов, которые можно однозначно идентифицировать. То есть получается, что сайты за cloudflare, антиддосами, CDN и на shared хостингах занимают всего 5%. Очень и очень сомнительно

У меня возникло впечатление, что автор пытается убедить нас, что не надо нам это шифрование.
НЛО прилетело и опубликовало эту надпись здесь

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

Гонка вооружений в открытом виде. Причем началась она в нынешней форме не малварью, а теми, кому стало как-то неприятно, что каждое их действие логируется, от провайдера до необщительного (странного!) админа Жени и всякими NSA. Дата-майнинг туда же.

Причем я действительно не вижу другого выхода как VPN. От DNS провайдера до внедрения в HTTP-трафик рекламы (Россия, США и страны третьего мира). Они будут набирать обороты, пока их не повяжут и обяжут так же как операторов связи (понадобилось не более 15 лет, чтобы настроить и смазать машину правосудия, но в этот раз управятся менее чем за десятилетие наверно - как же так, "уходют от нами изданных законов!1"). И пока люди с люлюканьем встречают баны президентских личностей в соцсетях - i2p будет лишь временным техническим средством, пока толпу не убедят в том, что и это исчатие а-- даркнета надо признать вне закона.

Почему DNS over HTTPS, а не DNS over TLS? Зачем лишний overheard?

Знаю только одну причину: должен быть более устойчивым к блокировке. По сути на уровне DPI он (DoH трафик) должен быть неотличим от https трафика.

Но пока-что сам сижу на DoT, уже второй год пошел, три разных провайдера — никто не блокирует (пока?).

Да, вот только вангую, что подавляющий процент DoH трафика идет на 8.8.8.8 и 1.1.1.1. Поэтому заблокировать его труда не составляет.

К тому же все реализации DoH, которые я пока видел, требуют в начале резолвнуть адрес самого DoH резолвера через обычный DNS. На этом собственно разговор об устойчивости DoH к блокировкам можно и закончить.

Это конечно всё решается, но нужно к этому специально руки прикладывать. Но делалось это всё явно не для целей противодействия блокировкам.

Таки нет. В Win-10, в какой-то из патчей встроена поддержка DoH. Осталось найти локальных провайдеров DoH.
Осталось?! Это как раз основная проблема.
Если есть цель скрываться от блокировок, то нужно:
1. Собственный либо какой-то очень малоизвестный сервер. Потому что общеизвестные будут очень быстро заблокированы.
2. На клиенте не допускать утечки через классический DNS. Потому что, как я выше написал, сейчас работает это так:
Мы прописываем DoH резолвер скажем dns.google/dns-query. Клиент первым делом резолвит dns.google через классический DNS который у нас в системе прописан. И только потом начинает работать по DoH. Если прописать 8.8.8.8/dns-query, то работает далеко не всегда.

Поэтому я и говорю — «из коробки» это против блокировок не работает. Да и вряд ли оно для этого задумывалось.
Я думаю, что скоро европейские DoH сервера будут продаваться как европейские прокси — пять рублей пучок. При определённом сценарии блокировок это будет даже удобнее прокси
Я думаю, что блокировать DNS в целом мало кому интересно. Вот залезть туда любопытным носом, а ещё лучше что-то там поменять — это да.
Слышали про НСДИ (Национальная система доменных имен)?
Это сейчас Роскомнадзор активно внедряет у операторов.
После завершения внедрения этой штуки следующим шагом может быть блокировка любых иностранных DNS по признаку протокола. С DoH уже не прокатит. А с DoT прокатит, там порт другой.
Может. Эта логическая цепочка может вообще закончится на белых списках.
Я просто хочу сказать, что при разработке этих протоколов вряд ли стояла цель противодействия такого вида блокировкам. Но при определённой доле смекалки можно пытаться их для этого использовать, почему нет.
Кроме маскировки трафика действительно DoH у DoT вроде ничем не выигрывает
Статья конечно правильная, спору нет, и критика DOH верная. Но автор упускает вообще самый важный момент: Если при использовании классического DNS Вы сливали информацию по посещаемым сайтам Вашему локальному интернет-провайдеру, то после перехода на DOH — Вы будете сливать эту же информацию DOH-провайдеру — Гуглу или кому-там ещё. Что, по моему мнению — только увеличит централизацию всей интернет-движухи, и облегчит интересущимся сбор и агрегацию мета-информации о том «кто куда с чем и зачем».
Золотые слова. Как-то об этом совсем мало говориться. Просто гугл и клаудфлэр забирают у региональных провайдеров возможность обогащать свой цифровой отпечаток пользователя. Некоторые называют это приватностью, так как big-big brother это другое, более лучшее, нежели big brother.

Региональные провайдеры тоже могут внедрять DoH, но тогда возникает вопрос — «а от кого мы тогда скрываемся?» и целый ряд интересных ответов на него.

Нет приватности говорите? Ок. Зато ваш провайдер не влезет не мытым рылом в ваш DNS трафик и ничего там не поменяет.

Что мешает использовать DNS-over-QUIC?

И какой-нибудь GoodbyeDPI с подменой хедов и ип в связке с quic?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий