我有一个Apache Web服务器,它被configuration为允许通过客户端证书访问只有几个人。 我不能通过IPlocking,因为证书持有者可能从任何地方连接。
Apache目前向任何不出示有效证书或尝试访问无效URL的用户返回403,但由于该机器没有ACL限制,因此经常会扫描漏洞。 这些扫描会在日志中造成相当多的噪音。
有没有办法根据响应代码login到不同的文件? 是否有可能发送所有logging的请求导致403到不同的文件?
您可以让Apache将自定义日志传送到脚本。 因此,例如,将虚拟主机中的CustomLog条目更改为:
CustomLog "|/path/to/script"
你可以有一个脚本来做类似的事情:
#!的/ usr / bin中/ perl的
while($ log = <STDIN>){
if($ log =〜/ 403 /){
打开(LOG,'>> / path / to / 403log');
打印LOG $日志;
closures(LOG);
} else {
打开(LOG,'>> / path / to / mainlog');
打印$ log LOG;
closures(LOG);
}
}
上面的脚本没有经过testing,但它应该让你知道你能做什么。