Перейти к содержимому

Разобраться

Что такое утечка DNS или WebRTC?

Утечка DNS — это запрос имени сайта, который проскальзывает мимо вашего инструмента приватности: сеть по‑прежнему узнаёт, какие сайты вы открываете, даже когда соединение выглядит зашифрованным. Утечка WebRTC — это когда браузер отдаёт странице ваш настоящий IP‑адрес через функцию, созданную для видеозвонков. Обе выдают то, что вы считали скрытым, и ни одна не видна на экране.

Вы за управляемым ноутбуком: ничего не установить, а настройками распоряжается кто‑то другой. Вы берёте прокси или другое средство защиты приватности, чтобы разблокировать сайт, страница загружается — и кажется, что блокировки больше нет. Но есть неприятная деталь: 2 незаметных канала в браузере всё ещё могут выдать, куда вы заходите и кто вы, и ни один из них ни о чём не предупредит. Они называются утечкой DNS и утечкой WebRTC. В обеих стоит разобраться, прежде чем доверить какому‑либо инструменту что‑то важное.

Страница идёт через прокси, но DNS и WebRTC — это отдельные каналы, которые всё ещё могут вас выдать.

Что такое утечка DNS?

Считайте DNS телефонной книгой интернета. Когда вы вводите веб‑адрес, одного имени устройству мало: ему нужно превратить имя в число, IP‑адрес, и для этого оно спрашивает DNS‑резолвер. В большинстве сетей резолвер принадлежит тому, кто держит сеть: дома это ваш провайдер, на работе — ИТ‑отдел.

Так маленький запрос «где находится example.com?» уходит на сервер, который вы не контролируете, и несёт с собой имя сайта, который вы собираетесь открыть. Утечка DNS — это когда такой запрос ускользает мимо защиты, которая, как вы думали, вас прикрывает. Сам трафик может быть зашифрован, но если запрос имени по‑прежнему уходит к резолверу сети, сеть так и узнаёт имя каждого сайта, куда вы заходите.

Посмотрим, что именно утекает. Утечка DNS не раскрывает, что вы отправили или прочитали. Она раскрывает, куда вы заходили, а для многих это и есть самое личное.

Что такое утечка WebRTC и почему она раскрывает ваш IP?

WebRTC — это набор функций, встроенных в каждый современный браузер, чтобы видеозвонки, голосовой чат и часть прямого обмена файлами работали без отдельного приложения. Чтобы соединить 2 собеседников, WebRTC сначала должен выяснить адреса, по которым доступна каждая сторона. Он собирает адреса‑кандидаты, включая локальный сетевой адрес вашего устройства и — с помощью так называемого STUN‑сервера — ваш публичный IP.

Загвоздка в том, что этот сбор адресов может запускаться прямо из JavaScript на странице и уходить своим путём, а не тем, которым идут остальные ваши инструменты. Страница может тихо спросить браузер: «какой настоящий IP у этого посетителя?» — и получить ответ, даже когда основное соединение выглядит наглухо закрытым.

Это и есть утечка WebRTC. Она может отдать странице ваш настоящий IP‑адрес через функцию, которую вы никогда не включали, — именно на этом и попадались люди, считавшие, что один инструмент их прикрыл.

Почему утечки DNS и WebRTC важны для приватности?

Сравните их. Утечка DNS сообщает сети имена сайтов, на которые вы заходите. Утечка WebRTC сообщает сайту число, которое идентифицирует ваше соединение. Если вы на устройстве или в сети, которыми управляет кто‑то другой, важнее всего именно эти утечки.

За прокси или инструмент приватности вы берётесь как раз затем, чтобы оставить один из этих 2 фактов при себе. Утечка в любом из каналов сводит эти усилия на нет без единого сигнала. Ничто не выглядит сломанным. Страница всё так же загружается. Вы просто отдали больше, чем собирались.

  • Утечка DNS: утекает имя сайта, видит его сеть (провайдер или локальный резолвер), а ловится она тестом на утечку DNS.
  • Утечка WebRTC: утекает ваш настоящий IP‑адрес, видит его страница, которую вы открыли, а ловится она тестом на утечку WebRTC.

Останавливает ли веб‑прокси утечки DNS?

Здесь веб‑прокси с переписыванием и показывает свою пользу, и здесь же стоит точно понимать, что он делает, а чего нет.

Когда вы открываете сайт через TrickyBird, на самом деле вы загружаете адрес TrickyBird. Адрес цели закодирован внутри пути, а имя сайта мы разрешаем на своей стороне: ваше устройство запрашивает наш адрес. Вот что здесь делает для вас веб‑прокси: он скрывает ваш IP от сайта, который вы открываете, а имя этого сайта разрешает на своей стороне. Это та же нулевая утечка домена: везде, где адрес цели приходится передавать, он передаётся закодированным, а не написанным в явном виде (а какие сайты сейчас открываются без сбоев, показывает страница статуса). Скачивать нечего, приложения нет — а это и важно, когда блокировка стоит на устройстве, которое не даст ничего установить.

Есть одно ограничение, о котором стоит сказать прямо. Самому шлюзу всё равно нужно разрешить имя цели и подключиться к ней, чтобы её загрузить, так что этот участок не скрыт. Мы храним о нём намеренно маленькую запись: усечённый IP‑адрес, обрезанный до /24 или /48, чтобы он указывал на квартал, а не на конкретный дом, плюс имя хоста назначения и базовые сведения об ответе — не дольше 48 часов. Полные сроки хранения и удаления — на /security. Запись минимальная и хранится недолго, и суть в том, что вы можете проверить это сами, а не верить нам на слово. Безоговорочное обещание, которое вам нечем проверить, — совсем другое дело. Сравните политики.

