Аналитика

Инструмент показывает, откуда чаще всего приходят запросы к вашему сайту/приложению: с каких IP, подсетей, пользовательских агентов (user agent) и стран. А ещё — какие комбинации метод+путь чаще всего встречаются в запросах.

Чем полезна «Аналитика»

Вы увидите пять вкладок, внутри каждой — топ-100 значений по разным характеристикам трафика.

Топ IP источников

С Аналитикой удобно находить аномалии и потенциально уязвимые места, а ещё анализировать структуру трафика.

Ниже пара примеров того, как инструмент может пригодиться — кликните на название, чтобы раскрыть текст.

Застраховать эндпоинт от перегрузки

Вы открыли Аналитику на вкладке Топ запросов и заметили много обращений к странице /search/advanced. Она отвечает за расширенный поиск по сайту. Функционал полезный, но ресурсоёмкий — если запросов станет ещё больше, это может перегрузить бэкенд.

Вы решили узнать, кто вообще обращается к странице: перешли в Логи запросов и поставили фильтр Path = /search/advanced. В логах видно, что страницу активно запрашивают не только люди, но и боты. Похоже, они парсят контент.

Чтобы снизить нагрузку, вы добавили пользовательское правило для этой страницы: блокировать ботов (Bot, Likely bot), а остальных проверять JS-челленджем. В результате лишняя нагрузка исчезла, а реальные пользователи без проблем пользуются поиском.

Узнать больше о пользователях

У вашего приложения несколько версий, и каждая передаёт свой User-Agent.

Вы открыли Топ пользовательских агентов и увидели, что лидирует User-Agent старой версии, а новые встречаются реже. Это стало неожиданностью: получается, много людей почему-то не не обновляются. Вы решили собрать больше данных: отфильтровали трафик сначала по старому User-Agent, потом по новому. Топ стран показал, что со старой версией ходят в основном пользователи конкретного региона.

Этот стало ценным инсайтом. Вы учли его при принятии продуктовых решений.

Настроить фильтры

Данные можно гибко фильтровать, чтобы увидеть конкретный срез трафика. Пример: можно оставить статистику только по запросам от ботов, которые не смогли пройти CAPTCHA.

1. Откройте Аналитику.

Перейдите в «Защиту веб-приложений» (левое меню, кнопка поседерине). Затем напротив нужного ресурса нажмите …​Аналитика.

Топ IP источников

2. Выберите период и автообновление.

Кликните кнопку Last 24 hours — откроется меню выбора периода. Можно использовать один из стандартных вариантов (последние 5/15/30 минут или 1/6/12/24 часа) или указать свой диапазон.

Analytics upd 3

Клините 🔄 и устновите частоту автообновления данных: выключена либо 1/5/10 минут.

Analytics upd 4

3. Добавьте фильтры.

Можно добавить сразу несколько фильтров. Они будут работать по логике «И» — вы увидите только трафик, который удовлетворяет всем фильтрам одновременно.

Выберите тип фильтра. Всего их три:

  • Action — по действию, которое система защиты применила к запросу: заблокирована, пропустила или выдала проверку.

  • Src. class — по источнику запроса: бот его отправил или человек.

  • Action Reason — по причине, из-за которой система применила то или иное действие. Пример: пропустила запрос к вашему ресурсу (действие), потому что он пришёл с IP из вашего белого списка (причина).

Analytics upd 5

Теперь выберите оператор:

  • equals (равен) — вы указываете одно конкретное значение, которому должен соответствовать трафик

  • not equals (не равен) — вы указываете одно значение, которому трафик не должен соответствовать

  • in (содержит) — вы указываете несколько значений, и трафик должен совпадать хотя бы с одним из них

  • not in (не содержит) — вы указываете несколько значений, и трафик не должен совпадать ни с одним из них

Дальше укажите значение. Для каждого фильтра они свои — кликните на название, чтобы раскрыть список.

Action, значения фильтра

Block — запрос заблокирован.

Pass — запрос пропущен на сервер-источник.

Captcha challenge — клиенту выдана CAPTCHA.

Cookie challenge — клиенту выдан cookie-челлендж.

JS challenge — клиенту выдан JS-челлендж.

Src. class, значения фильтра

Human — запрос точно отправил человек.

Likely human — с высокой вероятностью запрос отправил человек, но система не уверена на 100%.

Likely bot — с высокой вероятностью запрос отправил бот, но система не уверена на 100%.

