Перейти к содержанию

Настройка SmartBot Protection

SmartBot Protection работает в составе ноды на базе nginx. Модуль выполняет проверки запросов, отдаёт страницу проверки и страницу блокировки, а также обслуживает программный интерфейс для браузерных и мобильных клиентов.

Для работы защиты необходимо настроить веб-серверы, через которые проходит трафик защищаемых ресурсов. Развёртывание пакетов описано в разделе Установка и настройка.

Получение TLS-отпечатков

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

Способ получения отпечатка зависит от архитектуры:

  • Терминация TLS на ноде.
  • Приём соединений без терминации TLS.
  • Терминация TLS на предшествующем балансировщике с передачей отпечатка в заголовке.

Все три варианта описаны в Получении TLS-отпечатков.

Активация программного интерфейса

В каждом защищаемом сервере добавьте location, обслуживающий программный интерфейс:

location /v1/antibot {
    client_body_buffer_size 1m;
    antibot_mode off;
    antibot_api;
}

Идентификатор приложения в этом location должен совпадать с идентификатором защищаемого приложения в остальной части сервера.

Режимы и типы проверки

Поведение защиты задаётся для каждого location двумя директивами:

Директива Значения Назначение
antibot_mode off, monitoring, block Режим работы защиты
antibot_location_type fingerprint, token-check, landing Тип проверки ресурса

Пример конфигурации:

location / {
    antibot_mode block;
    antibot_location_type landing;
}

location /api {
    antibot_location_type token-check;
}

location /static {
    antibot_location_type fingerprint;
}

Конфигурация в Консоли управления имеет приоритет над директивами:

  • Правило, заданное для адреса, определяет тип проверки и режим работы.
  • Режим уровня приложения ограничивает режимы его адресов сверху.

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

Порядок управления правилами описан на странице Управление, доступные режимы и типы проверок – в Настройке режимов работы SmartBot Protection.

Встраивание агента в страницы

Для поведенческого анализа и продления токена в HTML-страницы встраивается скрипт агента.

Скрипт подставляется средствами ноды с помощью модуля подстановки текста. Типовая настройка:

proxy_set_header Accept-Encoding "";

sub_filter_types application/xhtml+xml;
sub_filter_once on;
sub_filter '<head>' '<head><script src="/v1/antibot/analyze.js"></script>';

Скрипт загружается браузером по адресу защищаемого домена. Отдельное размещение не требуется.

Порядок работы агента описан в Токене доступа и проверке запросов.

DNS-резолвер

Для проверки подлинности поисковых роботов нода выполняет обратные DNS-запросы.

Укажите доступный резолвер в секции http:

resolver 127.0.0.53 valid=50s;

Порядок проверки описан в Проверке поисковых роботов.

Журналы и метрики

Результаты проверок доступны через несколько источников:

  • Журнал доступа – решение проверки по каждому запросу через переменную $antibot_check_result.
  • Журнал antibot_api – обращения к программному интерфейсу.
  • Сервер статуса wallarm-status – агрегированные счётчики.

Рекомендуемый формат журнала и порядок работы с источниками описаны в Журналах и метриках ноды.

Конфигурационный файл

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

Полный перечень параметров приведён в Параметрах конфигурации ноды.