Обеление трафика

Что такое обеление трафика, зачем нужно и как его настроить для ваших ресурсов.

Что это

Обеление — отключение фильтрации для трафика, поступающего от доверенных источников.

Пример: можно обелить вашу корпоративную подсеть. Тогда любые запросы из этой сети будут проходить на ресурс свободно — независимо от того, отправлены они людьми или ботами.

Зачем нужно

Обеление нужно, чтобы блокирующие политики защиты не мешали работе вашего легитимного трафика.

Наша защита работает так:

  1. Проводит многофакторный анализ каждого запроса — смотрит на технические параметры запроса и соединения, сопоставляет их с сигнатурами легитимного и ботового трафика, учитывает репутацию источника и при необходимости анализирует поведение в рамках сессии.

  2. По результатам анализа присваивает источнику запроса один из классов:

    • Человек — запрос отправил человек.

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

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

    • Бот — запрос отправил бот.

  3. К каждому классу применяет настроенные политики фильтрации:

    • В режиме Антибот защита работает 24/7. Запросы людей пропускает на ресурс, ботов блокирует, а если защита не уверена, бот отправил запрос или человек — выдаёт проверку.

    • В режиме Анти-DDoS фильтрация включается только во время DDoS-атаки, а в остальное время защита пропускает любые запросы (в том числе запросы ботов).

По умолчанию защита относит весь небраузерный трафик к классу «Бот». Поэтому под блокировку может попасть не только вредоносная, но и полезная автоматизация — ваши собственные скрипты, парсеры, сервисы мониторинга или запросы партнёров к API.

Чтобы полезная автоматизация продолжила работать, её нужно обелить. Тогда защита узнает ваш легитимный трафик и пропустит к ресурсу без проверок.

Как работает

  1. Задаются параметры, по которым система узнает запросы из ваших доверенных источников. Это может быть IP источника, User-Agent, фрагменты URL, ASN, заголовки и другие технические данные.

    Дополнительно можно установить лимиты на количество обелённых запросов (например, пропускать в минуту не больше 100 запросов, которые подходят под указанные параметры) или ограничить обеление статусом DDoS-атаки (например, включать только во время атаки или только вне её).

  2. Система проверяет каждый входящий запрос на соответствие этим условиям.

  3. Если запрос подходит под заданные условия, он пропускается к ресурсу автоматически. Если нет — отправляется на дальнейшую фильтрацию.

Примеры

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

Пример 1. Обеление подсети

Доступность вашего ресурса регулярно проверяет сервис мониторинга. Он отправляет проверочные запросы с IP-адресов из своей подсети. Чтобы не добавлять каждый адрес отдельно, вы обеляете всю подсеть:

  • IP-адрес источника: 203.0.113.0/24

Защита будет пропускать запросы со всех IP-адресов внутри подсети: например, 203.0.113.10, 203.0.113.25, 203.0.113.150.

Пример 2. Обеление по нескольким параметрам

Партнёрский сервис отправляет запросы к API вашего ресурса. Обелять весь трафик от партнёра рискованно, поэтому вы настраиваете пропуск только конкретного сценария обращения:

  • IP-адрес источника: 198.51.100.25

  • HTTP-метод: POST

  • URL: /api/orders/create

  • HTTP-заголовок: X-Partner-ID: partner-123

Защита пропустит запрос только при совпадении всех условий: он должен прийти с IP-адреса 198.51.100.25, использовать метод POST, обращаться к пути /api/orders/create и содержать заголовок X-Partner-ID: partner-123.

Пример 3. Обеление по параметру с лимитом

У вас есть бот, который регулярно проводит SEO-аудит вашего сайта. Он отправляет запросы с разных IP-адресов, но всегда с одним и тем же значением User-Agent. Чтобы подстраховаться на случай подделки User-Agent злоумышленником или аномального всплеска трафика от самого бота, вы настраиваете обеление с лимитом:

  • User-Agent: MyCompanyBot/2.0

  • Лимит: 100 запросов в минуту на один IP

  • Применять обеление: До достижения лимита

