我是一名经验丰富的 Web 开发人员,但对服务器还不熟悉。我一直在 Digital Ocean 上学习,我的一个网站不断受到 DDoS 攻击。我发现了两种攻击,一种是 HTTP GET 请求泛洪,它不断填满我的日志文件。另一种是 Wordpress pingback 攻击。
这让我的网站无法使用,直到我安装了配置好的 nginx 来清除虚假请求,并将它们 444 化,并使用 fail2ban 来阻止 IP。我甚至开始使用 Cloudflare,但事实证明,当他们拥有你的 IP 时,它就没那么有用了。
所以我的问题是,这是一个好的策略吗?我现在所做的对付这些类型的攻击有效吗?即使现在我的日志文件也已经满了。我甚至在日志文件中看到了 IPv6 地址。Fail2ban 显示数百个被阻止的 IP,但我仍然收到请求,我不确定为什么 fail2ban 没有阻止这些请求。fail2ban 适用于 IPv6 吗?你能建议我更好的策略来应对此类攻击吗?
答案1
获取新的 droplet更改 IP 地址,并确保你的 IP 没有通过 CloudFlare 发布。你不能有任何 DNS 记录指向服务器 IP。这会有所帮助,CloudFlare 会过滤掉很多垃圾和攻击。
当然,任何 IP 地址都可能遭受暴力攻击,但如果是共享 IP,流量就不应该到达您的虚拟服务器。如果是专用 IP,那么就更具挑战性。
您可能不应该使用 Nginx 来应对攻击,在攻击到达您的 Web 服务器之前处理它以减少资源使用。在 AWS 上,我使用安全组,这实际上是一个防火墙。如果确实提供防火墙服务,您可以获得它。如果没有,那么您可能需要在您的实例上配置软件防火墙,以仅接受来自CloudFlare IP在 80/443 或您的私有 IP 地址上的更广泛的端口范围(包括 22)上。小心不要将自己锁定在外,因为动态 IP 地址可能会发生变化。
我无法帮助解决其他问题,但这应该可以帮助您开始并朝着正确的方向前进。