Компании Mozilla и Google вкладывают много сил во внедрение технологии DoH (DNS поверх HTTPS), обещая пользователям повышение безопасности и приватности. В Firefox она уже включена по умолчанию, в Chrome ее будут тестировать в версии 79, и даже в Microsoft обещают внедрить ее в Windows. Но при этом технологию многие критикуют, а Mozilla за свои старания получила номинацию на звание «интернет-злодея года». Давай разберемся в нюансах этой истории.
 

Шаткая скрепа DNS

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

Важный момент: разрабатывалась эта система еще в 1983 году, и поэтому у нее есть некоторые проблемы с безопасностью. Ведь интернет тогда, как известно, был сетью, которая связывала американские научные и военные учреждения, и подключать к ней кого попало не планировалось.

DNS-запрос и DNS-ответ в базовом устройстве системы
DNS-запрос и DNS-ответ в базовом устройстве системы

Если вкратце, то корень проблемы в том, что базовая система DNS принимает и передает любые запросы, поступающие в нее. Как во многих других решениях, которые появились на заре интернета, защиты от злонамеренного использования здесь нет. В те времена считалось, что главное — это простота и масштабируемость.

В результате появились разные методы атак на DNS-серверы (например, отравление кеша DNS или перехват DNS). Результат таких атак — перенаправление клиентских браузеров куда-то, куда пользователи попадать не собирались.

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

В общем, к 2005 году была создана версия, подходящая для широкомасштабного использования, и ее начали внедрять, распространяя по зонам интернета и DNS-серверам цепочку ключей доверия. Внедряли тоже долго — например, только к марту 2011 года была подписана зона .com.

INFO

Если хочешь подробнее разобраться, от каких угроз DNSSEC должен был защитить DNS, то можешь почитать доклад об анализе угроз того самого Инженерного совета интернета от 2004 года. Как пишут его авторы, спустя десять лет после начала работ настало время отчитаться о том, с какими проблемами и как именно мы собираемся бороться.

Но DNSSEC решает только часть проблемы — он гарантирует аутентичность и целостность данных, но не их приватность. В борьбе за эту цель логичным средством выступает шифрование. Вопрос в том, как именно его реализовать.

 

Варианты шифрования

Несколько групп разработчиков предложили свои варианты технологических решений. Среди них есть те, которые используют оригинальные способы шифрования, например DNSCrypt или DNSCurve, в котором применяется шифрование с использованием эллиптических кривых. Но решения, оказавшиеся в итоге более популярными, опираются на широко распространенный протокол безопасности TLS. Такими решениями являются DoT (DNS over TLS) и DoH, основной предмет этой статьи.

DoT, как и следует из его названия, использует для зашифрованной передачи DNS-запросов сам протокол TLS. Это влечет за собой смену основных портов и протоколов — вместо UDP по порту 53 используется TCP по порту 853.

DoH устроен иначе и по-другому использует TLS. В DoH TLS-шифрование применяется на уровне протокола HTTPS, с использованием HTTPS-запросов и обращением к HTTP-портам DNS-сервера.

Звучит сложновато? Ян Шауман рассказывает об этом очень точно и доходчиво:

Поскольку HTTPS использует TLS, можно было бы позанудствовать и подоказывать, что технически DoH — это тоже DNS через TLS. Но это было бы неверно. DoT отправляет запросы базового протокола DNS через TLS-соединение на отдельном выделенном порте. DoH использует протокол HTTP на уровне протокола прикладного уровня (HTTP application layer protocol), чтобы отправлять запросы на HTTPS-порт сервера, используя и включая все элементы обычных сообщений HTTP.

DoH: DNS-сообщения завернуты в HTTPS
DoH: DNS-сообщения завернуты в HTTPS
 

DoHодим до сути

Здесь резонно задаться вопросом: а в чем вообще тут может быть проблема? Чем больше безопасности, тем лучше, разве не так?

Ответ на этот вопрос лежит в нюансах выбранных решений, их сильных и слабых сторонах. А именно в том, как новая технология взаимодействует с разными участниками системы DNS, кого из них ее разработчики считают условно заслуживающими доверия, а кого — источниками угрозы. И речь сейчас даже не о хакерах-злоумышленниках, имеющих откровенно преступные цели.

