Вернуться в блог

Почему прокси может раскрыть IP: проверка и защита WebRTC

Разберитесь в ICE, STUN, TURN, UDP и IPv6, чтобы отличать реальную утечку WebRTC от локального или relay-адреса и правильно настроить PurpleMark.

Почему прокси может раскрыть IP: проверка и защита WebRTC

Почему прокси может раскрыть IP: проверка и защита WebRTC

Обычная проверка показывает прокси, а WebRTC-тест — другой IP или имя .local. Это ещё не доказывает утечку: сначала нужно узнать тип ICE-кандидата и маршрут трафика.

Проверено в июле 2026 года. После обновления браузера, прокси или сети тест следует повторять.

Как возникает различие

HTTP-прокси обычно переносит веб-запросы. WebRTC для аудио, видео и каналов данных собирает ICE-кандидаты с локальных интерфейсов, через STUN и TURN, используя UDP или TCP. Если UDP либо IPv6 не входят в прокси, STUN может увидеть публичное отображение исходной сети.

ТипЗначение
hostЛокальный интерфейс, частный адрес, IPv6 или mDNS; сам по себе не доказывает публичную утечку
srflxNAT-адрес, найденный STUN; исходный публичный IP провайдера здесь — сильный признак утечки
prflxКандидат, найденный при проверке связи
relayАдрес TURN-сервера, а не конечного устройства

W3C предупреждает, что ICE-адреса могут раскрывать местоположение и топологию и увеличивать поверхность fingerprinting. См. раздел W3C об IP.

Воспроизводимая проверка

  1. Приватно запишите исходные IPv4 и IPv6.
  2. Включите прокси, перезапустите профиль и проверьте HTTP, DNS, IPv4 и IPv6.
  3. Соберите кандидаты с указанием type, protocol и адреса.
  4. Сопоставьте их с исходным IP, прокси и TURN.
  5. Полностью перезапускайте профиль после каждого изменения.

srflx с исходным IP провайдера означает риск. Частный адрес или .local означает host/mDNS и требует дополнительной оценки. relay показывает TURN. Описание типов: MDN RTCIceCandidate.

Защита

Используйте туннель, который явно обрабатывает требуемые UDP и IPv6, проверьте split tunneling и запретите непроходящий через прокси UDP, если это поддерживается. Полное отключение WebRTC ломает конференции и screen sharing. Разработчик сайта может выбрать iceTransportPolicy: relay и TURN, но это увеличивает задержку и расходы.

PurpleMark предлагает Forward, Replace, Real, Disable и Proxy UDP. Replace согласует видимый IPv4 с выходом прокси; Real оставляет исходные данные; Disable блокирует чтение WebRTC; Proxy UDP запрещает непроксированный UDP и требует Patch 2.8.2.0+; Forward сохраняет возможность WebRTC через настроенную схему. Каждый режим нужно тестировать в конкретной сети.

Контрольный список

  • Совпадает ли HTTP-выход с прокси?
  • Обрабатываются ли IPv4 и IPv6?
  • Есть ли исходный публичный IP в srflx?
  • Другой адрес — private, mDNS, proxy или TURN?
  • Поддерживает ли прокси UDP?
  • Работают ли нужные звонки после изменения?

Вывод

Второй адрес на странице не равен утечке. Надёжный вывод требует типа кандидата и сравнения с исходным и прокси-адресом. Настройка PurpleMark помогает изолировать разрешённые среды, но не отменяет правила сайтов и не гарантирует результат без проверки.

Источники