通过 iptables 阻止恶意爬虫是否值得?

通过 iptables 阻止恶意爬虫是否值得?

我定期检查我的服务器日志,发现很多爬虫程序都在搜索 phpmyadmin、zencart、roundcube、管理员部分和其他敏感数据的位置。此外,还有一些名为“Morfeus Fucking Scanner”或“Morfeus Strikes Again”的爬虫程序在搜索我的 PHP 脚本中的漏洞,还有一些爬虫程序执行奇怪的(XSS?)GET 请求,例如:

GET /static/)self.html(selector?jQuery(
GET /static/]||!jQuery.support.htmlSerialize&&[1,
GET /static/);display=elem.css(
GET /static/.*.
GET /static/);jQuery.removeData(elem,

到目前为止,我一直都是手动存储这些 IP,然后使用 iptables 来阻止它们。但由于这些请求从同一个 IP 执行的次数是有限的,我怀疑阻止它们是否能带来任何与安全相关的优势。

我想知道在防火墙中阻止这些爬虫是否对任何人都有好处,如果有好处,是否有(不太复杂的)自动执行此操作的方法。如果这是徒劳的努力,可能是因为这些请求来自一段时间后的新 IP,是否有人可以详细说明这一点,并可能提供更有效的拒绝/限制恶意爬虫访问的方法的建议。

仅供参考:我已经w00tw00t.at.ISC.SANS.DFind:)按照以下说明阻止了爬网:http://spamcleaner.org/en/misc/w00tw00t.html

答案1

我们使用的是思科硬件防火墙,而不是基于服务器软件的防火墙,它们会留意活动模式并阻止它们一段时间(如果我没记错的话是 30-90 天)。我相信其他防火墙也可以做到这一点,但没有经验。基本上,我的意思是,如果您的防火墙可以使用规则来查找滥用行为,那么您会看到比仅仅阻止已知罪犯的好处。

答案2

它是否值得还有待商榷,而且我也不太清楚。

至于您抱怨它们来自不同的 IP,而您只能通过阻止 IP 来做出反应...您可以使用反向代理(如反向代理模式的 Apache,使用类似 mod_proxy / mod_security 的程序)或 HAProxy 来解决这个问题。基本上,如果您提前知道模式,您可以在这些请求到达 Web 服务器之前将其丢弃。

另外,简单来说,这些防火墙被称为 Web 应用程序防火墙 (WAF)。它们通过检查 HTTP 请求和响应在第 7 层上运行。

答案3

您可以随时获取一些您找到的字符串/GET,并且由于您已经拥有 iptables 的字符串模块,所以可以记录/删除这些数据包,并可能使用脚本自动将它们添加到防火墙。

一般来说,我认为你最好屏蔽这些 IP,因为它们可能以某种方式受到了损害,如果它们受到了损害,而你捕捉到了一次攻击,那么你可能会错过另一次攻击。

相关内容