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

Пользовательские правила детекта

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

Добавление нового правила детекта

Для этого надо создать правило Считать запрос атакой на основе регулярного выражения и заполнить поля:

  • Регулярное выражение — регулярное выражение (сигнатура). Если значение указанного ниже параметра попадает под выражение, такой запрос детектируется как атака. Синтаксис и особенности регулярных выражений описаны в инструкции по добавлению правил.

    Изменение регулярного выражения в существующем правиле

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

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

  • Экспериментально — этот флаг позволяет безопасно проверить срабатывания регулярного выражения без блокировки запросов. Запросы не будут блокироваться даже при работе WAF‑ноды в режиме блокировки. Все срабатывания будут рассматриваться как обнаруженные экспериментальным методом и доступны в поиске по выражению experimental attacks;

  • Тип атаки — тип атаки, которая будет обнаружена при попадании значения параметра в запросе под регулярное выражение;

  • в этой части запроса — определяет, в каком параметре запроса детектировать соответствующие атаки.

Пример — блокировка всех заголовков с некорректным заголовком X-Authentication

Если выполняются следующие условия:

  • приложение доступно на домене example.com;

  • приложение использует для аутентификации пользователей заголовок X-Authentication;

  • формат заголовка — 32 hex-символа.

Тогда для создания правила, запрещающего токены с неправильным форматом:

  1. Зайдите во вкладку Правила;

  2. Найдите ветку для example.com/**/*.* и нажмите Добавить правило;

  3. Выберите Считать запрос атакой на основе регулярного выражения;

  4. Введите в поле Regex значение [^0-9a-f]|^.{33,}$|^.{0,31}$;

  5. Выберите для Атака тип Virtual patch;

  6. Выберите параметр Header и введите его значение X-AUTHENTICATION после в этой части запроса;

  7. Нажмите Создать.

Создание пользовательского правила детекта

Частичное отключение нового правила детекта

Если созданное правило необходимо частично отключить для отдельной ветки, то это можно сделать, создав правило Отключить обнаружение атак по регулярным выражениям со следующими полями:

  • Регулярные выражения — ранее созданные регулярные выражения, которые необходимо игнорировать;

    Поведение правила при изменении регулярного выражения

    При обновлении регулярного выражения в правиле Считать запрос атакой на основе регулярного выражения, правило Отключить обнаружение атак по регулярным выражениям для предыдущего выражения автоматически удалится.

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

  • в этой части запроса — параметр, для которого нужно установить отключение правила.

Пример — разрешить неправильный заголовок X-Authentication для отдельного URL

Допустим, у вас есть скрипт example.com/test.php, на котором вы хотите изменить формат токенов.

Для создания соответствующего правила:

  1. Зайдите во вкладку Правила;

  2. Найдите или создайте ветку для example.com/test.php и нажмите Добавить правило;

  3. Выберите Отключить обнаружение атак по регулярным выражениям;

  4. Выберите регулярное выражение, которое необходимо отключить;

  5. Выберите параметр Header и введите его значение X-AUTHENTICATION после в этой части запроса;

  6. Нажмите Создать.

Отключение пользовательского правила детекта