我目前在 Ubuntu Trusty 上使用 ModSecurity 2.7 和 Apache 2.4.7。
我想要使用 Apache 的LogFormat
和CustomLog
指令,以便我可以包含一个字段,指示 ModSecurity 是否决定允许请求继续或者是否阻止请求。
我还想添加一个字段,指示允许的请求是否触发了任何仅警告的 ModSecurity 规则。我并不关心这是否需要两个不同的字段,或者只是一个,只要信息出现在每个 Apache 日志行中即可。
有文档这表明我可以使用mod_log_config
和%{...}M
语法在 Apache 日志中包含 ModSecurity 变量,但我不知道哪些变量可以给我必要的信息。
我明确地尝试维护SecAuditEngine RelevantOnly
而不是要求每个请求都有完整的审计日志。我还希望避免使用mod_unique_id
或类似方法进行跨日志关联。
这可能吗?怎么做?
答案1
尝试使用异常响应状态进行阻止,然后将其记录在日志中。对于警告,请使用 HIGHEST_SEVERITY。
(通过https://twitter.com/ivanristic/status/632098551603052544)
答案2
http://resources.infosecinstitute.com/analyzing-mod-security-logs/
SecAuditLogParts:审计日志非常大,因为它记录了有关请求的所有内容,例如请求标头、响应标头、请求正文和正文响应等。因此,通过此选项,我们实际上可以告诉 Mod Security 应该在错误日志中记录什么以及应该忽略什么。为了做到这一点,每个部分都分配了一个字母表。以下是定义每个字母表含义的表格。