![如何保护 php 应用程序 (vbulletin) 免受黑客攻击](https://linux22.com/image/613818/%E5%A6%82%E4%BD%95%E4%BF%9D%E6%8A%A4%20php%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20(vbulletin)%20%E5%85%8D%E5%8F%97%E9%BB%91%E5%AE%A2%E6%94%BB%E5%87%BB.png)
我们的 vBulletin 系统不断受到攻击,导致 CPU 负载增加,合法用户无法正常使用系统。该攻击是一种脚本类型的攻击,试图登录和/或创建新的登录 ID(主要是试图创建登录 ID 以向网站发送垃圾邮件)。
在 vBulletin 中,我们将大量 IP 列入黑名单,这有很大帮助,但攻击仍在继续。
有没有自动化的方法来保护应用程序或 Web 服务器?
理想情况下,保护功能会检测所访问的页面并自动将 IP 列入黑名单。
答案1
除了上述答案之外,您还可以使用 Bad Behavior,它是基于多个开放 BL 和自己的 useagent BL 的 PHP 级过滤器。它已经与 vBulletin 集成。
答案2
过滤正常流量和黑客流量非常困难。如何过滤取决于流量为何会占用过多的服务负载。
如果是 SYN 洪水,您可以使用防火墙规则来限制主机可以打开的连接数,从而缓解这种情况。使用带有 connlimit 模块的 iptables 可以轻松做到这一点。
您可以考虑使用 cloudflare 或类似的东西,或者您自己的反向代理,以减轻处理明显无效请求的实际服务的负担。
如果 DoS 是由于 vBulletin 中的漏洞造成的,您应该与应用程序供应商联系并打上补丁来解决该问题。
答案3
根据攻击的“特征”,您也可以使用 fail2ban 来帮助您。例如,如果他们继续尝试登录,vbulletin 的 5 次登录尝试保护就不够了,因为服务器仍将提供内容。通过使用 fail2ban,您可以对其进行配置,这样如果有人在 5 分钟内调用登录脚本超过 5 次,它将为该 IP 添加 -j DROP iptable 规则。
如果这是 DDoS,您可能需要联系您的提供商并帮助您缓解此问题。
最后,最好使用 htaccess 访问您的 admincp 目录,并始终检查是否有安装的插件/产品没有“加起来”。
如果您具体说明“受到攻击”的含义,您可能会得到更好的答案。
答案4
您可以使用http://www.spambotsecurity.com/zbblock.php和http://sourceforge.net/projects/iosec/这些 php 脚本对我们论坛上同样的问题提供了很大帮助。