Как получить 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