Bot — запрос точно отправил бот.

Action Reason, значения фильтра

Behavior pass – пользователь признан легитимным на основании поведенческого анализа.

Captcha invalid – пользователь неправильно прошёл CAPTCHA.

Captcha pass — недавно пользователь успешно прошёл CAPTCHA, чем подтвердил свою легитимность.

Captcha set cookie redirect — пользователь уже успешно прошёл CAPTCHA и сейчас происходит выставление нашей cookie, с которой он какое-то время сможет проходить на ваш ресурс без проверок.

Check force – согласно текущей политике безопасности, такому запросу нужно выдать дополнительную проверку.

Conn blocked by hosting – подсеть имеет плохую репутацию, из неё часто шлют запросы боты.

Conn blocked by no cookie – запрос обязан был содержать cookie Servicepipe, но пришёл без неё.

Custom white bot – мы обелили данный тип трафика по вашей просьбе.

Invalid method – клиент использовал метод HTTP-запроса, несовместимый с локацией, куда пришёл запрос.

Invalid uid – обнаружено вмешательство в cookie, трафик подозрительный.

Ip blocked — с этого IP недавно уже приходили подозрительные запросы, поэтому он временно заблокирован. Чтобы узнать причину изначальной блокировки, откройте лог предыдущих запросов с этого IP.

Ip blocked by spec – пользователь превысил один из лимитов запросов, установленных политикой защиты для вашего ресурса.

Local bgeo – запрос отправлен из страны, которую вы запретили при настройках геофильтрации.

Local black – запрос с IP, добавленного вами в чёрный список.

Local whdr — запрос с разрешённым HTTP-заголовком (whitelisted header) с ограниченным (limited) доверием. Такие запросы система пропускает без проверок, пока их число не превысит установленный лимит (например, 2000 запросов в минуту). Все запросы сверх лимита будут проверяться политикой фильтрации, установленной для вашего ресурса.

Local whd — запрос с разрешённым HTTP-заголовком (whitelisted header); запросы с ним пропускаются на ваш сервер-источник.

Local white — запрос от IP, добавленного вами в белый список.

Mobile app — это трафик, классифицированный как трафик легитимного мобильного приложения.

None – запрос не попадает под настройки ни белых/чёрных списков, ни ваших пользовательских правил, ни индивидуального защитного профиля. К нему применена базовая политика фильтрации — стандартная реакция системы защиты, которая зависит того, какой был класс (бот/вероятно бот/вероятно человек/человек) у источника запроса.

Protection disabled — защита отключена. Относится как к случаям, когда защита отключена для конкретной локации (к которой был запрос), так и когда она отключена для всего ресурса.

user_blocked — запрос от заблокированного пользователя (решение о его блокировке было принято раньше, во время одного из предыдущих запросов).

user_blocked_by_behavior — поведенческий анализ выявил аномальную активность. Запросы пользователя будут блокироваться, начиная с текущего.

user_blocked_by_no_correct_cookie – пользователь отправил запрос без требуемой cookie, что указывает на нелигитимность. Запросы пользователя будут блокироваться, начиная с текущего.

user_blocked_by_score — общий анализ действий и характеристик пользователя выявил нелигитимность. Его запросы будут блокироваться, начиная с текущего.

user_blocked_by_spec – пользователь превысил один из лимитов запросов, установленных политикой защиты для вашего ресурса. Запросы пользователя будут блокироваться, начиная с текущего.

white — запрос от официального проверенного (верифицированного) бота, то есть бота, который выполняет полезные задачи для интернета в целом — например, поискового краулера или системы uptime-мониторинга. Наша система защиты постоянно проверяет и обновляет список таких ботов. Запросы от них по умолчанию пропускаются без проверок.

white_corp – запрос из подсети, которую мы обелили по вашей просьбе.

Пример настройки фильтра:

Задача: найти запросы от нелигитимных ботов, которые система заблокировала.

Настройка:

  1. Добавьте первый фильтр: Action equals Block.

  2. Нажмите Фильтр + еще раз, чтобы добавить второй фильтр.

  3. Добавьте второй фильтр: Src. class in Bot , Likely bot.

  4. Нажмите Применить.

Результат: списки будут содержать только запросы от ботов, которые заблокировала наша система защиты. Вы увидите, с каких IP, подсетей и user agent они делали запросы, к каким эндпоитам и из каких стран.