更改每个事务基础上的ModSecurity日志logging

我正在尝试跟踪所有对共享托pipe服务器上的网站的请求。 数据包捕获只是太麻烦了。

我们使用Mod Security(2.8),效果很好,但由于负载的原因我们只能启用有限的日志logging

SecAuditEngine RelevantOnly SecAuditLogRelevantStatus "^(?:5|4(?!04))" 

我真的不想logging整个服务器的所有内容,只是为了检查这个虚拟主机发生了什么。 我试过设置

 SecAuditEngine On 

… .htaccess文件中,它会产生一个500内部错误,error_log指示这些指令在.htaccess中是不允许的,尽pipe在Modsec文档中这些指令的范围都显示为“Any”

我甚至尝试创build一个简单的SecRule:

 SecRule SERVER_NAME "example\.com" "phase:1,ctl:SecAuditEngine=On,id:123456789" 

但是这会产生一个语法错误,看起来像SecAuditEngine或SecAuditLogRelevantStatus不能dynamic切换。

有谁知道是否可以在每个请求的交易时间修改这两个指令中的任何一个?

这可以通过使用Apache模板系统来改变用户或域的SecAuditEngine指令。 在cPanel服务器上,可以通过在以下位置放置* .conf文件来实现:

/usr/local/apache/conf/userdata/std/2/username/modsec.conf /usr/local/apache/conf/userdata/ssl/2/username/modsec.conf

内容:

 <LocationMatch .*> SecAuditEngine On </LocationMatch> 

“On”设置告诉mod安全性logging所有响应代码的交易数据(由于path不同,404/401除外)