阻止 DOS 攻击

阻止 DOS 攻击

我工作的一个网站最近开始遭受 DoS 攻击。一开始的 RPS 为 30k,现在为 50k/分钟。IP 几乎都是唯一的,不在同一子网中,并且位于多个国家/地区。他们只请求主页。有什么技巧可以阻止这种情况吗?

服务器在 Linux 上运行,并使用 Apache 作为 Web 服务器。

谢谢

答案1

您不仅要试图抵御 DoS 攻击,还要试图抵御 DDoS 攻击,因为它是分布式的,而且更难处理。

本质上,您是在尝试识别非法流量并阻止它们。理想情况下,您希望将此流量路由为空(甚至最好让您的上游提供商将其路由为空。)

第一个端口是识别。您需要找到某种方法来识别发送到您的主机的流量。无论是常见的用户代理,还是他们实际上没有使用正确的浏览器(暗示:它们是否像正常的浏览器一样运行 - 即遵循 301 重定向),所有请求是否同时涌入,或者每个 IP 每小时有多少个请求访问您的服务器。

如果不识别他们,你就无法阻止他们,所以你需要找到某种方法来做到这一点。

这些 DDoS 缓解工具本质上做同样的事情,只是实时且成本高昂。一半的时间都是误报,或者 DDoS 规模太大,根本无所谓,所以如果您现在或将来决定投资其中一种,请谨慎投资。

记住:1. 识别 2. 阻止.1 是最困难的部分。

答案2

您假设这是故意的 DDoS。首先要尝试的是更改 IP 地址。如果实际上不是故意的,那么它就会停止。

如果不是故意的,这些请求从何而来?可能是随机的,也可能是错误的目标。不太可能,但值得一试。

您确定您没有获得大量合法流量吗?也许您被 slashdotted 了,或者其他什么原因。尝试查看日志中的引荐来源。

答案3

您的前端路由器/负载均衡器没有 DOS 攻击管理功能吗?我们的有,而且效果截然不同。

答案4

您可以要求您的上游提供商请求他们的上游提供商提供帮助。例如,假设您运营的网站仅面向英国用户。然后,您可以使用某些 whois 数据库检查流量的来源。例如,假设您的大量不想要的流量恰好来自俄罗斯、中国和/或韩国。然后,您可以致电您的上游提供商,让他们致电他们的提供商,让他们暂时从这些地区对您的 IP 地址进行零路由,假设他们有靠近源头的路由器。

这不是一个长期的解决方案,但如果您的用户群集中在几个地理区域,这会有所帮助。过去我曾帮助过这样的客户,只是不向国外同行宣布,只向国内同行宣布。这确实夺走了他们的一些业务(用户发现他们无法联系到他们,因为他们不再在国际上提供服务),但这比完全停止服务要好得多。

但归根结底,这更像是一种绝望之举。但断肢总比失去身体要好。

如果您很幸运,您的上游提供商拥有设备并且愿意帮助您过滤掉大部分不必要的流量。

祝你好运 :-)

相关内容