Создание правил
Для того чтобы создать правило необходимо перейти на вкладку «Правила» и нажать на кнопку «Добавить правило» (см. рисунок 174).

Рисунок 174 – Создание правила
После нажатия на кнопку «Добавить правило» появляется окно создания нового правила (см. рисунок 175).

Рисунок 175 – Окно создания правила
Окно создания правила содержит следующие элементы:
Название правила – поле ввода названия правила.
Критичность – в данном окне задаётся критичность правила из предложенного списка (см. рисунок 176). Критичность правила проставляется для дополнительной информации пользователю и не влияет на очередность срабатывания правил.

Рисунок 176 – Меню выбора критичности правила
Ревизия – окно выбора версионности правила с возможностью переключения на более старую версию.
В данном окне указывается количество срабатываний данного правила.
Добавление тега – в данном окне можно добавить теги из существующих (см. рисунок 177) или создать новые. Данный функционал позволяет пользователя фильтровать правила по категориям.

Рисунок 177 – Выбор существующего тега или создание нового
Примечание
при выборе тега появляется выпадающее меню с уже созданными тегами (см. рисунок 178).
Меню содержит только те теги, на которые были созданы общие правила. Тег, использующийся только для правил на конкретное приложение, предлагаться не будет. Однако, при необходимости, его можно ввести в строку ввода тега вручную.
Рисунок 178 – Меню выбора тегов
Цели – в данном разделе выбирается цель из предложенного списка (см. рисунок 179). Также имеется возможность выбора отрицания выбранного условия (см. рисунок 180). Доступные цели при создании правила описаны в таблице 29.

Рисунок 179 – Выбор цели

Рисунок 180 – Возможность использования отрицания условия
Таблица 29 – Выбор цели при создании правила
Возможные классы спецификации транзакции |
Возможные параметры |
Примечание |
|---|---|---|
Проверка кода HTTP-ответа |
Укажите коды ответов |
Правило работает только для перечисленных кодов ответов |
Использовать отрицание условия |
Правило работает для всех кодов ответов, кроме перечисленных |
|
Поиск регулярного выражения в теле ответа |
Регулярное выражение |
Правило работает для ответов, содержащих указанное регулярное выражение |
Использовать отрицание условия |
Правило работает для всех ответов, которые не содержат регулярное выражение |
|
Проверка веб-приложения |
Выберите приложение |
Правило будет распространяться только на трафик приложения |
Использовать отрицание условия |
Правило будет распространяться на трафик всех приложений, кроме указанного |
|
Проверка действия |
Выберите действие |
Может использоваться только после блока «Проверка веб-приложения». Правило распространяется только на трафик приложения, который соответствует выбранному действию |
Использовать отрицание условия |
Может использоваться только после блока «Проверка веб-приложения». Правило распространяется на весь трафик приложения кроме того, который соответствует выбранному действию |
|
Проверка успешности действия |
Выберите статус успешности действия |
Правило будет распространяться только на выбранный статус успешности действия |
Использовать отрицание условия |
Правило будет распространяться на трафик всех статусов успешности, кроме указанного |
Источники – в данном разделе выбирается источник из предложенного списка (см. рисунок 181). Также имеется возможность выбора отрицания выбранного условия. Доступные источники при создании правила описаны в таблице 30.

Рисунок 181 – Выбор источника
Таблица 30 – Выбор источника при создании правила
Возможные классы спецификации транзакции |
Возможные параметры |
Примечание |
|---|---|---|
Проверка идентификатора сессии |
Укажите идентификатор сессии |
Правило работает для всех запросов, идентификатор сессии которых соответствует заданному |
Использовать отрицание условия |
Правило работает для всех запросов, идентификатор сессии которых не соответствует заданному |
|
Запрос без идентификатора сессии |
– |
Правило работает для всех запросов без идентификатора сессии |
Использовать отрицание условия |
Правило не работает для всех запросов без идентификатора сессии |
|
Проверка имени пользователя |
Укажите имя пользователя |
Правило работает для запросов, относящихся к указанному пользователю |
Использовать отрицание условия |
Правило работает для запросов, относящихся ко всем пользователям кроме указанного |
|
Запрос от неавторизованного субъекта |
– |
Правило работает для запросов неавторизованных пользователей |
Использовать отрицание условия |
Правило работает для всех запросов, кроме запросов неавторизованных пользователей |
|
Проверка IP-адреса пользователя |
|
Правило работает для запросов, поступающих с указанного IP-адреса с указанной маской подсети |
Использовать отрицание условия |
Правило работает для всех запросов кроме запросов, поступающих с указанного IP-адреса с указанной маской подсети |
|
Проверка страны пользователя |
Укажите страну |
Правило работает для всех запросов, поступающих с IP-адресов, относящихся к определённой стране |
Использовать отрицание условия |
Правило работает для всех запросов кроме запросов, поступающих с IP-адресов, относящихся к определённой стране |
|
Проверка ASN пользователя |
Укажите ASN |
Правило работает для запросов, поступающих с указанного ASN |
Использовать отрицание условия |
Правило работает для запросов кроме запросов, поступающих с указанного ASN |
|
Проверка источника (конкретное значение) |
|
Правило работает для запросов, поступающих с указанного источника и с указанным значением для поиска совпадений с этим источником |
Использовать отрицание условия |
Правило работает для запросов кроме запросов, поступающих с указанного источника и с указанным значением для поиска совпадений с этим источником |
|
Проверка источника (любое значение) |
Укажите источник |
Правило работает для запросов, поступающих с указанного источника |
Использовать отрицание условия |
Правило работает для запросов кроме запросов, поступающих с указанного источника |
Аномалии – в данном разделе выбирается аномалия из предложенного списка (см. рисунок 182). Также имеется возможность выбора отрицания выбранного условия. Доступные аномалии при создании правила описаны в таблице 31.

