Конструктор правил

Раздел «Конструктор правил» предназначен для настройки правил ModSecurity. Правила ModSecurity – актуальный набор правил кибербезопасности.

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

Допускается конструировать наборы правил для всего кластера в целом, а также конструировать свои наборы правил для входящих в кластер серверов.

По умолчанию Оператору доступен просмотр только базовых наборов правил. Чтобы был доступен просмотр остальных наборов правил, необходимо предоставить Оператору доступ к кластеру, что осуществляет Администратор в разделе «Структура» – «Кластеры» (подробнее Настройка пользователей кластера).

../_images/user_guide_648rk.png

lk_base_rule - установка базового набора правил Core-Rules-Set (CRS) (подробнее Установка базового набора правил).

Создать - создание набора правил (подробнее Создание нового набора правил).

lk_cut - перемещение набора правил в списке (подробнее Перемещение набора правил).

lk_exp - экспорт набора правил (подробнее Экспорт правил).

lk_imp - импорт правил в набор (подробнее Импорт правил в набор).

lk_app - добавление правила в набор (подробнее Добавление правила в набор).

lk_rk_del - удаление набора правил (подробнее Удаление набора правил).

lk_eye - просмотр набора правил (подробнее Работа с правилом из набора).

Установка базового набора правил

Для нового кластера по умолчанию наборы правил не установлены.

../_images/user_guide_473rk.png

lk_base_rule - установка базового набора правил Core-Rules-Set (CRS). Базовый набор правил устанавливается для кластера в целом:

  • в верхней части окна задается Кластер,

  • в соседнем поле выбираем «Правила кластера».

Создание нового набора правил

Новый набор правил ModSecurity устанавливается в разделе «Конструктор правил».

../_images/user_guide_473rk.png

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

Создать - создание пустого набора правил. Затем можно добавлять правила в набор.

../_images/user_guide_470rk.png

Имя набора - заполняется английскими буквами, цифрами, дефисом или нижним подчеркиванием, от 5 до 60 символов.

Работа с правилом из набора

Отдельное правило из набора можно редактировать, изменить режим работы, переместить, удалить в разделе «Конструктор правил».

../_images/user_guide_469rk.png

lk_eye - просмотр набора правил.

lk_cut - перемещение правила в наборе (подробнее Перемещение правила).

lk_rk_pen - редактирование правила (подробнее Редактирование правила).

lk_rk_del - удаление правила.

lk_red_clock - просмотр истории событий правила.

lk_ml_red (Блокировка) и lk_ml_green (Обучение) - переключатели правила из блокировки в обучение и обратно.

lk_ml_red (Блокировка) – блокируются запросы, для которых срабатывает данное правило. При этом должна быть настроена защита ModSecurity, включен режим работы кластера «Блокировка» и режим работы сервера «Активный» (подробнее Структура. Кластеры, Структура. Серверы).

lk_ml_green (Обучение) – запросы фиксируются, но не блокируются. Данный режим полезен в ходе подбора корректного правила.

Информацию о запросах, для которых срабатывает правило ModSecurity, можно найти в разделах События. Таблица атак, События. Дашборд, Отчеты.

Режим работы защиты ModSecurity также настраивается:

Редактирование правила

lk_rk_pen - редактирование правила. Вид окна зависит от выбора редактора правил в окне или в Профиле пользователя (подробнее Подключение редактора правил). Виды редактора правил:

  • Базовый,

  • Упрощенный,

  • Продвинутый.

Базовый редактор правил имеет простое окно для ввода кода правила.

../_images/user_guide_529rk.png

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

../_images/user_guide_602rk.png

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

../_images/user_guide_603rk.png

Перемещение правила

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

Перемещение правила выше или ниже в списке выполняется за две операции:

  • сначала нажмите пиктограмму lk_cut – в этом столбце lk_cut заменятся на lk_cross и lk_put, как показано на рисунке;

  • затем нажмите на пиктограмму lk_put того правила, куда хотите переместить исходное правило.

Для отмены перемещения нажмите lk_cross.

