У вас есть несколько вариантов:
1) Используйте оценку аномалий и значение sql_injection_score
, которое OWASP CRS устанавливает для правил SQLi.
- Установите ваш режим на DetectionOnly.
- Установите ваши значения оценки аномалии очень высокими в
- Добавить новое правило, которое блокирует, если
sql_injection_score
выше определенной суммы.
Это может быть достигнуто с помощью дополнительного правила, такого как:
SecRule tx.sql_injection_score "@gt 1”
"id:9999,\
phase:5,\
ctl:ruleEngine=on \
block"
Установка ”@gt 1”
на соответствующий порог.
OWASP CRS устанавливает аналогичные переменные и для других категорий.
2) Загружать правила по отдельности и правила до и после включения и выключения механизма правил.
В пределах фазы правила выполняются в указанном порядке. Вы можете использовать это, чтобы иметь конфигурацию, подобную следующей:
SecRuleEngine DetectionOnly
Include rules/other_rules_1.conf
Include rules/other_rules_2.conf
SecAction “id:9000, phase:2, ctl: ctl:ruleEngine=on”
Include rules/sqli_rules.conf
SecAction “id:9001, phase:2, ctl: ctl:ruleEngine=off”
Include rules/other_rules_3.conf
Include rules/other_rules_4.conf
Однако, если категория содержит несколько фаз, вам нужно добавить несколько секций - по одной для каждой используемой фазы.
3) Активируйте нужные вам правила, изменив Действия, чтобы включить включение правила.
Это, вероятно, немного хрупко, поскольку зависит от знания конкретных идентификаторов правил, а также требует проверки действий по правилу или предположения, что они все одинаковы. Наверное, лучше просто отредактировать файлы CRS, если честно.
Вероятно, это лучше, если вы хотите включить только набор правил, а не полную категорию.
4) Отредактируйте файлы, чтобы сделать то же самое, что указано выше.
Это неплохой вариант, если вы знаете, что это будет краткосрочный вариант, и в конечном итоге вы все равно надеетесь включить все правила. Верните файл обратно, когда будете готовы.
В качестве альтернативы оставьте исходные правила на месте и скопируйте правила, присвоив им новые идентификаторы и добавив действие ctl:ruleEngine=on
.