Магазин нормально завантажується вдома і показує стіну «незвичайного трафіку» тієї миті, коли тунель піднімається. Форум відмовляється впускати вас, а сторінка стрімінгу наполягає, що ви в країні, де ніколи не були. Ніщо з цього не потребує шпигунського програмного забезпечення. Сайт бачить адресу, з якої приходять ваші пакети, а з VPN ця адреса належить дата-центру, а не домашній лінії. Більшість того, що називають виявленням VPN, починається і закінчується цим одним фактом, а решта — висновок із передбачуваною частотою помилок.

Блокування починається з того, звідки нібито надходять ваші пакети

Кожен запит несе адресу джерела, і сервер, що його отримує, може перевірити її у відкритих даних: яка мережа її анонсує, чи є ця мережа хостинг-провайдером, чи потрапляла вона до списків зловживань і яку країну їй призначає реєстр. Ніщо з цього вас не ідентифікує, і всього разом достатньо, щоб віднести вас до категорії.

Погляньте на свій трафік очима стороннього. Дві команди покривають більшу частину поверхні, і друга — та, яку люди забувають:

curl -sS https://ipinfo.io/json
dig +short TXT o-o.myaddr.l.google.com @ns1.google.com

Перша повертає адресу виходу, її організацію та країну. Друга повертає адресу резолвера, який дістався сервера імен Google; вона часто належить іншій мережі, ніж ваш вихід, і це адреса, яку бачить сайт, якщо логує дані на боці резолвера. Коли ці дві належать різним країнам, деякі сайти вважають розбіжність підозрілою, навіть якщо з вашим налаштуванням усе гаразд.

Коли відмова починається лише після підняття тунелю, підозрюйте насамперед адресу виходу. Змініть сервер і спробуйте ще раз, перш ніж торкатися браузера. Блокування, яке йде за вами через три виходи одного провайдера, стосується діапазонів провайдера; блокування, яке зникає на іншому сервері, стосується тієї однієї адреси.

Часовий пояс, мова та годинник не збігаються з адресою

Код сторінки може прочитати ваш часовий пояс, мовні налаштування та параметри екрана без жодного запиту дозволу. Браузер, що повідомляє центральноєвропейський час, коли з'єднання надходить із дата-центру в Сінгапурі, — сильніший сигнал, ніж сама адреса, і саме таку розбіжність система оцінки шахрайства створена помічати.

Intl.DateTimeFormat().resolvedOptions().timeZone
navigator.language
Intl.DateTimeFormat().resolvedOptions().locale

Ті три рядки в консолі розробника кажуть, що ваш браузер віддає добровільно. Клієнт VPN може змінити ваш маршрут і більше нічого, тож профіль, який ви носите, залишається домашнім, а вихід — ні. Тут важлива послідовність: ноутбук, налаштований на той самий регіон, що й вихід, виглядає звичайно, а той, що суперечить сам собі, — ні.

Саме тому збій періодичний. Багатьом сайтам байдуже, кілька його оцінюють, а один членський сайт вирішує, що ви шахрай. Клієнт у всіх трьох випадках працює правильно, і тому звичайна відповідь підтримки, «це точно ваш браузер», водночас дратує і частково правдива.

Що код сторінки насправді знає про вашу машину

У JavaScript немає API, який перелічує мережеві інтерфейси. Сторінка не може запитати, які адреси має ваш ноутбук, тому старе твердження, що скрипт читає вашу LAN-адресу, — здебільшого спогад про епоху плагінів, коли елементи ActiveX, аплети Java та інший нативний код могли робити саме це.

SignalWhat it revealsStatus today
Source address of the requestExit network, country, hosting statusAlways visible; the main signal
Time zone and languageWhere the profile claims to beReadable without permission
WebRTC candidatesLocal addresses, historicallyHost candidates are mDNS-obfuscated by default
Interface listAll local addressesNot available to ordinary JavaScript

WebRTC — чесний виняток із правила «жодних витоків локальних адрес». Збирання його кандидатів колись розкривало локальні адреси кожній сторінці, яка просила, і виправленням стала заміна хостових кандидатів випадковими іменами mDNS. Це стандартне налаштування діє в поточних браузерах, але це рішення браузера, а не гарантія протоколу, тому застаріла збірка або посилена конфігурація, яка знову вмикає локальних кандидатів, усе ще може протікати. Оновлення браузера допомагає вам тут більше, ніж будь-яке розширення.

Ваш провайдер бачить імена, а не вміст

HTTPS захищає вміст сторінки від краю до краю, і оператор тунелю, який передає ці байти, не може їх прочитати. Оператор усе ще бачить, до якої адреси ви зверталися, а в більшості розгортань і ім'я сервера в рукостисканні, бо ім'я має бути читабельним, щоб з'єднання спрямовувалося на потрібний сайт. Encrypted Client Hello існує саме для того, щоб приховати це поле, і допомагає лише тоді, коли його підтримують і клієнт, і сайт.

Розв'язання імен — це друга половина. Якщо ваш провайдер також надає резолвер, він бачить кожне ім'я, яке ви шукаєте, ще до появи з'єднання. Якщо ваш пристрій використовує публічний резолвер через HTTPS, провайдер бачить з'єднання з цим резолвером і більше нічого, а список бачить сам резолвер.

Незашифрований HTTP-запит читається оператором з тієї ж причини, з якої він читається мережею готелю: ніщо в ньому не зашифроване. Тунель ніколи не стверджував протилежного і не виправляє вибір застосунку.

Відокремте «це VPN» від «це я»

Виявлення дешеве, імовірнісне й часто помилкове. Спільні адреси виходу позначаються, бо хтось інший зловживав ними, корпоративні діапазони класифікуються як хостинг, а мобільні оператори видають географічні результати, що дивують усіх. Ідентифікація — інша проблема: їй потрібен постійний зв'язок, наприклад обліковий запис, у який ви ввійшли, cookie, платіжні дані або двоє спостерігачів, які порівнюють нотатки.

Вирішіть, з чим ви насправді боретеся. Якщо мета — прочитати сторінку, HTTPS уже виконує цю роботу, і тунель мало що змінює. Якщо мета — не дати сайту дізнатися, у якому ви місті, важливі вихід і резолвер. Якщо мета — розірвати зв'язок із вашою справжньою особистістю, слабке місце — обліковий запис, і зміна серверів нічого не робить із входом, який ви щойно використали.

Новий вихід нізвідки вас не виводить і не може стерти те, що сайт уже зберіг про використаний обліковий запис. Тому практична послідовність позбавлена блиску: виберіть вихід, чия мережа виглядає звичайно, тримайте профіль браузера узгодженим із ним, оновіть браузер, щоб схильні до витоків функції використовували сучасні стандартні значення, і прийміть, що невелика кількість сайтів усе одно помилятиметься щодо вас.

Схожі статті