Конструктор правил¶
Раздел «Конструктор правил» предназначен для настройки правил ModSecurity. Правила ModSecurity – актуальный набор правил кибербезопасности.
Включение защиты по правилам ModSecurity реализовано в разделах «Структура» – «Кластеры» (Настройка режима работы кластера), «Серверы» (Правила. Режим работы), «Пути» (Правила. Режим работы веб-страницы). Также защита по правилам ModSecurity зависит от настроек защиты F2B.
Допускается конструировать наборы правил для всего кластера в целом, а также конструировать свои наборы правил для входящих в кластер серверов.
По умолчанию Оператору доступен просмотр только базовых наборов правил. Чтобы был доступен просмотр остальных наборов правил, необходимо предоставить Оператору доступ к кластеру, что осуществляет Администратор в разделе «Структура» – «Кластеры» (подробнее Настройка пользователей кластера).

- установка базового набора правил Core-Rules-Set (CRS) (подробнее Установка базового набора правил).
Создать - создание набора правил (подробнее Создание нового набора правил).
- перемещение набора правил в списке (подробнее Перемещение набора правил).
- экспорт набора правил (подробнее Экспорт правил).
- импорт правил в набор (подробнее Импорт правил в набор).
- добавление правила в набор (подробнее Добавление правила в набор).
- удаление набора правил (подробнее Удаление набора правил).
- просмотр набора правил (подробнее Работа с правилом из набора).
Установка базового набора правил¶
Для нового кластера по умолчанию наборы правил не установлены.

- установка базового набора правил Core-Rules-Set (CRS). Базовый набор правил устанавливается для кластера в целом:
в верхней части окна задается Кластер,
в соседнем поле выбираем «Правила кластера».
Создание нового набора правил¶
Новый набор правил ModSecurity устанавливается в разделе «Конструктор правил».

В верхней части окна задается кластер, для которого создается набор правил ModSecurity. Допускается создавать набор правил для всего кластера в целом, а также создавать свои наборы правил для входящих в кластер серверов. Рядом с полем Кластер расположено поле выбора сервера. Чтобы задать набор правил ModSecurity для всего кластера – выберите «Правила кластера», как показано на рисунке выше.
Создать - создание пустого набора правил. Затем можно добавлять правила в набор.

Имя набора - заполняется английскими буквами, цифрами, дефисом или нижним подчеркиванием, от 5 до 60 символов.
Работа с правилом из набора¶
Отдельное правило из набора можно редактировать, изменить режим работы, переместить, удалить в разделе «Конструктор правил».

- просмотр набора правил.
- перемещение правила в наборе (подробнее Перемещение правила).
- редактирование правила (подробнее Редактирование правила).
- удаление правила.
- просмотр истории событий правила.
(Блокировка) и
(Обучение) - переключатели правила из блокировки в обучение и обратно.
(Блокировка) – блокируются запросы, для которых срабатывает данное правило. При этом должна быть настроена защита ModSecurity, включен режим работы кластера «Блокировка» и режим работы сервера «Активный» (подробнее Структура. Кластеры, Структура. Серверы).
(Обучение) – запросы фиксируются, но не блокируются. Данный режим полезен в ходе подбора корректного правила.
Информацию о запросах, для которых срабатывает правило ModSecurity, можно найти в разделах События. Таблица атак, События. Дашборд, Отчеты.
Режим работы защиты ModSecurity также настраивается:
для кластера – в разделе «Структура» – «Кластеры» (подробнее Настройка режима работы кластера),
для сервера кластера – в разделе «Структура» – «Серверы» (подробнее Правила. Режим работы),
для страницы сервера кластера – в разделе «Структура» – «Пути» (подробнее Правила. Режим работы веб-страницы).
Редактирование правила
- редактирование правила. Вид окна зависит от выбора редактора правил в окне или в Профиле пользователя
(подробнее Подключение редактора правил). Виды редактора правил:
Базовый,
Упрощенный,
Продвинутый.
Базовый редактор правил имеет простое окно для ввода кода правила.

Упрощенный редактор правил предоставляет возможность создавать и редактировать правило с помощью схемы и шаблона.

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

Перемещение правила
Перемещение правил применяется для задания порядка выполнения правил. Защита будет применять правила в том порядке, в котором правила размещены в наборе.
Перемещение правила выше или ниже в списке выполняется за две операции:
сначала нажмите пиктограмму
– в этом столбце
заменятся на
и
, как показано на рисунке;
затем нажмите на пиктограмму
того правила, куда хотите переместить исходное правило.
Для отмены перемещения нажмите .
Например, как показано на рисунке ниже, перемещается правило 6600002. Чтобы вставить правило перед 6600001, нажмите на пиктограмму правила
6600001. Чтобы вставить правило после 6600003, нажмите на пиктограмму
правила 6600003.

