Проверка утечки WebRTC
WebRTC позволяет браузеру узнавать собственные сетевые адреса, чтобы устанавливать звонки и видеочаты, — и любой сайт может запустить это определение незаметно. Этот тест показывает, какие именно адреса раскрывает ваш браузер и не является ли один из них вашим реальным адресом за VPN или прокси.
Ваш браузер собирает ICE-кандидатов через наш собственный STUN-сервер; каждый публичный адрес в них сравнивается с адресом, который сайты видят по HTTP.
Проверка
| Тип | Адрес | Порт | Протокол | Семейство | Область |
|---|---|---|---|---|---|
| srflx | 203.0.113.5 | 51234 | udp | IPv4 | public |
Исправление для вашего браузера
Chrome
- В настройках Chrome переключателя нет. Установите расширение, задающее политику обработки IP для WebRTC, — например, собственный «WebRTC Network Limiter» от Google — и выберите «Disable non-proxied UDP» (там это описано как использование прокси-сервера с принудительным UDP через него или откатом на TCP).
- Или используйте расширение вашего VPN-провайдера, если в нём есть защита WebRTC, а на управляемом устройстве — политику WebRtcIPHandling (значение disable_non_proxied_udp; Chrome 135+ также принимает правила для отдельных сайтов через WebRtcIPHandlingUrl).
- Локальные адреса уже скрыты: Chrome 74+ заменяет их именами mDNS. В Chrome для Android и iOS такой настройки нет; полагайтесь на kill switch приложения VPN.
- Запустите этот тест заново.
Firefox
- Откройте about:config и примите предупреждение.
- Установите media.peerconnection.ice.default_address_only в true, чтобы использовался только маршрут по умолчанию (VPN, пока он подключён), и media.peerconnection.ice.no_host в true, чтобы убрать локальные адреса.
- Если вы работаете через прокси, установите также media.peerconnection.ice.proxy_only_if_behind_proxy в true, чтобы WebRTC шёл через прокси или не работал вовсе.
- Чтобы полностью отключить WebRTC, установите media.peerconnection.enabled в false (звонки в браузере перестанут работать). Firefox уже скрывает локальные адреса за именами mDNS.
- Запустите этот тест заново.
Safari
- В Safari переключателя WebRTC нет. Он выдаёт STUN-кандидата (server-reflexive) без запроса разрешения, а локальных кандидатов — в виде имён mDNS — раскрывает только после того, как сайт получит доступ к камере или микрофону.
- Поэтому утечка здесь означает, что UDP вышел из туннеля VPN: используйте VPN с kill switch и поддержкой IPv6 и не полагайтесь на прокси для анонимности (они никогда не переносят UDP).
- На iPhone и iPad режим блокировки (Настройки › Конфиденциальность и безопасность) полностью отключает WebRTC, что тоже останавливает утечку.
- Не включайте Разработка › WebRTC › Disable ICE Candidate Restrictions: это опция для разработчиков, которая раскрывает больше, а не меньше.
- Запустите этот тест заново.
Edge
- В Edge пользовательского переключателя тоже нет. Используйте расширение, которое ставит политику обработки IP для WebRTC в «Disable non-proxied UDP», или расширение вашего VPN-провайдера.
- На управляемых устройствах задайте политику WebRtcLocalhostIpHandling или в Edge 135+ — WebRtcIPHandlingUrl с обработкой disable_non_proxied_udp для шаблона *.
- В Edge на Android и iOS это изменить нельзя; используйте защиту от утечек в приложении VPN.
- Запустите этот тест заново.
Brave
- Откройте Настройки › Конфиденциальность и безопасность (brave://settings/privacy).
- В пункте «Политика обработки IP для WebRTC» выберите «Disable non-proxied UDP». «Default public interface only» тоже предотвращает раскрытие локальных адресов, сохраняя UDP.
- Brave Shields с включённой защитой от отпечатков уже применяет политику non-proxied UDP; та же опция есть в Brave для Android в Настройки › Конфиденциальность и безопасность.
- Запустите этот тест заново.
Другие браузеры
- Браузеры на Chromium (Opera, Vivaldi, Samsung Internet) принимают те же расширения и политику WebRtcIPHandling, что и Chrome.
- Если настройки нет, решение — kill switch или опция «блокировать WebRTC» в приложении VPN.
- Запустите этот тест заново.
После изменения настройки запустите тест снова: результат должен быть «Нет утечки» или «Заблокировано».
Запустить проверку утечки WebRTC
Тест выполняется в вашем браузере. Он открывает WebRTC-соединение к нашему собственному STUN-серверу (никогда — к чужому), собирает ICE-кандидатов, которые выдаёт браузер, и сравнивает каждый публичный адрес из них с адресом, который сайты видят по HTTP. Это занимает меньше секунды; данные кандидатов на наш сервер не отправляются.
Ваши WebRTC-адреса
В каждой строке кандидата показаны адрес, его тип и область. Для вердикта важны только публичные адреса; частные и mDNS-записи раскрывают максимум структуру вашей сети, но не личность.
Публичный IP через STUN
Кандидат srflx (server-reflexive) — адрес, с которого наш STUN-сервер увидел ваш UDP-пакет. С работающим VPN он равен адресу VPN. Если он другой, UDP покинул устройство вне туннеля, и реальный адрес раскрыт — это и есть утечка.
Локальный IP / mDNS-кандидаты
Кандидаты host — адреса ваших локальных интерфейсов. Современные Chrome, Edge, Firefox и Safari заменяют их случайным mDNS-именем вида ….local, чтобы сайты не могли прочитать адреса вашей локальной сети; старые браузеры и некоторые настройки по-прежнему показывают адреса вида 192.168.x.x, что раскрывает структуру домашней сети, но не вашу публичную личность.
Что такое утечка WebRTC?
VPN или прокси перехватывает трафик, который вы через них направляете; WebRTC же спрашивает у операционной системы лучший маршрут до STUN-сервера напрямую, и система может ответить через физический интерфейс. Прокси вообще не передаёт UDP, поэтому для пользователя прокси любой публичный результат STUN по определению находится вне прокси. В итоге сайт узнаёт ваш реальный публичный адрес, тогда как адресная строка, cookie и всё остальное показывают VPN. Статья что такое WebRTC объясняет протокол.
Как остановить утечки WebRTC
Можно запретить WebRTC использовать нетуннелированные интерфейсы или отключить его совсем. Отключение ломает видеозвонки в браузере, поэтому предпочтительнее ограничивающие варианты.
Chrome и Edge
В Chrome нет встроенного переключателя. Установите расширение, которое выставляет политику обработки IP для WebRTC в Disable non-proxied UDP (политика доступна через API расширений Chrome), или используйте расширение вашего VPN-провайдера, если оно защищает WebRTC. Администраторы могут централизованно задать политику WebRtcIPHandling.
Firefox
Откройте about:config. Установите media.peerconnection.ice.default_address_only в true, чтобы ограничить WebRTC маршрутом по умолчанию (VPN, когда он подключён), и media.peerconnection.ice.no_host в true, чтобы скрыть локальные адреса. Чтобы полностью отключить WebRTC, установите media.peerconnection.enabled в false.
Safari
Safari скрывает локальные адреса за mDNS и собирает STUN-кандидатов, только когда страница действительно устанавливает звонок или канал данных. Пользовательского переключателя нет; в iOS режим блокировки (Lockdown Mode) полностью блокирует WebRTC. Если этот тест сообщает об утечке в Safari, решение — в обработке IPv6/UDP самим VPN, а не в настройке браузера.
Brave
Settings › Privacy and security › WebRTC IP handling policy: выберите Disable non-proxied UDP. Brave Shields уже блокирует самые распространённые способы снятия отпечатков.
Расширения
Расширения, блокирующие WebRTC, работают через ту же политику обработки IP; больше, чем позволяет браузер, они сделать не могут. Убедитесь, что расширение не просто скрывает результат от этого теста, пока утечка продолжается: после установки запустите тест ещё раз и проверьте, что статус — заблокировано или утечки нет, а не просто пустой список.
Частые вопросы
Как отключить WebRTC?
Firefox: установите media.peerconnection.enabled в false в about:config. Chrome, Edge и Brave: выставьте политику обработки IP для WebRTC в Disable non-proxied UDP (Brave — в настройках, Chrome/Edge — через расширение или корпоративную политику). В Safari переключателя нет; режим блокировки в iOS отключает его. Повторите этот тест для подтверждения.
WebRTC — это угроза безопасности?
Сам WebRTC безопасен — медиа и данные шифруются. Проблема приватности — в определении адресов: страница может узнать ваш публичный, а иногда и локальные адреса без запроса разрешения, что важно в основном тем, кто полагается на VPN или прокси, чтобы их скрыть.
Стоит ли блокировать WebRTC?
Если вы используете VPN или прокси и этот тест показывает утечку, ограничить WebRTC — правильный шаг. Полная блокировка останавливает звонки в браузере и некоторые сервисы конференций; политика disable non-proxied UDP сохраняет звонки через туннель и является лучшим вариантом по умолчанию.
Что происходит при обнаружении утечки IP через WebRTC?
Адрес, раскрытый через WebRTC, виден сайту — он может записать его, определить местоположение и сопоставить с адресом, видимым по HTTP. Наш тест никуда ничего не «отправляет»; утечка существует только между вашим браузером и сайтами, которые решают её собирать. Примените одно из решений выше и повторите тест.
Что делает расширение для WebRTC?
Расширение для WebRTC задаёт политику обработки IP в браузере так, чтобы кандидаты собирались только через маршрут по умолчанию (туннелированный) или не собирались вовсе. Некоторые также убирают локальные адреса. Шифровать или перенаправлять трафик они не могут; это делает VPN.
Что такое WebRTC Shield?
Названия вроде «WebRTC Shield» используют несколько расширений и VPN-приложений для функции, применяющей описанную выше ограничивающую политику. Как бы она ни называлась, проверьте её работу повторным запуском этого теста: статус должен быть утечки нет или заблокировано.
ICE-кандидаты: ваш браузер и stun.checkmyip.com (наш собственный сервер, UDP и TCP, IPv4 и IPv6); адрес по HTTP: probe.checkmyip.com. Сравнение выполняется в вашем браузере; кандидаты нам никогда не отправляются.