Приватность и VPN

Что такое WebRTC?

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

В этой статье

Для чего используется WebRTC

Аудио, видео и данные в реальном времени между браузерами: сервисы встреч, звонки в браузере, демонстрация экрана, некоторые сайты для передачи файлов и игр. Он встроен в каждый браузер, не требует плагина и шифрует всё, что передаёт. Чтобы соединение работало через домашние роутеры, браузер собирает ICE-кандидатов — свои локальные адреса и, через STUN-сервер, свой публичный адрес снаружи — и обе стороны обмениваются ими.

Проверить сейчас

Проверка
IP, который видят сайты216.73.216.52
IP, раскрытые WebRTC198.51.100.23

Выполняется против наших собственных тестовых серверов. Ничего не сохраняется.

Открыть: Проверка утечки 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, — обычно домашний или мобильный — и записать его или определить местоположение. Наш тест никуда ничего не отправляет; примените одно из решений и повторите тест.

CheckMyIP Team
Network engineers and privacy researchers