Обучение трафику
Зачем нужно обучение, как оно проходит, как помогает улучшить защиту вашего ресурса.
Что это
Обучение трафику — этап подключения защиты, во время которого мы анализируем ваш трафик, создаём модель легитимного небраузерного трафика и на основе этой модели улучшаем настройки фильтрации для блокировки нежелательных автоматизаций.
Говоря проще, учимся точнее распознавать вашу полезную автоматизацию (запросы от ваших собственных скриптов, интеграций, приложений и так далее). Её блокировать не будем, любую другую — будем.
В каких случаях требуется
-
У вас есть открытый API, который нужно защитить.
-
У вас есть собственное мобильное приложение, которое обращается к вашему ресурсу.
Зачем нужно
Обучение поможет сделать фильтрацию трафика к вашему ресурсу более точной.
Обычно мы можем настроить все фильтры и без обучения. Но, если у вас есть открытый API или собственное мобильное приложение, для настройки не обойтись без анализа реального трафика. Раскройте текст ниже, чтобы узнать, почему.
Как мы настраиваем защиту
Чтобы понимать, как делается настройка, вам нужно знать, какие механизмы работают в «Защите веб-приложений» по умолчанию:
-
Система анализирует каждый запрос к вашему веб-ресурсу: учитывает его технические параметры, репутацию источника и при необходимости поведение пользователя в рамках сессии. По результатам анализа определяет, отправил запрос человек или бот.
-
Запросы от людей защита пропускает на ваш ресурс, ботов блокирует, а в спорных случаях выдаёт пользователю проверку.
-
По умолчанию весь небраузерный трафик (то есть отправленный не из браузера: Google Chrome, Opera, Safari или другого) система относит к ботам — то есть под блокировку попадают любые скрипты, сервисы, приложения и другие автоматизации.
|
Трафик фильтруется 24/7 в режиме защиты Антибот. При Анти-DDoS фильтрация включается только во время DDoS-атак. Подробнее. |
Чтобы адаптировать защиту под ваш ресурс, мы настраиваем дополнительные параметры: обеление вашей полезной автоматизации, кастомные правила, лимиты запросов и так далее. Делаем это на основе данных из опросника на подключение, который вы заполнили. В результате защита начинает работать ровно так, как вы того хотели.
Но есть два типа трафика, для настройки фильтрации которого данных из опросника недостаточно:
-
трафик к открытому API;
-
мобильный трафик при условии, что защита должна свободно пропускать на ресурс трафик вашего приложения.
Если у вас открытый API
Открытый API изначально рассчитан на обращения от автоматизаций: сторонних интеграций, скриптов, сервисов, приложений и других. Поэтому стандартная политика «разрешать людей и блокировать ботов» здесь не подходит.
Защиту открытого API нужно строить по модели «разрешать любой трафик, но с ограничениями». Чтобы определить, какие ограничения выставить, мы:
-
Отправляем вам дополнительный опросник, где вы описываете бизнес-логику своего ресурса и допустимую нагрузку на эндпоинты.
-
Проводим обучение трафику — несколько дней анализируем реальный трафик к вашему API и смотрим, как с ним работают легитимные пользователи и интеграции.
-
На основе собранных данных настраиваем фильтрацию:
-
лимиты запросов — глобальный и на конкретные эндпоинты;
-
фильтры по обязательным HTTP-заголовкам, если такие используются;
-
другие политики, которые зависят от бизнес-логики ресурса и помогают отличить нормальную работу с API от подозрительной.
-
Результат: к вашему API могут обращаться автоматизированные клиенты, но защита ограничивает сценарии, которые выглядят опасно для ресурса. Обучение здесь сыграло важную роль: благодаря анализу реального трафика мы смогли настроить фильтрацию точнее — с опорой на то, как с вашим API на самом деле работают легитимные клиенты.
Если у вас своё мобильное приложение, которое обращается к ресурсу
Мобильное приложение отправляет небраузерный трафик. По умолчанию система считает такой трафик автоматизацией и должна блокировать.
Чтобы защита пропускала запросы от вашего приложения, надо научить систему их распознавать. Для распознавания нужен набор отличительных признаков. Проблема в том, что у мобильного приложения обычно нет простых признаков, которые одновременно:
-
отличают его запросы от запросов других приложений,
-
трудно подделать.
Пример: у большинства приложений есть заголовок User-Agent — он обычно уникален. Но строить защиту только на основании простого параметра нельзя. Если мы станем пропускать все запросы с нужным User-Agent, злоумышленник однажды просто подделает заголовок и сможет свободно проходить на ваш ресурс.
Чтобы выстроить защиту надёжно, мы действуем так:
-
Отправляем вам дополнительный опросник, где вы указываете актуальные версии допустимых приложений и признаки, по которым их можно отличить их запросы — например, наборы HTTP-заголовков.
-
Начинаем обучение трафику — несколько дней анализируем реальный трафик вашего приложения, ищем устойчивые паттерны и технические особенности запросов.
-
На основе собранных данных создаём модель обучения — набор сигнатур, который точечно описывает трафик вашего приложения.
-
Настраиваем фильтрацию мобильного трафика: защита будет пропускать на ресурс только ваше приложение (распознать его трафик помогут сигнатуры из модели обучения), а чужие приложения — блокировать.
В результате ваше приложение сможет проходить на ресурс, а другие — нет. Даже если злоумышленник попытается мимикрировать под ваше приложение, у него, скорее всего, не получится это сделать: сигнатуры учитывают много параметров и подделать запросы под них очень сложно.
|
Если запрос совпал с сигнатурами модели обучения, это ещё не гарантирует, что он будет пропущен на ресурс. Сначала система сверится с вашими настройками:
Если на этих этапах всё в порядке, запрос будет пропущен. |
Каким будет результат
Мы улучшим настройки фильтрации для двух типов трафика:
-
Трафик к вашему открытому API: защита будет пропускать легитимные обращения от автоматизаций, а подозрительные — блокировать.
-
Мобильный трафик: защита будет пропускать запросы только из двух источников — вашего приложения (любые запросы) и мобильных браузеров (только запросы, сделанные людьми). Трафик других приложений заблокирует.
Как проходит подготовка и само обучение
Жирным выделены шаги, на которых от вас требуются какие-то действия.
-
Вы заполняете опросник на подключение защиты Servicepipe.
-
Мы настраиваем защиту, опираясь на ваши данные из опросника. Также подключаем к фильтрации временную модель обучения.
Временная модель обучения — набор сигнатур, который описывает типовые паттерны легитимных приложений. С его помощью будет фильтроваться весь небраузерный трафик: если запрос пришёл не из браузера и не подходит под эти сигнатуры, он будет заблокирован. Исключение — трафик, который попадает под ваши настройки: белый/чёрный список, геоограничения и пользовательские правила. Они имеют приоритет над временной моделью обучения и применяются в первую очередь.
-
Мы высылаем вам опросник на обучение, вы его заполняете.
-
Вы выбираете режим, в котором защита будет работать в период обучения: Антибот либо Анти-DDoS.
Выбор доступен только клиентам, которые купили Антибот. Если вы купили Анти-DDoS защиту, во время обучения может работать только Анти-DDoS.
-
Мы включаем защиту в нужном режиме и готовы принять ваш трафик.
-
Вы переводите трафик на нашу систему защиты.
Он должен проходить через облако Servicepipe (при схеме интеграции Proxy) или через NGINX/Angie-сервер с модулем Cybert в вашей инфраструктуре (при схеме Module).
-
Мы начинаем обучение: около 2-3 рабочих дней анализируем ваш реальный трафик, чтобы лучше понять его особенности. На основе собранных данных создаём:
-
Модель обучения — набор сигнатур, которые описывают паттерны трафика вашего мобильного приложения. Весь мобильный трафик будем фильтровать с помощью этой модели.
-
Набор настроек для защиты вашего открытого API от вредных автоматизаций.
-
-
Мы отключаем временную модель обучения. Вместо неё подключаем созданную модель обучения, а также применяем новые настройки фильтрации для открытого API.
На этом обучение закончено: фильтрация трафика к вашему ресурсу стала максимально точной.
Ответы на вопросы
Без обучения защита может работать?
Да. Просто фильтрация запросов к открытому API и запросов от мобильных приложений будет менее точной.
К моменту начала обучения какие настройки защиты уже сделаны?
Все, которые вы запрашивали.
Мы уже настроили защиту согласно вашим пожеланиям. Обучение нужно, только чтобы увеличить точность фильтрации мобильного трафика и трафика к открытому API.
Как долго длится обучение?
Обычно 3 рабочих дня. В исключительных случаях (например, если реальный трафик не совпадает с данными из опросника) может продлиться дольше.
Как выбрать режим защиты на время обучения, что это за режимы?
Наша защита может работать в двух режимах: Антибот и Анти-DDoS. Подробнее о них можно почитать в сравнительной статье. Если коротко, разница в том, постоянно наша система блокирует ботов или только во время DDoS-атаки.
Выберите, какой режим включить на время обучения. У каждого свои плюсы и минусы:
-
Антибот — защищает от ботов и DDoS-атак, но есть небольшой риск ложных срабатываний, так как фильтрация ещё не настроена идеально;
-
Анти-DDoS — защищает только от DDoS-атак; пока атаки нет, любые запросы (в том числе запросы ботов) проходят на ресурс, зато риск ложных срабатываний минимален.
Какой режим защиты будет действовать, когда обучение закончится?
Тот, который вы купили.
Как вы фильтруете трафик к моему открытому API и трафик от мобильных приложений, пока обучение не закончено?
С помощью временной модели обучения.
Временная модель обучения — набор сигнатур, которые описывают типовые паттерны легитимных приложений. Если запрос попадает под эти сигнатуры, он будет пропущен, если нет, заблокирован.
Исключение — трафик, который попадает под ваши настройки: белый/чёрный список, геоограничения и пользовательские правила. Они имеют приоритет над временной моделью обучения и применяются в первую очередь.