阻止尝试利用常见的webapp漏洞的IP

是否有一个应用程序通过nginx日志并阻止提出常见webapp漏洞请求的IP?

我有一个只提供静态内容的nginx web服务器。 我经常得到GET /db/websql/main.phpGET /db/phpMyAdmin2/main.php请求。 这些是有人扫描漏洞的明显迹象。 是否有一个应用程序可以通过nginx日志,认识到这些尝试利用常见的漏洞,并阻止有问题的IP? 我的想法是,即使我不容易受到这些攻击,相同的IP也可能在我的networking上的同一个盒子或其他盒子上进行其他types的攻击:SMTP,SSH,其他带有Web应用程序的Web服务器。 在cookiesjar子里用手抓住它们看起来是一个很好的方法。

Fail2ban为SSH和HTTPauthentication尝试做类似的事情。 也许它可以与configuration一起使用,其中包括用于漏洞的众所周知的地址列表。 有没有这样的configuration可用?

从gotroot.com 论坛 :

你可以在我们的规则中使用nginx,在nginx前面加上一个mod_security的反向代理apache。 这实际上是非常轻量级的,我们将添加后3.0作为运行替代networking服务器,如nginx等网站的选项。正如斯科特所说,nginx没有任何WAF模块或function,所以你不能做任何事情,如modsecurity在nginx里面。

人们已经要求nginx团队添加一个WAF,并且我知道lightspeed正在支持完整的modsec,但到目前为止,我还没有看到任何的nginx。 所以如果你使用nginx,并且你想要一个WAF来保护它,你需要在它之前放一个WAF。

正如我所说,这很好,所以我强烈build议你这样做。 我们有很多客户在他们面前运行各种非Apache Web服务器,使用Apache反向代理和mod_security。 正如我所提到的,我们将把这个添加到ASL post 3.0版本中,作为非Apache Web服务器的一个选项。

(Gotroot.com因其提供的mod_security规则列表而闻名)。

你可以尝试的另一件事是nginx ,它是Nginx的Web应用程序防火墙模块,尽pipe它仍然是alpha版本。 更多

你如何发现这些非法请求…如果你能看到他们然后fail2ban可以看到他们。 它只是在jail.conf中添加规则来发现这些情况,然后禁止这些用户。

在fail2ban中创build一个apache-httpd代码的副本,并与之一起玩。 你基本上需要找出正则expression式来匹配你得到的每个错误,然后告诉fail2ban该怎么做。