Что такое WebRTC?
WebRTC — технология в браузере для видеозвонков и демонстрации экрана без плагинов. Чтобы соединить два браузера напрямую, ему нужно узнать их сетевые адреса — а запустить это определение может любая страница, из-за чего он стал способом для сайтов увидеть ваш реальный IP-адрес за VPN.
В этой статье
Для чего используется WebRTC
Аудио, видео и данные в реальном времени между браузерами: сервисы встреч, звонки в браузере, демонстрация экрана, некоторые сайты для передачи файлов и игр. Он встроен в каждый браузер, не требует плагина и шифрует всё, что передаёт. Чтобы соединение работало через домашние роутеры, браузер собирает ICE-кандидатов — свои локальные адреса и, через STUN-сервер, свой публичный адрес снаружи — и обе стороны обмениваются ими.
Проверить сейчас
ПроверкаВыполняется против наших собственных тестовых серверов. Ничего не сохраняется.
Открыть: Проверка утечки WebRTCПроблема утечки IP
Утекает именно сбор кандидатов. Страница может создать объект соединения, запустить сбор и прочитать кандидатов — всё без запроса разрешения и без какого-либо звонка. STUN-запрос уходит тем маршрутом, который выбирает операционная система, и это может быть физический интерфейс, а не VPN-туннель, — а прокси вообще его не переносят, поскольку STUN работает по UDP. В результате страница видит публичный адрес, который не принадлежит VPN. Локальные адреса раньше утекали так же; современные браузеры теперь заменяют их случайными mDNS-именами. Проверка утечки WebRTC выполняет ровно такой сбор против нашего собственного STUN-сервера и сравнивает результат с адресом, который видят сайты.
Как отключить или ограничить WebRTC
Предпочитайте ограничение отключению, чтобы звонки продолжали работать. Chrome, Edge и Brave поддерживают политику обработки IP для WebRTC; установите её в disable non-proxied UDP (Brave — в настройках, Chrome и Edge — через расширение или корпоративную политику), и WebRTC будет использовать только маршрут по умолчанию — VPN, когда он подключён. Firefox: в about:config установите media.peerconnection.ice.default_address_only в true, а media.peerconnection.enabled в false, чтобы отключить WebRTC полностью. В Safari переключателя нет, но он скрывает локальные адреса и собирает публичных кандидатов только когда страница действительно устанавливает соединение. Многие приложения и расширения VPN применяют ту же политику за вас. Что бы вы ни изменили, повторите тест и убедитесь, что статус — утечки нет или заблокировано.
Вопросы
WebRTC — это угроза безопасности?
Сам протокол безопасен; его медиа и данные шифруются. Проблема приватности — определение адресов без запроса, что важно, если вы полагаетесь на VPN или прокси, чтобы скрыть адрес.
Как отключить WebRTC?
Firefox: media.peerconnection.enabled = false в about:config. Chrome, Edge, Brave: политика обработки IP в disable non-proxied UDP (Brave в Настройки › Конфиденциальность; Chrome/Edge через расширение). Safari: переключателя нет; режим блокировки в iOS отключает его.
Стоит ли блокировать WebRTC?
Ограничить его (только маршрут по умолчанию) полезно, если вы используете VPN или прокси, и ничего не стоит. Полная блокировка ломает звонки в браузере; делайте так, только если никогда ими не пользуетесь.
Что делает расширение для WebRTC?
Оно задаёт политику обработки IP в браузере так, чтобы кандидаты собирались только через маршрут по умолчанию или не собирались вовсе, и иногда убирает локальные адреса. Шифровать или перенаправлять трафик оно не может.
Что происходит при обнаружении утечки IP через WebRTC?
Сайт может прочитать публичный адрес, не принадлежащий вашему VPN, — обычно домашний или мобильный — и записать его или определить местоположение. Наш тест никуда ничего не отправляет; примените одно из решений и повторите тест.