Рисунок 182 – Выбор аномалии
Таблица 31 – Выбор аномалии при создании правила
Возможные классы спецификации транзакции |
Возможные параметры |
Примечание |
|---|---|---|
Наличие любой аномалии |
– |
Правило работает для любой транзакции с выявленной аномалией |
Использовать отрицание условия |
Правило работает для всего трафика, в котором не выявлены аномалии |
|
Наличие аномалии с заданными свойствами |
Выберите модуль анализа:
|
Правило работает для транзакции с выявленной выбранным модулем аномалией. Обязательное поле |
Задайте виды аномалий |
Правило работает для транзакции с выявленными выбранным модулем заданными аномалиями |
|
Выберите тип расположения аномалий:
|
Правило работает для транзакции с выявленной выбранным модулем аномалией, с указанным расположением |
|
Выберите имя расположения аномалии |
Правило работает для транзакции с выявленной выбранным модулем аномалией, с указанным расположением и указанным именем расположения аномалии |
|
Использовать отрицание условия |
Правило работает для всех транзакций кроме транзакций, соответствующих указанным параметрам |
В данном разделе выбирается действие из предложенного списка (см. рисунок 183) для созданного правила. Доступные действия при создании правила описаны в таблице 32.

Рисунок 183 – Выбор действия
Таблица 32 – Выбор действия при создании правила
Действие |
Возможные параметры |
Примечание |
|---|---|---|
Пометить транзакцию |
– |
Транзакция, соответствующая заданным в спецификациях «Цели», «Источники» и «Аномалии», помечается для дальнейшего анализа. Используется как действие по умолчанию |
Разрешить транзакцию |
– |
Транзакция, соответствующая заданным в спецификациях «Цели», «Источники» и «Аномалии», пропускается как легитимная |
Блокировать транзакцию |
– |
Транзакция, соответствующая заданным в спецификациях «Цели», «Источники» и «Аномалии», блокируется |
Добавить значение источника в список |
Прервать цепочку применения правил |
При срабатывании правила цепочка применения правил прерывается |
Решение для транзакции |
При срабатывании правила устанавливается выбранное решение |
|
Источник |
При срабатывании правила значение указанного источника добавляется в список |
|
Список |
При срабатывании правила значение источника добавляется в указанный список |
|
Описание добавляемого в список элемента |
Дополнительная информация о добавляемом значении источника |
|
Время жизни добавляемого элемента (в секундах) |
Значение источника будет добавлено на указанное время в список |
После заполнения всех необходимых полей необходимо нажать кнопку «Сохранить», в результате чего созданное правило появится в списке всех доступных правил.
Примечание
после создания правило находится в выключенном режиме, не забудьте включить правило, если это необходимо.
21.1. Особый шаблон ответа
Для настройки выдачи JavaScript-верификации с редиректом вместо блокировки в панели управления необходимо выбрать специальный шаблон ответа redirect.response.json (см. рисунок 184).
Рисунок 184 – Редирект вместо блокировки
Стандартная конфигурация /etc/ibatyr-nginx/templates/redirect.response.json выглядит так:
{
"$apply": "challenge",
"type": "redirect",
"valid_for": 300
}
Параметры:
Параметр valid_for отвечает за время в секундах, в течение которого действительна уже пройденная ранее валидация.
Если задано значение null, то валидация имеет бесконечный срок действия. Срок действия проверяется каждый запрос, к которому применяется мягкая реакция, так что если конфигурация меняется, то сразу используются новые настройки.
Недокументированный параметр obfuscation отвечает за настройки способа обфускации JavaScript-кода и имеет разумные умолчания, подобранные эмпирически.
Шаблон страницы при желании можно кастомизировать, отредактировав файл /etc/ibatyr-nginx/templates/redirect.html.
При блокировке с использованием этой мягкой реакции происходит следующее:
Проверяется, не проходил ли пользователь ранее эту валидацию.
Если старая валидация все еще действительна и IP-адрес пользователя не менялся, то запрос пропускается.
В журнале iBatyr Nginx это решение отображается как «Pass: challenge passed: redirect».
В противном случае в ответ отдается блокировка с обфусцированным JavaScript-кодом, который делает следующее:
В случае наличия признаков использования управляемого браузера, валидация считается неуспешной.
В случае успешной валидации:
Выполняется установка зашифрованного JWE-токена в cookie, имя которой определяется настройкой SESSIONS_COOKIE_NAME (по умолчанию — sw). Результат валидации привязывается к IP-адресу пользователя.
Происходит перенаправление (GET-запрос) на изначально запрошенный URL.

