Как получить mod_security для регистрации всех данных POST?

В настоящее время у меня есть система CentOS, которая успешно записывает соответствующие действия mod_security в файл журнала аудита. Вот моя конфигурация:

<IfModule mod_security2.c>
  SecRuleEngine On
  SecAuditEngine RelevantOnly
  SecAuditLog /var/log/httpd/modsec_audit.log
  SecDebugLog /var/log/httpd/modsec_debug.log
  SecDebugLogLevel 0
  SecRequestBodyAccess On
  SecDataDir /tmp
  SecTmpDir /tmp
  SecPcreMatchLimit 250000
  SecPcreMatchLimitRecursion 250000
</IfModule>

Это регистрирует все действия, где mod_security перехватывает / блокирует запрос из-за SecAuditEngine RelevantOnly установка.

Тем не менее, я хотел бы, чтобы он дополнительно регистрировал все данные POST, отправляемые на сервер (независимо от статуса). Я мог бы добиться этого, установив SecAuditEngine On но это регистрирует все данные GET и POST, которые являются излишними. Я в основном хотел бы опустить все данные GET, если запрос не был перехвачен.

Кто-нибудь может подсказать, как это сделать?

1 ответ

Решение

Есть правило, которое включает AuditEngine за POST Запросы.

Примерно так (не проверено):

SecRule REQUEST_METHOD "POST" "id:1000,phase:2,ctl:auditEngine=On,nolog,pass"

Действия Ctl влияют только на текущий запрос, поэтому после этого он возвращается к RelevantOnly для следующего запроса.

Вы также можете создать Sanitise правила, обеспечивающие маскировку конфиденциальных данных, таких как пароли и данные кредитных карт, перед регистрацией. Смотрите здесь: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual

Другие вопросы по тегам