Как работает обнаружение VPN и прокси и где оно даёт сбой
Списки IP, API репутации и отпечатки дают сбой по-разному. Решите, какое злоупотребление вы останавливаете, измерьте ложные срабатывания и затем применяйте с кодом причины.
Когда кто-то спрашивает, как блокировать пользователей VPN, в этой фразе скрыты три разных просьбы: остановить мошенничество, остановить скрейпинг или ввести лицензионную границу. Каждая допускает разную долю ошибок, и ни на одну не отвечает знание того, принадлежит ли адрес туннелю. То, что возвращает классификатор, — это вероятность об инфраструктуре, а не утверждение о человеке, который ею пользуется.
Что на самом деле вычисляет классификатор IP
Большинство сервисов объединяют четыре источника данных, и они стареют с разной скоростью. Списки выходных узлов Tor берутся из консенсуса каталога и почти полны, пока он держится. Списки открытых прокси неполны и устаревают за считаные дни. Коммерческие списки выходов по замыслу отстают от новых провайдеров, потому что адреса меняются быстрее, чем любой поставщик успеет их обойти. Эвристика хостинговых диапазонов — самый дешёвый и самый грубый сигнал.
Именно последний и порождает большинство ложных срабатываний. Корпоративные выходы, браузеры в облаке, кампусный NAT и шлюзы мобильных операторов выглядят как хостинг или общая инфраструктура, и в каждом из них могут быть обычные клиенты.
| Signal | What it shows | Typical failure |
|---|---|---|
| Tor exit consensus | A known exit relay | Good coverage, obvious to anyone who cares |
| Hosting or datacentre ASN | Infrastructure, not a home line | Flags corporate egress and cloud browsers |
| Commercial exit list | A provider's current ranges | Always behind new providers and rotations |
| Behavioural rate | What the client is doing | Needs tuning, but survives address changes |
IPv6 убирает последний комфорт. Клиент может иметь разный адрес для каждого соединения, а провайдер может менять префикс между запросами, поэтому правило, считающее адрес устойчивой идентичностью, за несколько недель разойдётся с реальностью.
Почему отпечатки протоколов разрушаются
Различия в MSS и таймингах позволяют опознать некоторые конфигурации OpenVPN, и техника действительно хрупка. Сигнал зависит от настроек, которые контролирует пользователь, от MTU пути и от промежуточных устройств, которыми вы не владеете. Смените один шифр или один предел MSS — и отпечаток сдвинется. Провайдер, выпустивший новые значения по умолчанию, сделает то же с вашим правилом за одну ночь.
У обратных зондов проблема хуже хрупкости: они враждебны. Сканирование портов посетителя медленно, легко блокируется тем самым корпоративным межсетевым экраном, за которым сидят ваши клиенты, и плохо защищается на аудите приватности. Пороги задержки ловят далёких пользователей так же надёжно, как пользователей туннеля, а значит, ваше правило на самом деле — «блокируй людей издалека» под другой этикеткой.
Что бы вы ни выбрали, вы должны уметь объяснить это агенту поддержки в 2 часа ночи. Сигнал, который никто не может описать, превращается в блокировку, которую никто не может отменить. Напишите объяснение до того, как напишете правило, а не после первой жалобы.
Идентичность и поведение побеждают догадки об анонимности
Ограничения скорости, требования входа, проверки платежей и квоты на аккаунт решают проблему злоупотреблений, не наказывая читателей, которым важна приватность. Они также продолжают работать при смене адреса, потому что привязаны к тому, что клиент не может менять бесплатно.
Если географическое ограничение — это лицензионное требование, применяйте его как документированную политику с ясным сообщением об ошибке и периодическим пересмотром. Это другой контроль, чем догадки об анонимности, и в тексте для клиента его следует описывать иначе. Блокировка портов, которые использует протокол VPN, может сократить автоматизированные злоупотребления, но она же ломает законный удалённый доступ и тривиально обходится любым решительным человеком.
Сначала запустите это как измерение
Запустите классификатор на пару недель в режиме только отчёта. Сравните популяцию, которую он заблокировал бы, с регистрациями, конверсиями и обращениями в поддержку, а затем задайте бюджет ложных срабатываний до того, как задать порог.
Перепроверьте на небольшом известном наборе: домашнее подключение, мобильный оператор, корпоративный выход и коммерческий VPN. Четыре случая выявляют большинство ошибок, которые иначе дошли бы до клиентов, и стоят одного дня.
Держите сырой сигнал и решение о применении отдельно. Записывайте оценку даже при высоком пороге, направляйте неоднозначную середину в человеческую очередь и помечайте каждую блокировку кодом причины, чтобы следующий пересмотр политики мог сказать, какой сигнал заслужил своё место.
Путь апелляции — часть контроля
Каждой автоматической блокировке нужен человеческий путь: контактный адрес, заявленное время ответа и названный владелец пересмотра. Без него ложное срабатывание — это тихо потерянный клиент и обращение, с которым никто не может ничего сделать.
Скажите прямо, что доступ может быть ограничен, почему и как попросить пересмотр. Версионируйте политику, чтобы поддержка могла сказать, какое правило действовало на определённую дату. Блокировка, которую вы не можете объяснить, отменить или измерить, — не контроль; это догадка со строкой в журнале.