Речь о том, что между пользовательским устройством и конечным сайтом находятся посредники. Администратор сети, файрвол, провайдер интернета — все они могут в своих интересах взаимодействовать с системой DNS, задавая своим резолверам имен DNS настройки того, какие запросы отслеживать, блокировать, модифицировать. Так можно встраивать рекламу, отсекать вредоносный контент, не пускать на определенные ресурсы...

Путь запроса от клиента до сервера может проходить через множество резолверов
Путь запроса от клиента до сервера может проходить через множество резолверов

DoT, работая через TLS с его системой сертификатов доверия, точно так же нуждается в DNS-резолвере, которому он сможет доверять. Присутствует гибкая возможность настройки списка доверенных резолверов, возможность централизованного изменения настроек в предварительно доверенной (например, корпоративной) среде, а также возможность переключаться обратно на базовый DNS, если с новой версией возникнут проблемы.

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

В общем, DoT нужно грамотно настроить, но зато он содержит некоторые крайне полезные для системных администраторов и сетевых инженеров функции. Поэтому многие из профессионалов и хвалят за это DoT.

С DoH история другая. Эта технология разрабатывалась с расчетом на пользовательские приложения, а именно — браузеры. Это ключевая деталь во всей этой истории. Означает она вот что. При использовании DoH весь трафик, который не относится к браузерам, идет через базовый DNS, но браузерный трафик при этом обходит любые настройки DNS — на уровне операционной системы, локальной сети, провайдера — и, минуя промежуточные этапы, по HTTPS попадает сразу к поддерживающему DoH резолверу DNS.

И к этой схеме есть ряд серьезных вопросов.

 

Коварные злодеи и теории заговора

Вот мы и добрались до рассказа о том, кто номинировал Mozilla в «интернет-злодеи года». Это британская Ассоциация интернет-провайдеров и британский же Фонд надзора за интернетом. Эти организации отвечают за блокировку нежелательного контента для британских пользователей интернета. В основном они борются с детской порнографией, но пиратство, экстремизм и всякий другой криминал их тоже интересует. А еще одно время они пытались запретить британским пользователям интернета BDSM-порнографию, но потерпели неудачу.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Check Also

KRACK на практике. Как работает атака на Wi-Fi с применением нашумевшей техники

Осенью 2017 года мир узнал о новой угрозе безопасности сетей Wi-Fi. Она затрагивает абсолю…

7 комментариев

  1. Аватар

    icoz

    26.11.2019 at 10:10

    То есть, если я на своем сервачке настроил банерорезку, завернул туда трафик dns через /etc/resolv.conf, то мозилла всё равно пойдет своим путём?!
    Так… В статье явно не хватает фразы, а отключается ли это поведение…

    • Аватар

      atreau

      27.11.2019 at 20:41

      В процессе работы над статьей создалось впечатление, что с этим могут быть проблемы. Mozilla дает вот такой совет: https://support.mozilla.org/en-US/kb/configuring-networks-disable-dns-over-https
      Возможно, стоило подробнее написать об этом в статье — но она все-таки носила скорее характер обзорного материала, а не инструкции для администраторов, как конкретно им настраивать свои сети.

  2. Аватар

    buravlev-arthur

    26.11.2019 at 18:43

    Проверил через Wireshark, DNS-трафика действительно нет никакого при запросах через FireFox с включенной функцией «DNS через HTTPS» в настройках. Всё капает через HTTPS вместе с остальным весьма объёмным трафиком. Раскапывать такое даже прицельно будет времязатратной задачей…

  3. Аватар

    duodai

    29.11.2019 at 07:18

    Не понял про монополизацию и эксклюзивность — что мешает настроить другие DNS-сервера на работу «over HTTPS»?

    • Андрей Письменный

      Андрей Письменный

      29.11.2019 at 13:13

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

      То есть с одной стороны, вроде бы и не критично, с другой, когда видишь, что какая-то компания потихоньку подминает под себя интернет, становится не по себе. Хотя конкретно эта история значительно менее волнующая, чем, например AMP.

  4. Аватар

    robotobor

    02.12.2019 at 07:25

    «при бомбордировках» также остаемся распределенными, меняем днс, просто doh типа более централизован, лучше чем гонять в открытую через провайдера или резолверов. Короче это не хуже, чем было, а похоливарить на тему, конечно, можно. Боишься? Тогда в тунель. все равно на каком-нибудь конце трафик открыт 🙂

Оставить мнение