Останавливает ли веб‑прокси утечки WebRTC?

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

Поэтому относитесь к WebRTC как к тому, что вы отключаете сами, а не как к тому, чем занимается прокси за вас. Отключите его в браузере по шагам ниже, а затем запустите тест на утечку WebRTC на том самом устройстве и в той самой сети, которые вам важны, чтобы убедиться, что ваш настоящий IP больше не виден. Лучше проверить это самому, чем доверять любому заявлению, включая это.

Можно ли отключить WebRTC в браузере?

Полагаться на один‑единственный инструмент необязательно. WebRTC можно ограничить и на уровне браузера, и стоит знать как. В Firefox откройте about:config и выставьте media.peerconnection.enabled в false — функция выключится. В Chrome встроенного переключателя нет, поэтому обычно берут проверенное расширение, блокирующее WebRTC, хотя на управляемом устройстве добавить его могут и не разрешить.

На мобильных устройствах картина зависит от платформы. Safari на iOS строже ограничивает то, что WebRTC отдаёт странице, а Chrome на Android ведёт себя почти так же, как на компьютере. Так что если вы спрашиваете, возможна ли утечка через WebRTC на iOS, — возможна, просто не так легко, как на компьютере.

У DNS есть своя настройка на уровне браузера, о которой стоит упомянуть. DNS over HTTPS, или DoH, отправляет ваши запросы к резолверу по зашифрованному каналу вместо стандартного сетевого — с неё многие и начинают, впервые прочитав об утечках DNS. Ничто из этого не заменяет проверку: попробуйте, а потом убедитесь, что сработало.

Как проверить утечку DNS или WebRTC

Верить рекламной строчке не нужно, да и не стоит. Тест на утечки занимает около минуты. Откройте страницу проверки утечек DNS и WebRTC — нейтральный сервис вроде browserleaks.com или ipleak.net — и она покажет, к каким резолверам уходят ваши запросы и какой публичный IP видит за вами страница, включая WebRTC.

Сделайте это один раз в той сети, которая вам действительно важна. Если в списке резолвер вашего провайдера или локальной сети — DNS утекает. Если показанный публичный IP — ваш собственный адрес, его раскрывает WebRTC или само соединение. Включите свой инструмент и прогоните ту же проверку ещё раз, чтобы увидеть, изменились ли цифры.

Страница TrickyBird «Проверка утечек» (/proof) проверяет другое, и их лучше не смешивать. Она по шагам показывает, где на самом деле оказывается адрес сайта, который вы открываете: в адресной строке и в заголовках Referer и Origin он закодирован в нашем адресе, а не написан в явном виде, а в исходном коде страницы он выписан в одном месте, которое страница вам называет. Это проверка на утечку домена, а не тест DNS или WebRTC: она не показывает IP и не говорит, раскрывает ли WebRTC ваш. Для этого воспользуйтесь одной из страниц проверки утечек выше и отключите WebRTC в браузере. Пользоваться стоит тем сервисом, который выдерживает проверку, когда кто‑то открывает инструменты разработчика и смотрит сам. Тот же критерий стоит применять к любому бесплатному веб‑прокси, включая наш.

Смежные материалы

Коротко

Утечка DNS показывает, куда вы идёте, а утечка WebRTC может показать, кто вы, поэтому проверяйте обе сами, а не доверяйте одному обещанию.

Вопросы

Останавливает ли VPN утечки DNS и WebRTC?
Одни останавливают, другие нет. VPN может вести ваш DNS через собственные резолверы, но немало конфигураций сливают запрос обратно в локальную сеть, а WebRTC раскрывал настоящие IP‑адреса даже при включённом VPN. Относитесь к «защите от утечек» как к утверждению, которое надо проверить: посмотрите, чем прокси и VPN различаются именно здесь, а затем прогоните проверку на утечки сами.
Может ли сайт увидеть мой настоящий IP через WebRTC, если я пользуюсь прокси?
Да. WebRTC идёт своим путём, который TrickyBird не перехватывает, поэтому страница, использующая его, может получить ваш настоящий IP даже через прокси. Это единственная брешь, которую прокси с переписыванием не закрывает за вас. Отключите WebRTC в браузере, затем запустите тест на утечку WebRTC, чтобы убедиться, что её больше нет.
Останавливает ли TrickyBird утечки DNS?
Когда вы открываете сайт через TrickyBird, ваше устройство запрашивает наш адрес. Наш шлюз разрешает имя цели на своей стороне и ненадолго сохраняет запись: усечённый IP и имя хоста назначения — не дольше 48 часов. Утверждение скромное, зато его можно проверить; полная политика — на странице о безопасности.
Как проверить, есть ли у меня утечка?
Откройте страницу проверки утечек DNS и WebRTC в той сети, которая вам важна, — например browserleaks.com или ipleak.net. Она покажет, к каким резолверам уходят ваши запросы и какой публичный IP видит страница, включая WebRTC. Если резолвер принадлежит вашему провайдеру или сети, а показанный IP — ваш собственный, утечка есть. Страница TrickyBird «Проверка утечек» (/proof) для этого не подходит: она проверяет только утечку домена.