阻止攻击 IP 地址

Sea*_*all 2 security apache-2.2

我有一个运行大约 100 个网站的虚拟机,我运行 logwatch、blockhosts 和 mod_evasive,并且在这三个之间我非常清楚每天发生的事情......不过,我确实收到了很多请求,例如:

 /cgi-bin/commerce.cgi?search=/../../../../../../../../../../etc/passwd%00&category=A001 HTTP Response 302 
    /cgi-bin/commerce.cgi?register=../../../../../../../../../../proc/self/environ HTTP Response 302 
    /cgi-bin/commerce.cgi?display=/etc/passwd HTTP Response 302 
    /cgi-bin/commerce.cgi?display=../../../../../../../../../../proc/self/environ HTTP Response 302 
    /cgi-bin/commerce.cgi?search=/../../../../../../../../../../proc/self/environ%00&category=A001 HTTP Response 302 
Run Code Online (Sandbox Code Playgroud)

没什么大不了的 - 这些从来没有去任何地方,不过,我想要一个很好的简单方法来将请求的 IP 添加到 hosts.allow 中的阻止列表中......

说出任何包含 /etc/passwd 或 /proc/self/ 的请求

有什么想法吗?

Chr*_*s S 6

您可以使用Fail2Ban来查看日志并自动将违规 IP 添加到防火墙的阻止列表中。此外,它可以在一定时间后解锁它们(以防它是僵尸网络 PC 或动态 IP)。