Защита пропустит с каждого IP только первые 100 запросов в минуту, которые пришли с User-Agent: MyCompanyBot/2.0. 101-й и последующие запросы будут проходить полноценную фильтрацию.

Что учесть перед настройкой

  • Обелите вашу полезную автоматизацию заранее — до подключения защиты. Иначе система будет её блокировать.

  • Если защита уже подключена, и у вас появился новый доверенный источник трафика:

    1. Настройте обеление этого трафика.

    2. Предупредите нас о новом доверенном трафике.

    3. Запустите этот трафик на ресурс.

    Мы проследим за работой защиты: проверим, что нет ложных срабатываний, и при необходимости поможем доработать настройки.

  • Если у вас есть открытый API или собственное мобильное приложение, которое обращается к ресурсу, настроить обеление самостоятельно может быть трудно. Напишите нам, мы поможем: проведём обучение трафику и настроим фильтрацию сами.

Как настроить

Вы можете обелить трафик с помощью двух инструментов: Белый список и Пользовательские правила.

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

Белый список

Суть: обеление по IP-адресам или подсетям. Любой трафик с доверенных адресов будет всегда проходить на ресурс.

Как настроить:

  1. Перейдите в раздел Защита приложений → Ресурсы. Напротив нужного ресурса нажмите на три точки (…​) и выберите Настройки.

    Переход к настройкам ресурса
  2. Откройте вкладку Белый список и добавьте доверенные адреса или подсети в список.

    Пример белого списка

    Подробная инструкция по настройке — в статье Белый список.

Пользовательские правила

Суть: гибкое обеление по параметрам запроса. Любой запрос, попадающий под заданные условия, будет пропускаться на ресурс без дополнительных проверок.

Как настроить:

  1. Перейдите в раздел Защита приложений → Ресурсы. Напротив нужного ресурса нажмите на три точки (…​) и выберите Пользовательские правила.

    Контекстное меню с действиями для ресурса
  2. Перейдите к созданию правила и задайте параметры обеляемого трафика.

    Пример: User-Agent — MyBusinessBot/1.0

    Параметров можно использовать один или несколько сразу. Если указать несколько, они работают по логике И — запрос будет пропущен, только если соответствует всем одновременно.

    Список доступных параметров
    • Страна — географическое местоположение IP источника.

    • ASN — номер автономной системы, которой принадлежит IP источника.

    • Query string — параметры, указанные в URL после знака ?.

    • Путь URL — путь URL запроса (часть URL после домена и до знака ?).

    • Сегмент пути URL — любая часть пути URL: название раздела, расширение файла или любой набор символов из адреса.

    • Referer — значение заголовка Referer: адрес страницы, с которой пользователь перешёл на ваш ресурс.

    • Content-Type — формат передаваемых в запросе данных (например, JSON, обычный текст, изображения, данные из веб-форм).

    • Имя хоста — значение заголовка Host: доменное имя сервера, к которому обращается клиент.

    • User-Agent — значение заголовка User-Agent: идентификатор браузера, устройства или программного клиента, который делает запрос.

    • X-Forwarded-For — значение заголовка X-Forwarded-For: цепочка IP-адресов прокси-серверов, через которые прошёл запрос до попадания на ваш ресурс.

    • Cookie — имена и значения cookie-файлов.

    • Заголовок — имена и значения произвольных HTTP-заголовков.

    • Метод запроса — тип используемого HTTP-метода (GET, POST, PUT и др.).

    • Хэши — уникальный «цифровой отпечаток» устройства (хэш) одного из трёх уровней точности: Servicepipe hash (loose), Servicepipe hash (medium) или Servicepipe hash (strict).

    • Исходные подсети — IP-адрес или подсеть отправителя.

    • Хостинговая подсеть — трафик с IP-адресов, принадлежащих хостинг-провайдерам или дата-центрам.

    • Запрос от нового пользователя — трафик от пользователей, которые зашли на ресурс впервые и ещё не имеют «цифрового отпечатка» в нашей базе.

  3. (Опциональный шаг) настройте лимит запросов.

    Пример: не больше 1000 запросов в минуту.

    Пока трафик соответствует правилу и укладывается в лимит, защита автоматически пропускает его на ресурс. После превышения лимита автопропуск отключается: следующие запросы проходят обычную фильтрацию.

    Лимит здесь выступает страховкой на случай, если злоумышленники научатся имитировать обеляемый трафик. При настройке правила задайте:

    • тип лимита — Общий (суммарно по всем IP) или На один IP (отдельный счётчик для каждого адреса);

    • количество запросов (от 1 до 5000) за период (от 1 секунды до 10 минут);

    • режим До достижения лимита — он работает именно так, как описано выше: правило пропускает запросы, пока лимит не исчерпан, и отключается после превышения.

  4. (Опциональный шаг) укажите, должна ли работа правила зависеть от DDoS-атаки.

    Пример: обеление работает, только пока нет DDoS-атаки.

    Настройка делается через переключатель «Статус DDoS-атаки». Доступно три варианта:

    • Всегда — правило активно постоянно.

    • Пока нет DDoS-атаки — пока нет DDoS-атаки, правило работает; как только началась атака, правило перестаёт работать.

    • Во время DDoS-атаки — пока идёт атака, правило работает; как только атака закончилась, правило перестаёт работать.

  5. Установите действие «Пропустить» для всех четырёх классов источника: Бот, Вероятно бот, Вероятно человек, Человек.

    Пример обеляющего правила

    Подробная инструкция по настройке — в статье Пользовательские правила.

