Настройка 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– агрегированные счётчики.
Рекомендуемый формат журнала и порядок работы с источниками описаны в Журналах и метриках ноды.
Конфигурационный файл¶
Параметры ноды задаются конфигурационным файлом. Изменения применяются без перезапуска. Файлы конфигурации, списков и правил перечитываются автоматически.
Полный перечень параметров приведён в Параметрах конфигурации ноды.