阻止攻击IP地址

我有一个运行约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 

不是什么大不了的 – 但是这些东西从来没有去过,我想要一个简单的方法来将请求的IP添加到hosts.allow中的阻止列表中。

说任何包含/ etc / passwd或/ proc / self /

有什么想法吗?

你想要mod_security( http://www.modsecurity.org/ ); 有预先编写的规则集来捕捉目录遍历攻击(还有数百个),以及简单的响应设备。 例如:

  • 减慢他们的连接爬行
  • 返回500s到他们的ip /子networkingx秒/ x分钟或永远
  • 掏腰包,在系统层面做一些事情
  • 高气压的primefaces轰击

您可以使用Fail2Ban监视日志并自动将违规的IP添加到防火墙的阻止列表中。 此外,它可以在一段时间后解除阻止(如果是僵尸networkingPC或dynamicIP)。

Fail2Ban会做到这一点,但是值得吗? 回答我关于阻止ips使用SSHlogin进行蛮力攻击的问题,这表示不值得付出努力,而且这里可能也是一样的。