Безопасность DNS: DoH и DoT
Узнайте, почему DNS уязвим с точки зрения конфиденциальности и как DNS-over-HTTPS и DNS-over-TLS защищают запросы
«Безопасность DNS: DoH и DoT» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.
DNS-запросы передаются в открытом виде
Система доменных имён переводит понятные человеку доменные имена в IP-адреса. Стандартные DNS-запросы используют UDP на порту 53 и передаются полностью незашифрованными. Каждое доменное имя, которое запрашивает Ваше устройство, видят Ваш маршрутизатор, Ваш ISP и любой, кто способен отслеживать путь передачи данных. Это означает, что Ваша активность при просмотре веб-страниц раскрыта, даже если каждый посещаемый Вами веб-сайт использует HTTPS.
Интернет-провайдеры регистрируют все DNS-запросы
Интернет-провайдеры обычно регистрируют DNS-запросы всех клиентов для мониторинга сети и соблюдения законов о хранении данных во многих юрисдикциях. Этот журнал представляет собой подробную запись каждого посещённого веб-сайта, времени каждого посещения и частоты обращений. Интернет-провайдеры продавали эти данные рекламодателям и отвечали на запросы государственных органов, предоставляя историю посещений абонентов, составленную только на основе журналов DNS.
Атаки с подменой DNS
Злоумышленник, способный перехватывать или перенаправлять DNS-трафик, может подделывать ответы и направлять пользователей на вредоносные серверы. Подмена DNS может происходить на уровне маршрутизатора, если он взломан, через поддельные DHCP-серверы, предоставляющие контролируемые злоумышленником адреса серверов DNS, или за счёт перенаправления на уровне ISP. Пользователи, вводящие настоящее доменное имя, могут незаметно попасть на фишинговый сайт, не получив никаких признаков перенаправления.
Внедрение DNS через поддельный DHCP
Когда устройство подключается к сети, оно запрашивает конфигурацию по DHCP, который предоставляет IP-адрес, шлюз и сервер DNS. Злоумышленник в локальной сети, запустивший поддельный DHCP-сервер, может ответить быстрее настоящего сервера и предоставить адрес собственного сервера DNS. Все последующие DNS-запросы жертвы направляются к серверу злоумышленника, что позволяет ему отслеживать запросы и изменять ответы на протяжении всего сеанса.
Отравление кэша DNS: атака Каминского
В 2008 году исследователь Дэн Каминский раскрыл критическую уязвимость DNS. Отправляя тысячи поддельных ответов DNS со случайными идентификаторами транзакций, злоумышленник мог статистически отравить кэш сервера разрешения имён до получения настоящего ответа. Это известно как отравление кэша по принципу атаки «дня рождения». Отравленный кэш перенаправляет всех пользователей этого сервера на IP-адреса, контролируемые злоумышленником, для отравленного домена.
DNSSEC: криптографическая аутентификация DNS
DNSSEC (расширения безопасности DNS) предотвращает отравление кэша и подделку ответов, добавляя к записям DNS криптографические подписи. Каждая DNS-зона подписывает свои записи закрытым ключом; серверы разрешения имён проверяют подписи с помощью соответствующего открытого ключа, опубликованного в записях DNSKEY. Поддельный или изменённый ответ не пройдёт проверку подписи и будет отклонён. DNSSEC создаёт цепочку доверия от корневой зоны DNS до записей отдельных доменов.
DNS поверх TLS: шифрование запросов
DNS поверх TLS (DoT) передаёт DNS-запросы внутри стандартного TLS-соединения на порту 853. Сервер разрешения имён и клиент выполняют рукопожатие TLS до отправки любых DNS-запросов, шифруя и запрос, включая доменное имя, и ответ. DoT предотвращает пассивное наблюдение со стороны ISP и наблюдателей в сети. Использование отдельного порта 853 позволяет межсетевым экранам распознавать этот трафик, поэтому некоторые сети используют его для блокировки DoT.
DNS поверх HTTPS: маскировка под веб-трафик
DNS поверх HTTPS (DoH) кодирует DNS-запросы как HTTPS-запросы на порту 443 — том же порту, который используется для всего веб-трафика. Поскольку трафик DoH неотличим от обычного HTTPS-трафика, межсетевые экраны не могут легко его блокировать, не блокируя одновременно весь HTTPS-трафик. DoH изначально поддерживается в Firefox, Chrome и Windows 11; такие поставщики, как Cloudflare (1.1.1.1) и Google (8.8.8.8), предлагают конечные точки DoH.
Преимущества шифрования DNS для конфиденциальности
При использовании DoH или DoT DNS-запросы шифруются при передаче между устройством и сервером DNS. ISP не может прочитать или зарегистрировать отдельные доменные имена, которые Вы запрашиваете. Атаки с поддельным DHCP не могут внедрить сервер разрешения имён, читающий Ваш трафик, поскольку адрес доверенного сервера задан непосредственно в настройках. Сетевые злоумышленники не могут выполнить подмену DNS посредством пассивного перехвата. Однако сам сервер разрешения имён по-прежнему видит все Ваши запросы.
Сопротивление интернет-провайдеров DoH и спор о стандартизации
Интернет-провайдеры выступали против обязательного внедрения DoH, поскольку это переносит видимость DNS от ISP к небольшому числу серверов разрешения имён крупных технологических компаний. Интернет-провайдеры в UK жаловались парламенту, что DoH помешает фильтрации для родительского контроля. Сетевые администраторы утверждают, что централизованный DoH нарушает корпоративные политики DNS и конфигурации DNS с разделённой зоной видимости. IETF стандартизировал DoH в RFC 8484, но политика его внедрения остаётся спорной.
Проблемы внедрения DNSSEC
DNSSEC требует, чтобы владелец домена подписал свою зону, а сервер разрешения имён выполнял проверку. Смена ключей подписи без перерыва в работе службы сложна и уже приводила к сбоям у крупных доменов верхнего уровня. Неправильно настроенный DNSSEC может сделать домен полностью недоступным. Домены верхнего уровня .com и .net поддерживают DNSSEC, но подписана лишь меньшая часть отдельных доменов. DNSSEC не шифрует запросы; конфиденциальность запросов обеспечивают только DoH и DoT.
DNS поверх HTTPS
Почему в средах, где ограничительные межсетевые экраны блокируют нестандартные порты, предпочтительнее DoH, а не DoT?
Безопасность DNS: основные выводы
Стандартный DNS через UDP-порт 53 не шифруется, а интернет-провайдеры ведут журналы этих запросов. Атаки с подменой DNS и отравлением кэша Каминского используют эту уязвимость. DNSSEC добавляет криптографические подписи для предотвращения подделки ответов, но не шифрует запросы. DoT на порту 853 и DoH на порту 443 шифруют DNS-запросы при передаче. DoH труднее блокировать, чем DoT. Зашифрованный DNS переносит доверие от ISP к операторам серверов разрешения имён, но не устраняет необходимость доверять.
Изучай Cryptology Academy с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 67
- Уроки
- 261
Часто задаваемые вопросы
Урок «Безопасность DNS: DoH и DoT» бесплатный?
Да — полный текст урока «Безопасность DNS: DoH и DoT» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.
Чему я научусь в уроке «Безопасность DNS: DoH и DoT»?
Узнайте, почему DNS уязвим с точки зрения конфиденциальности и как DNS-over-HTTPS и DNS-over-TLS защищают запросы Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cryptology Academy?
Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Безопасность DNS: DoH и DoT»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cryptology Academy?
Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Протоколы с открытым текстом: что видят злоумышленники
- Как работает перехват пакетов
- Анализ зашифрованного трафика
- Безопасность DNS: DoH и DoT