Использовать dns поверх https вместо системных настроек dns что это значит
Что такое DNS поверх HTTPS и как включить его во всех браузерах?
Протокол DNS over HTTPS (DoH) в последнее время завоевал широкую популярность, особенно от некоторых ведущих интернет-браузеров и компаний, выступающих за конфиденциальность пользователей. Утверждается, что для пользователей это способ улучшить свою конфиденциальность в Интернете, отправляя свои DNS-запросы (и ответы) в зашифрованном виде. Таким образом, снижается вероятность того, что кто-либо из сторонних поставщиков услуг или интернет-провайдеров будет отслеживать и подвергаться атакам в Интернете. Тем не менее, не все, кажется, довольны новым протоколом и имеют основания для обоснования своих возражений. Но, учитывая преимущества, которые может предложить DoH, вам не помешает попробовать и проверить протокол в действии, самостоятельно. Итак, если вам интересно, вот руководство, объясняющее, что такое DNS по HTTPS, каковы его преимущества и как вы можете включить его в разных интернет-браузерах.
Что такое DNS через HTTPS (DoH)?
Чтобы понять протокол DNS через HTTPS (DoH), обычно сначала нужно понять, что такое DNS и как ваши запросы отправляются через Интернет. С точки зрения непрофессионала, DNS или Domain Name System — это децентрализованный каталог всех различных веб-сайтов в Интернете и связанных с ними IP-адресов (интернет-протоколов). Его можно рассматривать как службу, позволяющую вводить доменное имя веб-сайта (например, google.com) вместо его IP-адреса (например, 172.217.26.238), чтобы вам было легко и удобно получать доступ к различным веб-сайтам на Интернет без необходимости запоминать их IP-адреса — что в противном случае оказалось бы трудной задачей.
ИЗОБРАЖЕНИЕ: WPBeginner
Когда вы отправляете запрос на доступ, скажем, google.com, ваш интернет-провайдер получает его и отправляет запрос на подключение к серверу для сайта, к которому вы подключаетесь — в данном случае Google — чтобы получить подходящий ответ. Именно в этот момент протокол DoH вступает в игру. В общем случае запрос от интернет-провайдера на сервер веб-сайта не шифруется независимо от того, использует ли веб-сайт протокол HTTP (протокол передачи гипертекста) или HTTPS (протокол передачи гипертекста). В результате любой пользователь, находящийся между вами и конечным сервером, может отслеживать личную информацию в сети.
При наличии протокола DNS через HTTPS (DoH) весь трафик DNS между вами и сервером назначения шифруется. Таким образом, протокол позволяет передавать запросы DNS (и связанный ответ) по безопасному и зашифрованному соединению. Таким образом, предотвращение отслеживания вами и вашей онлайн-активностью в Интернете любых третьих лиц, включая вашего интернет-провайдера.
Что предлагает DNS через HTTPS (DoH) и как он работает?
Как упомянуто в предыдущем пункте, протокол DNS через HTTPS обеспечивает зашифрованный канал связи для запросов и ответов DNS, предотвращая подслушивание тех, кто любопытством следит за вашей онлайн-активностью. Имея зашифрованный канал связи, протокол гарантирует, что никто между ними не сможет отслеживать DNS-пакеты при их отправке и получении. Однако это не означает, что протокол полностью исключает любую область вторжения или отслеживания. Кроме того, протокол HTTPS (и даже DNS, в этом отношении) имеет свою долю недостатков и недостатков, которые могут быть использованы некоторыми способами для получения доступа к связи между компьютером пользователя и сервером сайта, к которому они подключены / пытаются подключиться. установить соединение с.
ИЗОБРАЖЕНИЕ: Cloudflare
Но, как и любые другие превентивные меры, которые вы принимаете, чтобы сохранить конфиденциальность и безопасность своих онлайн-данных и сохранить некоторую анонимность в Интернете, не мешает иметь дополнительный уровень безопасности для обеспечения безопасности вашей онлайн-деятельности. И именно с DNS по HTTPS это именно то, что мы пытаемся сделать — обеспечить более надежное удержание нашей онлайн-коммуникации, защищая пакеты DNS по мере их передачи и получения.
ИЗОБРАЖЕНИЕ: Chromium Blog
Переходя к своей работе, протокол DNS over HTTPS требует двух действий для совместной работы: DNS-сервер с поддержкой DoH и совместимые с DoH приложения / службы. По сути, когда приложение / служба, поддерживающая протокол DoH, отправляет запрос на сервер веб-сайта, оно отправляется в виде HTTPS-запроса на сервер DoH (или разрешается), где средство распознавания обрабатывает запрос и возвращается с ответом на приложение / сервис — все через зашифрованный канал. Зашифрованный канал, в данном случае, гарантирует (или затрудняет), что кто-то отслеживает вашу сеть (включая интернет-провайдера), не может просматривать ваши запросы, отслеживать действия и изменять ответы на маскировку под веб-сайт (к которому вы пытаетесь получить доступ) для атаки и обманывать вас в сборе ваших личных данных / информации.
Как включить DNS через HTTPS (DoH)?
DNS поверх HTTPS был впервые представлен Mozilla в браузере Firefox. Это все еще единственный браузер, который предлагает встроенную функцию, а в некоторых случаях он включен по умолчанию. Кроме того, он также дает возможность выбрать нужного поставщика DNS из списка нескольких поставщиков DNS. С другой стороны, некоторые другие популярные браузеры, особенно те, которые основаны на Chromium, не предлагают встроенную в браузер функциональность, такую как Firefox. Тем не менее, есть способ настроить и запустить протокол в этих браузерах. Поэтому, в зависимости от используемого вами браузера, выполните шаги, перечисленные ниже, чтобы включить DoH в своем браузере.
Mozilla Firefox
Если вы живете в США, Mozilla по умолчанию автоматически включает DNS через HTTPS в Firefox. Однако, если вы из какой-то другой части мира, вы можете включить это с помощью следующих шагов.
2. В окне «Настройки» прокрутите вниз до Настройки сетии оттуда нажмите на настройки кнопка.
3. Теперь в Настройки соединения всплывающее окно, прокрутите вниз и установите флажок с надписью Включить DNS через HTTPS.
4. Чтобы сменить провайдера, откройте раскрывающееся меню рядом с Используйте провайдера и выберите поставщика из списка.
5. Наконец, нажмите хорошо,
Храбрый / Google Chrome / Microsoft Edge
Если вы используете Brave, Google Chrome или Microsoft Edge, вы должны знать, что все эти браузеры принадлежат бесплатному проекту Google с открытым исходным кодом, Chromium. В качестве причины вы можете включить DNS через HTTPS в любом из этих браузеров, используя ту же процедуру. Более того, в отличие от Mozilla Firefox, Chromium как платформа не позволяет сразу включить DoH. Итак, чтобы протокол работал и работал в любом из браузеров на базе Chromium, вам необходимо использовать возможности флагов. И поскольку эти браузеры используют одну и ту же кодовую базу Chromium, включение флагов для всех трех включает в себя одинаковые шаги.
Для тех, кто не знает, флаги являются экспериментальными настройками, которые позволяют пользователям добавлять / улучшать функциональность своего браузера. Они не являются частью официальных предложений браузера и не являются явно доступными в браузере. Поскольку Brave, Microsoft Edge и Chrome основаны на Chromium, они поддерживают флаги. Чтобы включить протокол DoH, выполните шаги, указанные ниже.
1. Откройте Brave / Google Chrome / Microsoft Edge.
2. В зависимости от того, в каком браузере вы находитесь, нажмите в адресной строке и введите соответствующую команду:
я. Храбрый — храбрый: // флаги / # DNS-над-HTTPS
II. Гугл Хром — хром: // флаги / # DNS-над-HTTPS
III. Microsoft Edge — края: // флаги / # DNS-над-HTTPS
3. В отличие от Firefox, который предоставляет несколько параметров DNS в настройках браузера, если вы используете три других браузера, вам нужно изменить DNS из настроек вашего компьютера, чтобы он мог работать с DNS через HTTPS.
4. Перезапустите браузер.
Помимо браузеров на базе Chromium, если вы используете Safari для просмотра веб-страниц на своем Mac, вам не повезло. Как и в текущей версии своей операционной системы macOS Catalina, Apple не предоставляет поддержку протокола DoH в Safari или любом другом приложении / сервисе. Хотя в этом году на WWDC компания упомянула о своих планах обеспечить поддержку DNS через HTTPS в своих приложениях / службах в следующей версии MacOS, Big Sur.
К настоящему времени вы должны понимать, что такое DNS через HTTPS, как он увеличивает вашу конфиденциальность в Интернете и как включить его в разных интернет-браузерах. Оказавшись на месте, вы можете быть уверены, что теперь вы менее подвержены атакам MITM (и DNS) и можете просматривать веб-страницы с определенным умиротворением, поскольку рекламодатели по всему Интернету не отслеживают вас постоянно.
Глубокий в-DoH. Разбираемся, как работает DNS over HTTPS и кому (не) выгодно его внедрение
Содержание статьи
Шаткая скрепа DNS
Для порядка и связности изложения кратко вспомним основные понятия. Система доменных имен DNS — одна из технологий, лежащих в самой основе современного интернета. С ее помощью соотносятся числовые IP-адреса и более удобные для человека доменные имена. Она построена по принципу иерархического взаимодействия DNS-серверов.
Важный момент: разрабатывалась эта система еще в 1983 году, и поэтому у нее есть некоторые проблемы с безопасностью. Ведь интернет тогда, как известно, был сетью, которая связывала американские научные и военные учреждения, и подключать к ней кого попало не планировалось.
Если вкратце, то корень проблемы в том, что базовая система DNS принимает и передает любые запросы, поступающие в нее. Как во многих других решениях, которые появились на заре интернета, защиты от злонамеренного использования здесь нет. В те времена считалось, что главное — это простота и масштабируемость.
В результате появились разные методы атак на DNS-серверы (например, отравление кеша DNS или перехват DNS). Результат таких атак — перенаправление клиентских браузеров куда-то, куда пользователи попадать не собирались.
Для борьбы с этими бедами Инженерный совет интернета разработал набор расширений DNSSEC, который добавил к DNS-запросам подпись-аутентификацию на основе криптографии с открытым ключом. Но разрабатывался этот набор расширений очень долго. Проблема стала очевидной еще в начале девяностых, направление работы над проблемой определили к 1993 году, первую версию DNSSEC подготовили к 1997 году, попытались внедрить, стали вносить изменения.
Если хочешь подробнее разобраться, от каких угроз 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, кого из них ее разработчики считают условно заслуживающими доверия, а кого — источниками угрозы. И речь сейчас даже не о хакерах-злоумышленниках, имеющих откровенно преступные цели.
Речь о том, что между пользовательским устройством и конечным сайтом находятся посредники. Администратор сети, файрвол, провайдер интернета — все они могут в своих интересах взаимодействовать с системой DNS, задавая своим резолверам имен DNS настройки того, какие запросы отслеживать, блокировать, модифицировать. Так можно встраивать рекламу, отсекать вредоносный контент, не пускать на определенные ресурсы.
Путь запроса от клиента до сервера может проходить через множество резолверов
DoT, работая через TLS с его системой сертификатов доверия, точно так же нуждается в DNS-резолвере, которому он сможет доверять. Присутствует гибкая возможность настройки списка доверенных резолверов, возможность централизованного изменения настроек в предварительно доверенной (например, корпоративной) среде, а также возможность переключаться обратно на базовый DNS, если с новой версией возникнут проблемы.
Поскольку для DoT используется новый, выделенный порт, возможно заметить передаваемый трафик и наблюдать за его объемами, шифрование этому никак не помешает. При желании можно даже заблокировать его вовсе.
В общем, DoT нужно грамотно настроить, но зато он содержит некоторые крайне полезные для системных администраторов и сетевых инженеров функции. Поэтому многие из профессионалов и хвалят за это DoT.
С DoH история другая. Эта технология разрабатывалась с расчетом на пользовательские приложения, а именно — браузеры. Это ключевая деталь во всей этой истории. Означает она вот что. При использовании DoH весь трафик, который не относится к браузерам, идет через базовый DNS, но браузерный трафик при этом обходит любые настройки DNS — на уровне операционной системы, локальной сети, провайдера — и, минуя промежуточные этапы, по HTTPS попадает сразу к поддерживающему DoH резолверу DNS.
И к этой схеме есть ряд серьезных вопросов.
Коварные злодеи и теории заговора
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Как послать провайдера подальше, и включить DNS по HTTPS в любом браузере
Поддержка DoH уже встроена во все основные браузеры. Пользователям нужно её только включить и настроить.
Все шесть производителей основных браузеров планируют поддерживать протокол DNS по HTTPS (DoH), шифрующий DNS-трафик и помогающий усилить конфиденциальность пользователя в сети.
Этот протокол является одной из самых обсуждаемых тем этого года. Он позволяет браузеру прятать DNS-запросы и ответы внутри обычного на первый взгляд HTTPS-трафика.
Это делает DNS-трафик пользователя невидимым для сторонних наблюдателей за сетью, например, провайдеров. Однако если пользователи обожают DoH и считают его благом для конфиденциальности, провайдеры и производители средств кибербезопасности его ненавидят.
Британский провайдер назвал Mozilla «интернет-злодеем» за планы компании по внедрению DoH, а группу лоббистов от Comcast уличили в подготовке документа касательно DoH, который они планируют представить законотворцам Британии, надеясь предотвратить более широкое распространение протокола.
Однако, время уже может быть упущено. Редакция в течение недели связалась с производителями основных веб-браузеров, чтобы узнать об их будущих планах касательно DoH, и все они планируют внедрять протокол в том или ином виде.
Как включить DoH в любом браузере
Вот, что нам известно на сегодня по поводу планов производителей браузеров, связанных с DoH, и о том, как пользователи могут включить DoH в любом браузере.
Brave
«Мы очень хотим реализовать его», — сказал нам Том Лоуэнталь, менеджер продукта из Brave for Privacy & Security.
Однако у команды Brave пока нет точных сроков внедрения DoH. Они занимаются другими улучшениями, связанными с приватностью. К примеру, на этой неделе компания выпустила обновление, улучшающее распознавание скриптов, отслеживающих действия пользователей. На горизонте маячит версия Brave 1.0, и команде нужно сконцентрироваться на её выходе. Но DoH в Brave будет.
«Реализация DoH – это гораздо больше, чем простая техническая задача. Нам нужно решить, какие разумные и защитные установки мы можем включить по умолчанию для большинства людей, не задумывающихся о настройке DNS – но так, чтобы мы ничего не сломали у тех людей и организаций, что тщательно подошли к подстройке своих программ», — сказал Лоуэнталь.
Поскольку Brave основан на открытом проекте Chromium, в нём есть поддержка DoH. Однако команда пока не настроила эту поддержку. В коде она есть, но включается так, как это придумала команда авторов Google Chrome. Включить DoH в Brave можно, перейдя на следующий URL:
Chrome
Google Chrome стал вторым браузером после Firefox, добавившим поддержку DoH. Её можно включить, перейдя по следующему URL:
По-умолчанию DoH не включено для всех. Сейчас Google проводит ограниченный эксперимент с небольшим количеством пользователей, чтобы проверить, как DoH покажет себя при реальном использовании.
Поддержка DoH в Chrome отличается от Firefox, по-умолчанию перенаправляющего DoH-трафик на Cloudflare. Браузер после включения протокола будет отправлять DNS-запросы на всё те же сервера, что и ранее. Если у выбранного сервера окажется интерфейс с поддержкой DoH, тогда Chrome зашифрует DNS-трафик и отправит его на тот же DNS-сервер по протоколу DoH.
Благодаря этому Chrome не перехватывает DNS-настройки ОС – это очень ответственный подход, поскольку браузер может использоваться в условиях больших предприятий.
На текущий момент DoH в Chrome работает так:
Однако есть два способа обойти это и заставить Chrome использовать DoH постоянно и вне зависимости от настроек DNS вашего провайдера.
Во-первых, можно воспользоваться обучающим материалом по принудительному включению поддержки DoH в Chrome. Во-вторых, пользователь может настроить DNS-сервер с поддержкой DoH в своей ОС. Его можно выбрать из списка, и это гарантированно будет работать в Chrome.
В следующем году Microsoft планирует выпустить новую версию браузера Edge на основе кода Chromium. Представитель Microsoft сообщил нам, что компания поддерживает DoH, но точные планы не раскрывает. Однако, версия Edge на основе Chromium уже поддерживает DoH. Её можно включить, перейдя по URL:
Это включит поддержку DoH, но она будет работать только, если ваш компьютер использует DNS с поддержкой DoH – чего в 99% случаев не происходит. Чтобы принудительно включить DoH в Edge, вы можете воспользоваться инструкцией из следующего поста в блоге одного из программистов Edge. Адрес сервера Cloudflare можно заменить на любой другой сервер DoH, который можно выбрать по ссылке. После соответствующей настройки, Edge способен работать с DoH.
Firefox
Mozilla стала пионером этого протокола совместно с Cloudflare. Поддержка DoH уже есть в стабильных версиях Firefox. Её можно включить в настройках в разделе «Настройки сети».
Все критикуют реализацию DoH в Firefox потому, что браузер по умолчанию использует Cloudflare, перезаписывая настройки DNS.
Однако это значение можно поменять, прописав любой сервер с DoH. Из всех браузеров, поддержка протокола в Firefox реализована лучше всего, а настроить её легче всего – в основном потому, что разработчики имели с ней дело дольше остальных.
Сейчас браузер уже включает поддержку DoH по умолчанию для всех пользователей США. Поскольку британское правительство возражает против этого, для британских пользователей эта поддержка по умолчанию включена не будет.
В прошлом Mozilla не гарантировала включение DoH по умолчанию в других странах. Однако, поскольку поддержка протокола уже есть в стабильной версии браузера, пользователю остаётся лишь включить её, и всё будет работать.
Opera
Opera уже встроила поддержку DoH. По умолчанию она выключена, но её можно включить в любой момент, и всё будет работать без дополнительных шагов.
Разработчики Opera используют модуль для работы с DoH сходный с тем, что используется в Firefox, и не оставляют всё на откуп провайдерам, как Chrome. Весь трафик браузера сейчас идёт через резолвер 1.1.1.1 от Cloudflare.
Мы не нашли способа поменять его на другой, но, по крайней мере, DoH в Opera работает. Однако работать с VPN он не будет – если вам нужен DoH, то его придётся отключить.
Чтобы включить DoH в Opera, зайдите сюда:
Safari
Нет данных. Разработчики Safari обычно опаздывают на все вечеринки по добавлению новых возможностей, а Apple недавно вкладывалась в конфиденциальность пользователей, поэтому есть все шансы, что у Safari появится поддержка DoH.
Vivaldi
Представитель Vivaldi сказал, что поддержка DoH связана с реализацией Chrome. Пользователи могут включить её, перейдя по следующему URL:
Однако поскольку DoH в Vivaldi работает так же, как в Chrome, он не будет шифровать DNS-запросы, если пользователь использует DNS-сервер, указанный в ОС, и не поддерживающий шифрование.
Скорее всего, придётся добавить в настройки DNS вашей ОС один из серверов, поддерживающий DoH, чтобы эта функция заработала в Vivaldi, и использовать его постоянно. Мы смогли добиться этого, прописав в настройках DNS-сервер 1.1.1.1.
Представитель Vivaldi сказал, что в будущем поддержка DoH в браузере может поменяться, в зависимости от того, как Google будет изменять поддержку протокола в Chromium.
DNS по HTTPS – половинчатое и неверное решение
Всё время существования интернета открытость была одной из его определяющих характеристик, и большая часть сегодняшнего трафика всё ещё передаётся без какого бы то ни было шифрования. Большая часть запросов HTML-страниц и связанного с этим контента делается в простом текстовом виде [plain text], и ответы возвращаются тем же способом, несмотря на то, что протокол HTTPS существует с 1994 года.
Однако иногда возникает необходимость в безопасности и/или конфиденциальности. Хотя шифрование интернет-трафика получило широкое распространение в таких областях, как онлайн-банки и покупки, вопрос сохранения конфиденциальности во многих интернет-протоколах решался не так быстро. В частности, при запросе IP-адреса сайта по хосту DNS-запрос почти всегда передаётся открытым текстом, что позволяет всем компьютерам и провайдерам по пути запроса определить, на какой сайт вы заходите, даже если вы используете HTTPS после установления связи.
Идея о необходимости шифрования также и DNS-запросов не нова, и первые попытки этого делались ещё в 2000-х — DNSCrypt, DNS over TLS (DoT), и т.п. Mozilla, Google и другие крупные интернет-компании продвигают новый метод шифрования DNS-запросов: DNS over HTTPS (DoH).
DoH не только шифрует DNS-запрос, но и передаёт его «обычному» веб-серверу, а не DNS-серверу, благодаря чему DNS-трафик невозможно отличить от обычного HTTPS. У этой монеты есть две стороны. Эта процедура защищает сам DNS-запрос, как DNSCrypt или DoT, а также делает невозможным ребятам из служб безопасности крупных фирм отслеживать DNS-спуфинг, и переносит ответственность за критически важные функции сети с ОС в приложение. И также это никак не помогает скрыть IP-адрес веб-сайта, который вы только что запросили – ведь вы всё равно на него переходите.
По сравнению с DoT, DoH централизует информацию о посещённых вами сайтах в нескольких компаниях: на сегодня это Cloudflare, обещающая избавляться от ваших данных через 24 часа, и Google, которая намерена сохранить и монетизировать все подробности всего, что вы когда-либо планировали сделать.
DNS и конфиденциальность – важные темы, поэтому давайте углубимся в детали.
DNS-сервера и доверие
Концепция системы доменных имён восходит ещё к ARPANET, когда в единственном текстовом файле на каждом узле ARPANET – под названием HOSTS.TXT – содержалось всё соответствие названий систем, подключённых к ARPANET и их цифровых адресов. Когда вы самостоятельно пополняли этот файл, легко было убедиться в его правильности. С ростом сети стало нереально поддерживать центральную и локальные копии этих файлов. К началу 1980-х уже начались попытки создания системы автоматизации этого процесса.
Первый сервер имён (Berkeley Internet Name Domain Server или BIND) был написан в 1984 году группой студентов Калифорнийского университета в Беркли на основе RFC 882 и RFC 883. К 1987 году стандарт DNS был несколько раз пересмотрен, что привело к появлению RFC 1034 и RFC 1035, которые с тех пор по большому счёту не менялись.
Основа структуры DNS состоит в её древовидной схеме, где узлы и листья делятся на зоны. Корневая зона DNS – это верхний уровень, состоящий из тринадцати кластеров корневых серверов, формирующих официальные корневые DNS-сервера. Любой новый DNS-сервер (поднятый провайдером или компанией) получает DNS-записи по меньшей мере от одного из этих главных серверов.
DNSSEC: добавляем доверие в систему DNS
Перед тем, как перейти к шифровке DNS-запросов, нужно убедиться, что мы можем доверять DNS-серверу. Эта необходимость стала очевидной в 1990-х, и привела к появлению первых рабочих расширений стандарта безопасности DNS (DNSSEC), RFC 2353 и пересмотренного RFC 4033 (DNSSEC-bis).
Карта интернета 2006 года
DNSSEC работает, подписывая записи запросов DNS публичным ключом. Подлинность DNS-записи можно подтвердить публичными ключами корневой зоны DNS, являющейся доверенным третьим лицом в этом сценарии. Владельцы доменов генерируют свои ключи, подписываемые операторами зоны и добавляемые в DNS.
Хотя DNSSEC позволяют быть относительно уверенным в том, что ответы от DNS-сервера настоящие, этот протокол нужно включить в ОС. К сожалению, мало какие ОС реализуют сервис DNS, способный на нечто большее, чем просто «знать о наличии DNSSEC» – то есть, они на самом деле не подтверждают ответы DNS. А значит, сегодня нельзя быть уверенным в том, что получаемые вами ответы от DNS настоящие.
Проблема с DoH
Представим, что вы используете DNSSEC. Вы готовы зашифровать сообщения, чтобы добавить вашей передаче данных конфиденциальности. Причин для того, чтобы сохранить DNS-запросы в секрете от любопытных глаз, может быть много. Среди самых невинных — обход фильтров корпорации и провайдеров, запрет отслеживания интернет-привычек, и прочее. Среди более серьёзных — попытки избежать преследования со стороны правительства за выражение политических взглядов в интернете. Естественно, что шифрование DNS-запросов не даёт людям подсматривать эти запросы, однако в результате игнорируются более крупные проблемы с безопасностью DNS, и, естественно, всех остальных протоколов связи.
Основными конкурентами здесь являются DoT с использованием TLS и DoH с использованием HTTPS. Самая очевидная разница между ними – это порт: DoT работает на выделенном порту TCP 853, а DoH смешивается с другим HTTPS-трафиком на порту 443. Это даёт спорное преимущество неотличимости DNS-запросов от остального трафика, что лишает возможности операторам сети (частным и корпоративным) обезопасить собственную сеть, как в прошлом году заявил в своём твиттере один из архитекторов DNS Пол Викси.
Второе из главных отличий состоит в том, что если DoT просто отправляет DNS-запросы по TLS, то DoH по сути представляет собой DNS-over-HTTP-over-TLS, требует своего Media Type application/dns-message, и значительно всё усложняет. Смешение DoH с существующими протоколами приводит к тому, что каждый DNS-запрос и ответ проходят через стек HTTPS. Это кошмар для встроенных приложений, а также несовместимо практически со всеми существующими типами оборудования.
У DoT есть ещё одно преимущество – этот протокол уже реализован, и гораздо дольше, чем существует DoH, используется такими компаниями, как Cloudflare, Google, а также местными интернет-провайдерами; такое стандартное серверное ПО, как BIND, использует DoT прямо «из коробки». На ОС Android Pie (9-я версия) DNS через TLS будет использоваться по умолчанию, если выбранный сервер DNS поддерживает DoT.
Зачем переключаться на DoH, если DoT уже раскручивается? Если такие нестандартные приложения, как Firefox, будут обходить системную DNS на базе DoT, и использовать собственную систему получения доменных имён через DoH, то с точки зрения безопасности эта ситуация станет весьма сложной. Передача DNS на откуп отдельным приложениям, происходящая сейчас, кажется шагом назад. Известно ли вам, какой метод DNS использует каждое из приложений? Узнаете ли вы о том, что оно смешивает этот процесс с TCP-трафиком на 443-м порту?
Шифрование не препятствует слежке
За DNS over HTTPS ратуют две крупные компании, Cloudflare и Mozilla, причём последняя даже выпустила миленький комикс, где пытается объяснить схему DoH. Неудивительно, что они совершенно не упоминают DNSSEC (несмотря на то, что её называют «критически важной» в RFC 8484), и вместо этого предлагают нечто под названием Trusted Recursive Resolver (TRR), что, по сути, представляет собой совет «использовать доверенный DNS-сервер», под которым Mozilla подразумевает Cloudflare.
Кроме DoH, они упоминают стандарт QNAME minimization (RFC 7816), который должен уменьшить количество некритичной информации, отправляемой DNS-сервером. При этом этот стандарт никак не зависит от DoH и будет работать без всякого шифрования DNS. Как в случае с DNSSEC, безопасность и конфиденциальность улучшаются через эволюцию стандарта DNS.
Самое же интересное содержится в разделе «Чего не исправляет TRR + DoH»? Как уже говорили многие эксперты, шифрование DNS не препятствует отслеживанию. Любой последующий запрос к IP-адресу, который был получен ужасно секретным способом, всё равно будет ясно виден. Все всё равно будут знать, что вы зашли на Facebook.com, или на сайт для диссидентов. Никакое шифрование DNS или интернет-трафика не скроет информацию, жизненно необходимую для работы такой сети, как интернет.
Станет ли будущий интернет единой точкой отказа?
Mozilla предлагает справляться с проблемой отслеживания IP просто заявляя, что это не проблема благодаря использованию Облака. Чем больше веб-сайтов и сетей распространения контента (CDN) навесят на небольшое количество сервисов (Cloudflare, Azure, AWS, и т.п.), тем меньше будет значить этот единственный IP-адрес – нужно будет просто верить в то, что выбранный вами облачный сервис не будет воровать ваши данные и не упадёт на сутки.
В этом году 24 июня было массивное падение сервисов, когда ошибка в настройках, сделанная провайдером Verizon, привела к тому, что Cloudflare, Amazon, Linode и многие другие большую часть дня были недоступны. 2 июля этого года примерно на полчаса упал Cloudflare, а вместе с ним и многие веб-сайты, полагающиеся на его услуги.
По совпадению, облачный сервис Office365 от Microsoft тоже лежал в тот день несколько часов, из-за чего многие пользователи не смогли воспользоваться его услугами. В выходные перед днём труда [национальный праздник в США, отмечаемый в первый понедельник сентября / прим. перев.] отключение напряжения в дата-центре AWS US-East-1 привело к тому, что терабайт хранившихся там данных клиентов накрылся медным тазом. Очевидно, в идее о благе централизации интернета есть ещё какие-то недостатки.
Старые песни по-новому
Потрясающе, что во всей этой дискуссии по поводу конфиденциальности и отслеживания нет никаких упоминаний виртуальных частных сетей (VPN). Они решают проблемы с шифрованием данных и DNS-запросами, с сокрытием IP-адреса и прочим, просто перемещая точку, в которой ваш ПК или другое выходящее в интернет устройство соединяется с интернетом. Диссиденты внутри авторитарных режимов десятилетиями использовали VPN для обхода интернет-цензуры; VPN, включая такие его специальные виды, как Tor, являются критически важным элементом свободы в интернете.
Как работает Tor
Если вы доверяете большой коммерческой компании вроде Cloudflare в такой схеме, как DoH, то найти доверенного VPN-провайдера, не хранящего и не продающего ваши данные, будет легко. А в браузере Opera вообще есть бесплатная встроенная поддержка proxy, предлагающая множество преимуществ VPN.
В итоге можно сказать, что DoH подтверждает свой акроним, плохо делая то, что уже хорошо удаётся DoT [«Doh!» – восклицание, указывающее на глупость совершённого действия, особенно собственного / прим. перев.]. Нужно больше концентрироваться на повсеместном внедрении DNSSEC, совместно с DoT и минимизацией QNAME. А если вас заботит реальная конфиденциальность, то вам нужно обратиться к VPN.