Прокси, VPN и резидентные адреса: что сайт может и чего не может определить

Каждый сайт видит адрес, с которого пришёл запрос. То, что он решает на основании этого адреса, — другой вопрос, и их постоянно путают. Эта статья разделяет то, что сервер может наблюдать, и то, что продаёт вендор детектирования.
Что наблюдает сервер
Сервер видит адрес источника и порт. По адресу он может получить поиском примерное местоположение, организацию, которой принадлежит диапазон (ASN), и сведения о том, зарегистрирован ли диапазон на потребительского ISP, хостинговую компанию, мобильного оператора или университет. Он также видит детали TLS-рукопожатия, HTTP-заголовки, отправленные клиентом, и тайминги соединения. Это и есть всё первичное свидетельство.
Что добавляет поиск по базе
Коммерческие базы классифицируют диапазоны адресов: «резидентный», «дата-центр», «известный выход VPN», «выход Tor», «мобильный». Они строятся на публичных регистрационных данных, на шаблонах трафика и на списках выходов, которые публикуют VPN-провайдеры или которые были обнаружены наблюдением. Сайты покупают доступ к этим базам и спрашивают их о каждом посетителе. Вердикт «Proxy: yes» на некоторых диагностических страницах — это ответ на такой вопрос; браузер ничего подобного не сообщал, и вердикт настолько хорош, насколько хороша стоящая за ним база.
Поэтому диагностика, которая не обращается к такой базе, должна показывать «Не проверялось» для проверок прокси, чёрных списков и анонимности, а не гадать. Догадки только по сигналам браузера слишком часто ошибались бы, чтобы не вводить в заблуждение.
Прокси, VPN и резидентный адрес со стороны сервера
VPN несёт весь трафик устройства, поэтому HTTP-запросы браузера, пакеты WebRTC и DNS-запросы выходят из одного места. Сервер видит один согласованный адрес, обычно из диапазона, который, как известно базам, принадлежит VPN-провайдеру.
Прокси, настроенный в браузере, несёт только тот трафик, который браузер через него отправляет. HTTP идёт через прокси; UDP для WebRTC может не идти; DNS-разрешение может происходить локально или на прокси в зависимости от типа прокси. Сервер может увидеть адрес прокси в запросе и, если WebRTC не удержан, другой адрес среди кандидатов. Замечают именно это несоответствие, а не сам прокси.
Резидентный адрес — это адрес, зарегистрированный на потребительского ISP. Базы относят его к наименее подозрительной категории, потому что именно такой адрес у большинства настоящих посетителей. Резидентные прокси-сети направляют трафик через такие адреса, поэтому их продают дороже, и поэтому вендоры детектирования тратят усилия на их выявление по поведению, а не по регистрации.
Проверки, которым не нужна база
Три сравнения работают вообще без вендора. Совпадает ли часовой пояс браузера с часовым поясом адреса? Совпадает ли кандидат WebRTC с адресом запроса? Соответствует ли список языков региону? Ничто из этого ничего не доказывает, но каждая проверка бесплатна, а расхождение сразу по всем трём трудно объяснить. Диагностика, которая показывает их рядом, даёт тот же взгляд, что получает сайт, прежде чем тратить деньги на запрос к базе.
Что стоит запомнить
Адрес — это факт. Классификация — это мнение базы, которую вы не видите. Согласованность между адресом и всем остальным, что сообщает браузер, — та часть, которую контролируете вы, и именно её стоит проверять.


