ModSecurity 没有将一些交易放入审计日志

ModSecurity not putting some transactions to audit log

在某些情况下,尽管我们已将其设置为默认操作且规则未设置任何日志记录 属性,但 ModSecurity 未在审计日志中跟踪阻止,我们遇到了一个问题。在错误日志中,我们只能看到由于异常分数已达到而触发的规则,而没有看到实际计算分数的规则。在其他一些情况下,此信息是可见的。

在 modsecurity.conf 中,我们启用了规则记录

SecAuditLogParts ABCIJDFHKZ

在 crs-setup.conf 中,我们将默认日志记录设置为捕获错误和审计日志中的所有内容。

SecDefaultAction "phase:1,log,auditlog,pass"
SecDefaultAction "phase:2,log,auditlog,pass"

我们也尝试过其他组合,例如使用此设置

SecDefaultAction "phase:2,pass, nolog,auditlog"

但 notning 有所帮助。

我们在日志中唯一可以看到的是错误日志中的这一部分,当我们需要更多详细信息时,我们需要启用调试并重做操作。在下面的示例中,出于安全原因,我更改了 IP 地址。

2022/03/09 08:32:25 [error] 1149#1149: *13832 [client 1.1.1.1] ModSecurity: Access denied with code 403 (phase 2). Matched "Operator `Ge' with parameter `5' against variable `TX:ANOMALY_SCORE' (Value: `15' ) [file "/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf"] [line "139"] [id "949110"] [rev ""] [msg "Inbound Anomaly Score Exceeded (Total Score: 15)"] [data ""] [severity "2"] [ver "OWASP_CRS/3.4.0-dev"] [maturity "0"] [accuracy "0"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-generic"] [hostname "10.1.0.1"] [uri "/favicon.ico"] [unique_id "1646811145"] [ref ""], client: 1.1.1.1, server: example.com, request: "GET /favicon.ico HTTP/1.1", host: "example.com", referrer: "http://example.com/?q=%22%3E%3Cscript%3Ealert(1)%3C/script%3E%27"

我们需要找到一种方法来确保每次尝试都会记录到审核日志中。

在此先感谢您的帮助。

彼得

这是 ModSecurity 3.0.6 与 Nginx 一起使用时出现的错误。

解决方案是不在 Nginx 配置中使用自定义 error_page 或使用此修复重新编译当前解决方案 https://github.com/SpiderLabs/ModSecurity-nginx/pull/273