Место обеления в этапах фильтрации трафика

Фильтрация проходит поэтапно. На рисунке ниже показано, в каком порядке система защиты обрабатывает трафик. Этапы, где применяются механизмы обеления, выделены зелёным.

Схема этапов фильтрации трафика

Подробнее про выделенные этапы:

  • Белый список. Доверенные IP-адреса, которые вы или поддержка добавили в список. Вы можете управлять списком через UI или API.

  • Обеление по URL и HTTP-заголовку. Отдельный механизм фильтрации, который мы настраиваем по вашему запросу. Настройки хранятся на нашей стороне и недоступны через UI/API.

  • Пользовательские правила. Правила фильтрации, созданные вами. Вы можете управлять ими через UI.

  • Индивидуальные настройки защиты. Остальные настройки фильтрации, которые мы создали специально для вашего ресурса — включая обеление, настроенное по вашему запросу. Хранятся на нашей стороне и недоступны в UI.

Порядок инструментов определяет их приоритет: если механизм блокировки стоит выше механизма обеления, запрос не пройдёт.

Пример: чёрный список стоит выше обеления по HTTP-заголовкам, поэтому любой запрос с адреса из чёрного списка будет заблокирован — даже тот, что содержит нужные заголовки.

Логи обелённого трафика

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

В каждой записи вы найдёте:

  • Параметры входящего запроса.

  • Действие, которое система применила к запросу. У трафика, пропущенного к ресурсу, всегда отображается Pass (пропущен).

  • Причина, по которой система применила действие. Если пропуск был по причине обеления, вы увидите одно из следующих значений:

    • local_white — запрос пришёл с IP-адреса из белого списка;

    • white_corp — запрос из вашей корпоративной подсети, обелённой нашими инженерами;

    • white — запрос от верифицированного бота, который выполняет полезные задачи в интернете (например, поискового краулера или сервиса мониторинга доступности);

    • ID (пользовательское правило) — запрос попал под действие пользовательского правила;

    • local_whdrl — сработало обеление по HTTP-заголовку;

    • protection_disabled — сработало обеление по конкретной локации (к которой был запрос);

    • custom_white_bot — трафик, который мы обелили по вашей просьбе.

  • Исходный класс, в который система определила источник запроса: Human (человек), Likely Human (скорее всего, человек), Likely bot (скорее всего, бот) или Bot (бот).

Пример обелённого трафика в логах