Разобраться
Что такое утечка DNS или WebRTC?
Утечка DNS — это запрос имени сайта, который проскальзывает мимо вашего инструмента приватности: сеть по-прежнему узнаёт, какие сайты вы открываете, даже когда соединение выглядит зашифрованным. Утечка WebRTC — это когда браузер отдаёт странице ваш настоящий IP-адрес через функцию, созданную для видеозвонков. Обе выдают то, что вы считали скрытым, и ни одна не видна на экране.
Вы за школьным Chromebook, куда ничего не установить, или за рабочим ноутбуком, где настройками распоряжается кто-то другой. Вы берёте прокси или инструмент приватности, чтобы разблокировать сайт, страница загружается — и кажется, что блокировки больше нет. А теперь неприятная часть. 2 тихих канала в браузере всё ещё могут выдать, куда вы идёте и кто вы, и ни один не мигнёт предупреждением. Они называются утечкой 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. Адрес цели закодирован внутри пути, поэтому браузер обращается только к TrickyBird, а имя нужного сайта в DNS не запрашивает. Имя нужного вам сайта разрешается на нашей стороне, а не на вашем устройстве. Проще говоря, имя хоста цели не попадает в DNS-запросы, которые браузер отправляет в окружающую сеть. Если ваш вопрос — «скрывает ли веб-прокси мой IP и держит ли имена сайтов подальше от локального резолвера», то ровно эту работу схема и делает. Это та же нулевая утечка домена, которая держит имя цели вне адресной строки и вне страницы (какие сайты сейчас открываются чисто — на /status). Скачивать нечего, приложения нет — а это и важно, когда блокировка стоит на устройстве, которое не даст ничего установить.
Есть один честный предел, о котором стоит сказать прямо. Самому шлюзу всё равно нужно разрешить имя цели и подключиться к ней, чтобы её загрузить, так что этот участок не скрыт. Мы храним о нём намеренно маленькую запись: усечённый 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 ведёт себя почти как настольный. Так что если вы спрашиваете, утекает ли iOS через WebRTC, — может, просто не так свободно, как настольный браузер.
У DNS есть своя настройка на уровне браузера, о которой стоит упомянуть. DNS over HTTPS, или DoH, отправляет ваши запросы к резолверу по зашифрованному каналу вместо стандартного сетевого — с неё многие и начинают, впервые прочитав об утечках DNS. Ничто из этого не заменяет проверку. Это рычаги: попробовать, а потом убедиться.
Как проверить утечку DNS или WebRTC
Верить рекламной строчке не нужно, да и не должны вы этого делать. Тест на утечки занимает около минуты. Откройте страницу проверки утечек DNS и WebRTC — нейтральный сервис вроде browserleaks.com или ipleak.net — и она покажет, к каким резолверам уходят ваши запросы и какой публичный IP видит за вами страница, включая WebRTC.
Сделайте это один раз в той сети, которая вам действительно важна. Если в списке резолвер вашего провайдера или локальной сети — DNS утекает. Если показанный публичный IP — ваш собственный адрес, его раскрывает WebRTC или само соединение. Включите свой инструмент и прогоните ту же проверку ещё раз, чтобы увидеть, изменились ли цифры.
Страница /proof у TrickyBird проверяет другое, и их лучше не смешивать. Она показывает, что адрес сайта, который вы открываете, никогда не появляется в адресной строке, в исходном коде страницы и в заголовках Referer и Origin, которые отправляет ваш браузер. Это проверка на утечку домена, а не тест DNS или WebRTC: она не показывает IP и не говорит, раскрывает ли WebRTC ваш. Для этого воспользуйтесь одной из страниц проверки утечек выше и отключите WebRTC в браузере. Инструмент, которым стоит пользоваться, — тот, что выдерживает проверку, когда кто-то открывает панель разработчика и смотрит сам. Тот же критерий стоит применять к любому бесплатному веб-прокси, включая наш.
Смежные материалы
Читайте дальше, если хотите разобраться в основе под этой темой.
Коротко
Утечка DNS показывает, куда вы идёте, а утечка WebRTC может показать, кто вы, поэтому проверяйте обе сами, а не доверяйте одному обещанию.
Откройте любой сайт.
Вставьте ссылку — и сайт откроется в этой вкладке. Он не появится ни в URL, ни на странице. Аккаунт не нужен.
Вопросы
- Останавливает ли VPN утечки DNS и WebRTC?
- Одни останавливают, другие нет. VPN может вести ваш DNS через собственные резолверы, но немало конфигураций сливают запрос обратно в локальную сеть, а WebRTC раскрывал настоящие IP-адреса даже при включённом VPN. Относитесь к «защите от утечек» как к утверждению, которое надо проверить: посмотрите, чем прокси и VPN расходятся ровно в этом, а затем прогоните проверку на утечки сами.
- Может ли сайт увидеть мой настоящий IP через WebRTC, если я пользуюсь прокси?
- Да. WebRTC работает своим собственным путём, который TrickyBird не перехватывает, поэтому страница, использующая его, может получить ваш настоящий IP даже через прокси. Это единственная брешь, которую прокси с переписыванием не закрывает за вас. Отключите WebRTC в браузере, затем запустите тест на утечку WebRTC, чтобы убедиться, что её больше нет.
- Останавливает ли TrickyBird утечки DNS?
- Когда вы открываете сайт через TrickyBird, браузер никогда не запрашивает имя хоста цели, поэтому оно не попадает в DNS-запросы, которые устройство отправляет в сеть. Шлюз разрешает имя цели на своей стороне и хранит короткоживущую запись: усечённый IP и имя хоста назначения — не дольше 48 часов. Это ограниченное утверждение, которое можно проверить; полная политика — на /security.
- Как проверить, есть ли у меня утечка?
- Откройте страницу проверки утечек DNS и WebRTC в той сети, которая вам важна, — например browserleaks.com или ipleak.net. Она покажет, к каким резолверам уходят ваши запросы и какой публичный IP видит страница, включая WebRTC. Если резолвер принадлежит вашему провайдеру или сети, а показанный IP — ваш собственный, утечка есть. Страница /proof у TrickyBird — это отдельная проверка только на утечку домена, и для этого она не предназначена.