我想知道在ModSecurity Apache2模块(版本2.9.1)中是否有某种方法如何将错误消息记录到SecDebugLog选项指定的日志文件中,但不将它们复制到标准的Apache错误日志文件?
根据ModSecurity文档,两个日志文件中的错误消息总是加倍:级别为1-3的消息被设计为有意义,并被复制到Apache的错误日志中。但是我想喜欢将ModSecurity的东西分开,不要弄乱标准错误日志。
答案 0 :(得分:1)
您可以从任何规则中删除log
,然后离开auditlog
。
如果使用OWASP CRS,则从此处更改默认操作:
SecDefaultAction "phase:1,deny,log"
SecDefaultAction "phase:2,deny,log"
到此:
SecDefaultAction "phase:1,deny,nolog,auditlog"
SecDefaultAction "phase:2,deny,nolog,auditlog"
这将关闭所有日志记录,但随后再次启用审核日志。
您可能还想为阶段3和阶段4添加类似内容,具体取决于您是否还要结帐出站流量。
但是,由于种种原因,我会真的,真的,非常警告:
您最终将使用ModSecurity规则阻止某些内容,并想知道它为什么会发生并跳过审核日志并指责Apache。相信我。 "当我看到页面存在时,为什么这个请求返回403?!?!"至少如果在错误日志中,您还有机会了解其原因。
错误日志中的条目在一行中。这使得收集,解析和处理Splunk等工具中的错误变得更加容易。审计日志分布在多行中,因此机器可读性较差。并且应该定期审核您的WAF日志,而不仅仅是假设它正常工作并且只在出现问题时查看日志。可能在每个日志级别都没有详细说明,但总结一下。 Ivan Ristic,ModSecurity的原始创建者,recently tweeted:
"如果你没有将你的WAF用作IDS,那你做错了。"