Cak*_*mox 0 logging apache-2.2
我有一个 apache web 服务器,它被配置为只允许少数人通过客户端证书访问。我无法通过 IP 锁定,因为证书持有者可能会从任何地方连接。
Apache 目前向任何没有提供有效证书或试图访问无效 URL 的人返回 403,但由于机器没有 ACL 限制,因此经常扫描漏洞。这些扫描会在日志中产生相当多的噪音。
有没有办法根据响应代码登录到不同的文件?是否可以将导致 403 的请求的所有日志记录发送到不同的文件?
您可以让 Apache 将自定义日志通过管道传输到脚本。例如,将 vhost 中的 CustomLog 条目更改为:
CustomLog "|/path/to/script"
您可以拥有一个执行以下操作的脚本:
#!/usr/bin/perl
而 ($log = <STDIN>) {
如果($log =~/403/){
打开(日志,'>>/path/to/403log');
打印日志 $log;
关闭(日志);
} 别的 {
打开(日志,“>>/path/to/mainlog”);
打印 $log 日志;
关闭(日志);
}
}
上面的脚本未经测试,但它应该让您了解您可以做什么。