Коли ви вмикаєте VPN, сайти мають бачити адресу VPN-сервера, а не вашу. Здебільшого саме так і відбувається. Проте перевірити все ж варто: у браузерах є одна функція, WebRTC, яка може розкривати мережеві адреси там, де цього не чекаєш.
У цьому посібнику ми пояснимо, що таке IP-адреса, що вона каже про вас, як виникає витік через WebRTC і як крок за кроком перевірити власні налаштування.
Що розкриває ваша IP-адреса
IP-адреса — це число, яке ідентифікує ваше з'єднання в інтернеті. Вам трапляться два види адрес:
- Публічна IP-адреса. Адреса, яку бачить решта інтернету. Удома вона зазвичай належить вашому роутеру й видається інтернет-провайдером. У мобільній мережі вона належить мережі оператора зв'язку.
- Локальна (приватна) IP-адреса. Адреса вашого пристрою всередині домашньої чи офісної мережі, наприклад така, що починається з 192.168 або 10. З інтернету вона недосяжна, але все одно може допомогти скласти цифровий відбиток пристрою.
Публічна IP-адреса не повідомляє сайту ваше ім'я чи домашню адресу, але зазвичай вказує на провайдера та приблизне розташування — часто місто або регіон. Сайти можуть використовувати її, щоб оцінити, де ви перебуваєте, а разом із cookie та іншими сигналами вона стає частиною профілю.
Крок 1. Перевірте свою публічну IP-адресу
Відкрийте наш інструмент Яка в мене IP-адреса. Він показує публічну IP-адресу, з якої підключається ваш браузер, а також пов'язані з нею приблизне розташування та власника мережі. Крім того, він показує простий статус:
- Захищено — ваш трафік надходить із сервера VPNRice.
- Відкрито — сайт бачить адресу, яка не належить серверу VPNRice; зазвичай це ваше справжнє з'єднання.
Зробіть перевірку двічі: один раз із вимкненим VPN і один раз з увімкненим. Запишіть або запам'ятайте першу адресу. З увімкненим VPN адреса та розташування мають змінитися на адресу й розташування VPN-сервера.
Якщо вам потрібні відомості про будь-яку іншу адресу, наприклад знайдену в лог-файлі, скористайтеся інструментом Пошук за IP. Він показує країну, регіон і мережу, за якими зареєстровано цю адресу. Дані про розташування надає DB-IP, і вони за своєю природою приблизні.
Крок 2. Розберіться, що таке WebRTC
WebRTC — це браузерна технологія, на якій працюють відеодзвінки, голосові чати й частина обміну файлами безпосередньо на вебсторінці. Щоб ефективно з'єднати двох співрозмовників, WebRTC намагається знайти між ними найкоротший мережевий шлях. Процес, який для цього використовується, називається ICE і описаний у RFC 8445.
ICE збирає «кандидатів» — можливі адреси, за якими можна дістатися вашого пристрою. У документації MDN щодо інтерфейсу RTCIceCandidate наведено основні типи:
- Host-кандидати — власні адреси пристрою на його мережевих інтерфейсах.
- Server reflexive-кандидати — ваша публічна адреса в тому вигляді, у якому її бачить STUN-сервер. STUN, описаний у RFC 8489, — простий протокол, який повідомляє пристрою, з якою адресою він виглядає ззовні.
- Relay-кандидати — адреси на ретрансляційному сервері, що пересилає трафік, коли прямий шлях неможливий.
Вебсторінка може попросити браузер зібрати цих кандидатів, а JavaScript на цій сторінці може їх прочитати. У цьому й полягає суть проблеми: якщо браузер додасть до списку адресу, яка не проходить через ваш VPN, сторінка зможе її дізнатися.
Як виглядає витік через WebRTC
Витік стається, коли кандидат WebRTC показує адресу, яку ви вважали прихованою. Типові випадки:
- Ваша справжня публічна IP-адреса з'являється серед кандидатів з увімкненим VPN. Так буває, якщо браузер надсилає STUN-запит мережевим шляхом поза тунелем або якщо трафік IPv6 не захищено, а IPv4 захищено.
- Розкривається ваша локальна IP-адреса. Це менш серйозно, але все одно додає інформації для цифрового відбитка.
IETF описала, як мають поводитися браузери. RFC 8828 визначає чотири режими обробки IP-адрес у WebRTC: від переліку всіх адрес (режим 1) до примусового спрямування всього трафіку через проксі (режим 4). Згідно з документом, режим 1 не можна використовувати без згоди користувача, а без такої згоди браузерам слід використовувати режим 2, за якого розкриваються лише адреси маршруту за замовчуванням. Багато сучасних браузерів також замінюють локальні адреси випадковими іменами, що закінчуються на «.local», тож сторінки бачать заглушку замість приватної адреси.
На практиці це означає, що правильно налаштований VPN для всієї системи зазвичай запобігає витокам, бо маршрут за замовчуванням проходить через тунель. Проблеми, як правило, виникають через роздільну маршрутизацію, проксі лише для браузера або неопрацьований IPv6.
Крок 3. Запустіть тест витоку WebRTC
Відкрийте наш тест витоку WebRTC. Тест працює у вашому браузері: протягом кількох секунд він просить браузер зібрати ICE-кандидатів і показує всі знайдені адреси. Потім він порівнює їх із публічною адресою, яку використовує ваше з'єднання. Тест не звертається до жодних сторонніх STUN-серверів, тому показує лише host-кандидатів (часто прихованих під іменами .local). Це означає, що він може виявити розкриття локальної адреси, але не здатен виявити витік публічної IP-адреси через STUN-запит.
Запустіть його з увімкненим VPN і читайте результати так:
- З'являється лише адреса VPN-сервера або публічних адрес немає зовсім. Витоку немає.
- З'являється ім'я «.local». Це браузер приховує вашу локальну адресу. Це не витік.
- З'являється публічна адреса, яка не належить VPN-серверу. Вважайте це розкриттям адреси.
- З'являється приватна адреса на зразок 192.168.x.x. Незначне розкриття. Зверніть увагу на налаштування браузера нижче.
Як усунути витік
Спробуйте ці кроки по черзі й після кожного перевіряйте знову:
- Використовуйте VPN-застосунок для всієї системи, а не проксі лише для браузера. Браузерні розширення, що працюють як проксі, надсилають вебзапити через інший сервер, але трафік WebRTC не завжди дотримується налаштувань проксі. Повноцінний VPN-застосунок спрямовує маршрут за замовчуванням через тунель. Так працюють застосунки VPNRice для Android, iPhone та iPad, а також Windows; розширення для Chrome і Firefox — це браузерні проксі, які спрямовують трафік вашого браузера через сервери VPNRice (самі вони не додають шифрування; сайти, відкриті через HTTPS, і далі захищені наскрізним шифруванням).
- Перепідключіть VPN і перезавантажте сторінку. Кандидати збираються тоді, коли сторінка їх запитує, тож сторінка, завантажена до підключення VPN, може показувати застарілі результати.
- Перевірте IPv6. Якщо у вашій мережі є IPv6 і витік показує IPv6-адресу, переконайтеся, що VPN її охоплює, або проведіть тест у мережі без IPv6, щоб підтвердити причину.
- Увімкніть Kill-switch. Kill-switch не дає трафіку залишати пристрій поза тунелем. На Android Kill-switch VPNRice спирається на системне налаштування «Постійний VPN» разом із параметром, який не пропускає з'єднання без VPN.
- Обмежте WebRTC у браузері. У деяких браузерах є налаштування або політики, що обмежують мережеві інтерфейси, які може використовувати WebRTC. Користувачі Firefox можуть змінити параметри WebRTC на сторінці about:config. Повне вимкнення WebRTC порушить роботу відеодзвінків у браузері, тож вдавайтеся до нього лише в крайньому разі.
Короткий чек-лист
- Перевірте IP-адресу з вимкненим, а потім з увімкненим VPN. Адреса має змінитися.
- Знайдіть статус «Захищено» на сторінці Яка в мене IP-адреса.
- Запустіть тест витоку WebRTC з увімкненим VPN.
- Повторюйте перевірку після оновлень браузера або під час зміни мережі.
- Користуйтеся інструментом Пошук за IP, коли хочете розібратися в незнайомій адресі.
Ці тести тривають менше хвилини й показують головне, що розкриває ваше з'єднання. Інструменти VPNRice працюють у вашому браузері або на власному сервісі VPNRice, без сторонніх трекерів і cookie.
Якщо вам потрібен VPN, який захищає весь пристрій, а не лише браузер, завантажте VPNRice і повторіть тести з увімкненим VPN.