OPSEC52 / Неделя 17 — Утечка DNS: с VPN всё в порядке, сдаёт вас DNS
Вы оплатили хороший VPN, трафик зашифрован, выходной IP чистый. И всё равно каждый сайт, который вы открываете, тихо объявляется открытым текстом резолверу, который вы не выбирали, — часто это резолвер вашего провайдера — с привязкой к вашему реальному абонентскому счёту. DNS — это адресная книга интернета, и если запросы утекают за пределы туннеля, туннель — это театр.
Модель угроз: ваш провайдер и его логируемый резолвер, любой DNS‑провайдер, видящий запросы в открытом виде (с меткой времени, привязкой к линии), враждебный оператор Wi‑Fi с перехватывающим резолвером и аналитик, которому нужен лишь список имён, которые вы запрашивали, чтобы восстановить ваш вечер. Утёкший запрос — это метаданные, а метаданные переживают шифрование.
Простые 20%, которые все делают правильно
Включаете VPN, видите новый IP на whatismyip, чувствуете себя в безопасности. Это простая часть, и она действительно необходима — но она прячет только то, откуда выходят пакеты. DNS — отдельный вопрос: прежде чем браузер откроет соединение с сайтом, он спрашивает: «какой IP у этого имени?». Если этот вопрос уходит не тому резолверу или за пределы шифрованного туннеля, выходной IP уже не важен. У кого‑то уже есть открытый лог с меткой времени: эта линия запрашивала такие‑то домены в такое‑то время.
Почему запрос утекает даже с поднятым VPN
Три типичных сбоя, ни один не очевиден:
- Раздельный туннель / «залипший» системный резолвер. ОС закэшировала DNS‑сервер ещё до подъёма туннеля (провайдерский или роутера из кафе) и продолжает им пользоваться. VPN перенёс ваш трафик; ОС так и не перенесла запросы.
- Побег через IPv6. VPN туннелирует IPv4, но у машины есть родной IPv6. Браузер предпочитает IPv6, резолвит и подключается по нему — прямо мимо туннеля. Это самая частая утечка из серии «но у меня же был VPN».
- WebRTC и резолверы уровня приложений. Браузеры и часть приложений сами разрешают имена или раскрывают ваши реальные локальные адреса через WebRTC, обходя настройки ОС.
Признак незаметен: всё работает, страницы грузятся, и ничто не подталкивает проверить. Утечка по своей природе тиха.
Исправление, по порядку отдачи
- Заставьте DNS идти через туннель. Надёжный VPN‑клиент разрешает DNS внутри туннеля через резолвер самого провайдера и блокирует любой другой DNS. Mullvad, IVPN и Proton делают так по умолчанию — убедитесь, что опция есть и включена, не полагайтесь на догадки.
- Шифруйте сам запрос — DoH / DoT. DNS‑over‑HTTPS или DNS‑over‑TLS оборачивают запрос, чтобы сеть не могла его ни прочитать, ни подделать. Полезно, но поймите компромисс: это прячет запрос от провайдера и передаёт эту видимость тому, кто держит шифрованный резолвер. Шифрование — не анонимность: выбирайте резолвер, которому вы правда доверили бы список своего сёрфинга (Quad9, Mullvad DNS), а не тот, что на нём зарабатывает.
- Отключите IPv6, если VPN его не несёт. Если клиент не умеет туннелировать IPv6, отключите IPv6 на интерфейсе целиком. Отключённый протокол не утечёт.
- Kill‑switch без утечек. Клиент должен обрубать весь трафик — включая DNS — в тот же миг, как туннель падает, а не откатываться на локальный резолвер.
Проверяйте — не верьте маркетингу
Считайте, что утечка есть, пока не доказали обратное. Откройте тест на утечку DNS (dnsleaktest.com, страница проверки самого Mullvad) с поднятым VPN и посмотрите, какие резолверы отвечают. Если видите своего провайдера, свой город или любой сервер, который вы не выбирали, — туннель течёт. Перепроверяйте после каждого обновления ОС и в каждой новой сети: обновление Windows или macOS может тихо сбросить настройки резолвера, а Wi‑Fi с кэптив‑порталом с радостью подсунет свой.
Уголок приватных монет
Именно поэтому публика прозрачных блокчейнов недооценивает сетевые метаданные. Можно иметь идеально чистый ончейн‑след и всё равно связать ваш кошелёк, ваш узел и привычки к блок‑эксплореру через утёкший DNS — каждый запрос к xmrchain.net или к бирже это имя в чьём‑то логе. Если пустить трафик кошелька и узла через Tor (или через туннель без утечек с принудительным DNS), эта поверхность корреляции закрывается. Купить без KYC — это ончейн‑половина; не сообщать провайдеру о каждом сервисе, которого вы касаетесь, — сетевая половина. Обе или никакой.
Одно действие на сегодня: поднимите VPN, откройте тест на утечку DNS и реально посмотрите, какие резолверы отвечают. Если среди них ваш провайдер — значит, вы всё это время, считая себя защищённым, сливали весь список своего сёрфинга. Исправьте настройку DNS в клиенте, отключите IPv6, если он не туннелируется, и перепроверьте.
Куратор — Cyber Satoshi. Часть OPSEC52 — 52 недели, 52 столпа приватности, сперва модель угроз. См. также Неделю 1 (дисциплина выходов VPN) и Неделю 5 (компартментализация браузера).