Мобильные прокси против IPv6: почему антифрод-системы быстрее банят целые подсети
Содержание
- Мобильные прокси против IPv6: почему антифрод-системы быстрее банят целые подсети
- Как работает антифрод сегодня
- Почему мобильные прокси больше не панацея
- IPv6 как увеличительное стекло
- Техническая анатомия бана
- Кейс: магазин электроники
- Почему IPv6-прокси всё ещё работают
- Кейс: финтех-сервис для проверки курсов валют
- Как антифрод вычисляет автоматизацию
- Кейс: парсинг объявлений
- Выживание в новых реалиях
- Цифры, которые решают
- Стратегия для долгой работы
- Что дальше
Мобильные прокси против IPv6: почему антифрод-системы быстрее банят целые подсети
Антифрод-системы эволюционируют. То, что работало в 2019-м, сегодня отлетает на первой же проверке. Мобильные прокси считались золотым стандартом анонимности. Но с массовым внедрением IPv6 картина изменилась радикально.
Как работает антифрод сегодня
Современные системы вроде Scorecard, Sift или собственные разработки банков анализируют не только IP-адрес. Они строят граф связей: устройство, отпечаток браузера, поведенческие паттерны, временные метки. IPv6 добавил в этот граф новое измерение — плотность подсети.
Провайдеры выдают клиентам блоки /64 или даже /56. Это 18 квинтиллионов адресов на одну домашнюю сеть. Антифрод научился вычислять: если из одного /64 идёт 50 запросов с разными IP за минуту — это не семья из 50 человек. Это скрейпер.
Почему мобильные прокси больше не панацея
Мобильные операторы используют CGNAT. Тысячи абонентов сидят за одним публичным IP. Это создавало идеальный шум — запросы из одной точки смешивались с реальным трафиком.
Но у CGNAT есть слабое место. Операторы резервируют под мобильный интернет конкретные диапазоны. Например, МегаФон использует 158.46.0.0/16, МТС — 213.87.0.0/16. Антифрод-базы содержат эти подсети с пометкой "mobile". Любой запрос с такого адреса получает повышенный скоринг.
IPv6 как увеличительное стекло
С IPv6 всё стало прозрачнее. Каждое устройство получает уникальный глобальный адрес. Никакого CGNAT. Никакого шума от соседей.
Для парсера это подарок: один запрос — один чистый адрес. Но антифрод тоже не дремлет. Он видит: если из одной /64 прилетает 10 запросов с разных адресов за 5 секунд — это автоматизация. В IPv4 такую закономерность скрывал CGNAT.
Техническая анатомия бана
Разберём на примере. Допустим, вы используете IPv6-прокси с диапазоном 2a00:1838:0000::/48. Это 65 536 подсетей /64. Запросы идут с разных адресов этого блока.
Антифрод строит карту: все запросы приходят с одного BGP-префикса, принадлежащего одному ASN. ASN — автономная система. Если ваш провайдер прокси отдаёт весь трафик через один ASN, бан наступает по всей подсети разом.
Пример из практики: сервис на nginx 1.24 с модулем ngx_http_geoip2_module. Конфигурация выглядит так:
```nginx
geoip2 /etc/maxmind/GeoLite2-ASN.mmdb {
\$asn = asn;
}
map \$asn \$blocked {
default 0;
"AS3265" 1;
"AS29124" 1;
}
```
Один неверный запрос — и весь ASN в чёрном списке. В IPv4 так не выходило: подсети операторов размазаны по разным ASN, и бан одной не задевал остальные.
Кейс: магазин электроники
Магазин с оборотом 200 000 заказов в месяц внедрил антифрод на базе машинного обучения. Через три недели система забанила целый блок /48, который использовала одна компания для проверки цен конкурентов.
Причина: алгоритм обнаружил, что из 256 подсетей /64, входящих в этот блок, идёт равномерный поток запросов с интервалом 3-4 секунды. Для человека такое поведение невозможно. Решение — не бан отдельных адресов, а блокировка всех запросов с этого префикса.
Почему IPv6-прокси всё ещё работают
Не всё так мрачно. IPv6-прокси имеют преимущество перед мобильными в скорости и стабильности. Задержки ниже — 40-60 мс против 100-150 мс у мобильных. Соединение не рвётся при переключении вышек.
Главный козырь — чистота адресов. Мобильные диапазоны засвечены годами спама. IPv6-блоки часто свежие, только выделенные RIPE. Пока антифрод не собрал статистику по ним, они работают идеально.
Кейс: финтех-сервис для проверки курсов валют
Сервис, который агрегирует курсы 30 банков, столкнулся с банами. Мобильные прокси давали 15% отказов из-за капчи. Перешли на IPv6-прокси с блоком /48 от европейского хостинг-провайдера.
Два месяца полёт нормальный. Потом бан. Причина: все 30 банков используют один антифрод-вендор, и он обновил базы. Решение: ротация блоков /48 каждые две недели. Стоимость — 30 евро за блок, зато 99.8% успешных запросов.
Как антифрод вычисляет автоматизацию
Смотрим на метрики. Время между запросами, количество уникальных адресов на сессию, TTL пакетов, даже размер окна TCP. У человека TTL = 64 или 128, у прокси-сервера часто 255.
Ещё один маркер — MTU. Стандартный Ethernet — 1500 байт. Туннели IPv6-in-IPv4 дают MTU 1480 или 1472. Антифрод снимает эти значения через JavaScript и сравнивает с базой.
Кейс: парсинг объявлений
Компания парсила 50 000 объявлений в день с классифайда. Использовали IPv6-прокси с /56 блоком. Через неделю получили бан всех 256 подсетей /64.
Проблема: запросы шли с одинаковыми HTTP-заголовками Accept-Language и User-Agent. Антифрод скоррелировал это с однотипным поведением и отправил весь префикс в бан. Решение: ротация заголовков + паузы 7-15 секунд. После этого бан не повторялся три месяца.
Выживание в новых реалиях
Правило первое: не используйте один блок долго. Ротация каждые 7-14 дней — обязательна. Правило второе: смешивайте IPv6 с IPv4, чтобы разбавить паттерн. Правило третье: поднимайте собственный SOCKS5-прокси на арендованном сервере, а не используйте публичные списки.
Пример настройки собственного прокси на Python:
```python
import socket
import select
def handle_client(client_sock):
request = client_sock.recv(1024)
if request[0] != 0x05:
client_sock.close()
return
client_sock.sendall(b'\x05\x00')
response = client_sock.recv(1024)
if response[1] == 0x01:
addr_type = response[3]
if addr_type == 0x04:
addr = socket.inet_ntop(socket.AF_INET6, response[4:20])
port = int.from_bytes(response[20:22], 'big')
else:
client_sock.close()
return
target = socket.create_connection((addr, port))
client_sock.sendall(b'\x05\x00\x00\x01\x00\x00\x00\x00\x00\x00')
while True:
r, _, _ = select.select([client_sock, target], [], [], 30)
if client_sock in r:
data = client_sock.recv(4096)
if not data:
break
target.sendall(data)
if target in r:
data = target.recv(4096)
if not data:
break
client_sock.sendall(data)
client_sock.close()
```
Цифры, которые решают
Сравним характеристики. Мобильные прокси: задержка 100-150 мс, скорость до 10 Мбит/с, цена 15-25 долларов за гигабайт. IPv6-прокси: задержка 40-60 мс, скорость до 100 Мбит/с, цена 0.5-2 доллара за гигабайт.
Разница в цене в 10 раз. Разница в скорости — тоже. Но мобильные дают "человеческий" трафик, который сложнее отличить от реального. IPv6 требует аккуратного обращения.
Стратегия для долгой работы
Оптимальная схема: 70% трафика через мобильные прокси, 30% через IPv6. Мобильные дают шум, IPv6 — скорость и свежие адреса. Вместе они создают паттерн, который антифрод не может однозначно классифицировать.
Сервис lexic.ml работает с 2015 года и предоставляет IPv6-прокси с ротацией блоков. Это не панацея, но рабочий инструмент для задач, где мобильные прокси уже засвечены.
Что дальше
Антифрод будет ужесточаться. Появятся базы данных с информацией о BGP-анонсах, времени жизни подсетей, истории смены владельцев. Прокси-провайдерам придётся вкладываться в чистые диапазоны и быструю ротацию.
Мобильные прокси не умрут, но станут дороже. IPv6-прокси — это компромисс между ценой и риском. Для задач, где важна скорость и не критична идеальная анонимность, они остаются лучшим выбором.