Например, как показано на рисунке ниже, перемещается правило 6600002. Чтобы вставить правило перед 6600001, нажмите на пиктограмму lk_put правила 6600001. Чтобы вставить правило после 6600003, нажмите на пиктограмму lk_put правила 6600003.

../_images/user_guide_480rk.png

Если поднимаете правило в списке, то оно вставляется перед указанным правилом.

Если опускаете правило в списке, то оно вставляется после указанного правила.

Структура правила ModSecurity

Правило ModSecurity имеет следующую структуру:

SecRule <переменные> "<оператор>" "<действия и преобразования>"

где

  • SecRule – конфигурационная директива для создания правила;

  • Переменные – параметры запроса, которые подлежат анализу, например: URI, заголовки или тело запроса; обязательно указывается в правиле;

  • Оператор – искомые в переменной условия, при совпадении которых будет выполнены действия; обязательно указывается в правиле;

  • Действия – реакции ModSecurity на совпадение условий;

  • Преобразования – какие преобразования должна претерпеть переменная перед тем, как с ней начнет работать оператор.

В правиле в секции действий и преобразований указывается фаза обработки запроса. По умолчанию phase:2.

  • phase:1 – анализ заголовков запроса;

  • phase:2 – анализ тела запроса;

  • phase:3 – анализ заголовков ответа;

  • phase:4 – анализ тела ответа;

  • phase:5 – после завершения запроса сохраняется запись в журнал регистрации.


lk_simbol Пример. Правило 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 доступно по пиктограмме lk_app в списке правил раздела «Конструктор правил» для заданных кластера и сервера (или «правил кластера»). Правило добавляется в конец списка.

Вид редактора правил задается в окне или в Профиле пользователя.

Базовый редактор правил имеет простое окно для ввода кода правила.

../_images/user_guide_530rk.png

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

../_images/user_guide_604rk.png

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

../_images/user_guide_533rk.png

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

../_images/user_guide_605rk.png

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

Примечание

Нежелательно добавлять правило, которое есть в данном или соседнем наборе для заданных кластера и сервера.

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

../_images/user_guide_588rk.png

Импорт правил в набор

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

../_images/user_guide_487rk.png

Создать в пассивном режиме - опция позволяет не блокировать запросы, отвечающие импортируемым правилам. Переключение между режимами осуществляется в списке правил (подробнее Работа с правилом из набора).

При включенной опции правила добавятся с пиктограммой lk_ml_green (Обучение).

При отключенной опции правила импортируются с пиктограммой lk_ml_red (Блокировка).

Быстрая загрузка - ускорение операции за счет способа загрузки правил.

Примечание

Нежелательно импортировать правила, которые уже есть в этом или в другом наборе для заданных кластера и сервера.

Экспорт правил

Экспорт правил осуществляется с помощью пиктограммы lk_exp в списке наборов правил раздела «Конструктор правил» для заданных кластера и сервера (или «правил кластера»).

Файл в json-формате сохраняется в папку загрузок.

Перемещение набора правил

Защита будет применять наборы правил в том порядке, в котором наборы правил расположены в списке раздела «Конструктор правил». Для изменения порядка применения наборов правил перемещают набор по списку.

Перемещение набора правил доступно по пиктограмме lk_cut в списке наборов правил раздела «Конструктор правил» для заданных кластера и сервера (или «правил кластера»).

Перемещение выполняется за две операции:

  • сначала нажимаем пиктограмму lk_cut (в этом столбце lk_cut заменятся на lk_cross и lk_put, как показано на рисунке ниже);

  • затем нажимаем на пиктограмму lk_put того набора, куда хотим переместить исходный набор.

Для отмены перемещения нажимаем lk_cross.

Например, как показано на рисунке ниже, перемещается набор правил NEWSETRULE. Чтобы вставить набор правил перед базовым набором Core-Rules-Set, нажмите на пиктограмму lk_put набора Core-Rules-Set. Чтобы вставить набор правил после BASERULES, нажмите на пиктограмму lk_put набора BASERULES.

../_images/user_guide_488rk.png

Примечание

Если поднимаете набор в списке, то он вставляется перед указанным набором. Если опускаете набор в списке, то он вставляется после указанного набора.

Удаление набора правил

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

../_images/Weblock_Logos_small.png