Если поднимаете правило в списке, то оно вставляется перед указанным правилом.
Если опускаете правило в списке, то оно вставляется после указанного правила.
Структура правила ModSecurity¶
Правило ModSecurity имеет следующую структуру:
SecRule <переменные> "<оператор>" "<действия и преобразования>"
где
SecRule
– конфигурационная директива для создания правила;Переменные – параметры запроса, которые подлежат анализу, например: URI, заголовки или тело запроса; обязательно указывается в правиле;
Оператор – искомые в переменной условия, при совпадении которых будет выполнены действия; обязательно указывается в правиле;
Действия – реакции ModSecurity на совпадение условий;
Преобразования – какие преобразования должна претерпеть переменная перед тем, как с ней начнет работать оператор.
В правиле в секции действий и преобразований указывается фаза обработки запроса. По умолчанию phase:2
.
phase:1
– анализ заголовков запроса;phase:2
– анализ тела запроса;phase:3
– анализ заголовков ответа;phase:4
– анализ тела ответа;phase:5
– после завершения запроса сохраняется запись в журнал регистрации.
Пример. Правило ModSecurity:
SecRule REQUEST_URI "@streq /index.php" "id:1,phase:1,t:lowercase,deny"
id:1
– идентификатор правила – 1.
В заголовке HTTP-запроса (phase:1
) часть с URI (REQUEST_URI
) преобразовывается в нижний регистр (t:lowercase
) и сравнивается со строковым значением /index.php
(@streq /index.php
).
При совпадении:
сохраняется запись в журнал регистрации (по умолчанию
log
,auditlog
),обработка запроса правилами прекращается,
запрос отклоняется (
deny
).
Добавление правила в набор¶
Добавление нового правила ModSecurity доступно по пиктограмме в списке правил раздела «Конструктор правил» для заданных кластера и сервера
(или «правил кластера»). Правило добавляется в конец списка.
Вид редактора правил задается в окне или в Профиле пользователя.
Базовый редактор правил имеет простое окно для ввода кода правила.

Упрощенный редактор правил позволяет создавать правило с помощью шаблонов.

После выбора шаблона выдается окно ввода дополнительных параметров. Например, при выборе шаблона «Блокировка всех запросов с определенного IP-адреса» выдается окно ввода IP-адреса.

Затем открывается окно «Новое правило» упрощенного редактора с кодом правила ModSecurity, согласно выбранному шаблону и заданным параметрам, где можно продолжить составлять правило, изменяя параметры.

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

Импорт правил в набор¶
Импорт правил в набор осуществляется с помощью пиктограммы в списке наборов правил раздела «Конструктор правил» для заданных кластера
и сервера (или «правил кластера»). Файл в json-формате может содержать несколько правил.

Создать в пассивном режиме - опция позволяет не блокировать запросы, отвечающие импортируемым правилам. Переключение между режимами осуществляется в списке правил (подробнее Работа с правилом из набора).
При включенной опции правила добавятся с пиктограммой
(Обучение).
При отключенной опции правила импортируются с пиктограммой
(Блокировка).
Быстрая загрузка - ускорение операции за счет способа загрузки правил.
Примечание
Нежелательно импортировать правила, которые уже есть в этом или в другом наборе для заданных кластера и сервера.
Экспорт правил¶
Экспорт правил осуществляется с помощью пиктограммы в списке наборов правил раздела «Конструктор правил» для заданных кластера
и сервера (или «правил кластера»).
Файл в json-формате сохраняется в папку загрузок.
Перемещение набора правил¶
Защита будет применять наборы правил в том порядке, в котором наборы правил расположены в списке раздела «Конструктор правил». Для изменения порядка применения наборов правил перемещают набор по списку.
Перемещение набора правил доступно по пиктограмме в списке наборов правил раздела «Конструктор правил» для заданных
кластера и сервера (или «правил кластера»).
Перемещение выполняется за две операции:
сначала нажимаем пиктограмму
(в этом столбце
заменятся на
и
, как показано на рисунке ниже);
затем нажимаем на пиктограмму
того набора, куда хотим переместить исходный набор.
Для отмены перемещения нажимаем .
Например, как показано на рисунке ниже, перемещается набор правил NEWSETRULE. Чтобы вставить набор правил перед базовым набором Core-Rules-Set,
нажмите на пиктограмму набора Core-Rules-Set. Чтобы вставить набор правил после BASERULES, нажмите на пиктограмму
набора BASERULES.

Примечание
Если поднимаете набор в списке, то он вставляется перед указанным набором. Если опускаете набор в списке, то он вставляется после указанного набора.
Удаление набора правил¶
Удаление набора правил выполняется с помощью пиктограммы в списке правил раздела «Конструктор правил».
