5

因此,这更像是关于防止 DoS 攻击的最佳实践的一般性问题,我只是想了解大多数人如何处理来自同一 IP 地址的恶意请求,这是我们目前遇到的问题。

我认为最好尽可能高地阻止真正恶意 IP 的 IP,以防止使用更多资源,尤其是在加载应用程序时。

想法?

4

2 回答 2

11

您可以通过多种方式防止 DoS 攻击的发生。

  • 限制来自特定 IP 地址的查询次数/秒。达到限制后,您可以将重定向发送到缓存的错误页面以限制任何进一步的处理。您也许还可以将这些 IP 地址设置为防火墙,这样您就不必处理他们的请求了。如果攻击者在他们发送的数据包中伪造源 IP 地址,那么限制每个 IP 地址的请求将不会很好地工作。
  • 我还会尝试在您的应用程序中构建一些智能来帮助处理 DoS。以谷歌地图为例。每个单独的站点都必须拥有自己的 API 密钥,我认为该密钥每天限制为 50,000 个请求。如果您的应用程序以类似的方式工作,那么您需要在请求的早期验证此密钥,以便您不会为请求使用太多资源。使用该密钥的 50,000 个请求后,您可以发送适当的代理标头,以便该密钥的所有未来请求(例如下一小时)都由反向代理处理。虽然这不是万无一失的。如果每个请求都有不同的 url,那么反向代理将不得不将请求传递到后端服务器。如果 DDOS 使用许多不同的 API 密钥,您也会遇到问题。
  • 根据您的应用程序的目标受众,您可能能够将对 DDOS 造成重大影响的大型 IP 范围列入黑名单。例如,如果您的网络服务仅适用于澳大利亚,但您从韩国的某些网络收到大量 DDOS 请求,那么您可以为韩国网络设置防火墙。如果您希望任何人都可以访问您的服务,那么您在这方面就不走运了。
  • 处理 DDOS 的另一种方法是关闭商店并等待它结束。如果您有自己的 IP 地址或 IP 范围,那么您、您的托管公司或数据中心可以对流量进行空路由,使其进入阻塞孔。

从这里引用。在同一线程上也有其他解决方案。

于 2010-08-27T18:27:27.430 回答
0
iptables -I INPUT -p tcp -s 1.2.3.4 -m statistic --probability 0.5 -j DROP iptables -I INPUT n -p tcp -s 1.2.3.4 -m rpfilter --loose -j ACCEPT
# n would be an numeric index into the INPUT CHAIN -- default is append to INPUT chain

更多在... 由于 DOS 攻击而无法访问 Plesk Admin,通过 SSH 阻止 IP 地址?

于 2012-12-06T14:36:10.047 回答