如何使用fail2ban禁止所有php和cgi-bin请求

ssa*_*asa 5 fail2ban apache-httpd

每天我都会看到 Apache 日志中充满了由不同漏洞扫描器应用程序发起的请求。来自通常相同 IP 地址的数百个请求不仅使日志变脏,而且还使用了一些服务器资源。

由于我的 Apache 上没有任何 PHP 或 CGI-BIN 脚本,因此我想使用 fail2ban 在第一次请求时禁止所有这些 IP 地址一段时间。

有没有人有这种现成的fail2ban配置?

ssa*_*asa 5

感谢 Joel 评论这里是我目前使用的解决方案。

为了/etc/fail2ban/jail.conf这个被添加到末尾:

[urlscanners]
enabled  = true
port     = http,https
filter   = urlscanners
logpath  = /var/log/apache*/*error.log
maxretry = 1
bantime  = 86400
Run Code Online (Sandbox Code Playgroud)

文件/etc/fail2ban/filter.d/urlscanners.conf是这样的:

#block port scanners
[Definition]
failregex = [[]client (?P<host>\S*)[]] (File does not exist): .*(w00tw00t|CFIDE|php|cgi-bin|htdocs\.7z|htdocs\.rar|htdocs\.zip|root\.7z|root\.rar|root\.zip|www\.7z|www\.rar|wwwroot\.7z)
ignoreregex =
Run Code Online (Sandbox Code Playgroud)

路径可能因不同的操作系统而异。