2010-08-27 111 views
4

因此,这是一个关于防止DoS攻击的最佳实践的常见问题,我只是想弄清楚大多数人如何处理来自同一IP地址的恶意请求我们目前遇到的问题。阻止IP地址,防止DoS攻击

我想最好阻止一个真正的恶意IP的IP尽可能高,以防止使用更多的资源,特别是当涉及到加载你的应用程序。

想法?

+0

我不知道这可能是对ServerFault网站一个更好的问题? – 2010-08-27 18:14:07

+0

这不是与编程有关的,并且在这里不是主题。 – 2010-08-27 19:11:39

+0

如果你使用的是Apache,你也可以尝试mod_qos,mod_evasive,你应该阅读http://weblogs.asp.net/omarzabir/archive/2007/10/16/prevent-denial-of-service-dos-attacks-in -your-web-application.aspx – 2013-04-08 09:40:30

回答

10

您可以以各种方式防止DoS攻击发生。

  • 限制查询数/秒 从一个特定的IP地址。一旦达到 的限制,您可以发送 重定向到缓存的错误页面,以限制任何进一步处理。你可能也能够得到这些IP地址为 的地址,所以你不需要 必须在 处理他们的请求。限制每IP地址 的请求不会很好地工作,虽然如果 攻击者伪造他们发送的数据包中的源IP地址 。
  • 我也想尝试在你的应用程序中构建一些 智能来帮助 处理DoS。以Google地图 为例。每个单独的网站 必须具有其自己的API密钥,其中我认为每天限制为50000个请求 。如果您的应用程序以类似的方式工作 ,那么你会想 验证这一关键很早就在 请求,这样你就不用太多 许多资源的请求。一旦 该键50,000请求是 使用,您可以发送相应的代理 头,使得对于 该密钥今后所有申请 (例如用于接下来的一个小时),因逆 代理处理。尽管如此,这并不是很好的证明。如果 每个请求具有不同的url,则 则反向代理将不得不 将请求传递到 后端服务器。如果DDOS使用不同API密钥的批次 ,则还会运行 问题。
  • 根据您的应用程序的目标受众 ,您可能会将 列入黑名单,这些大型IP范围 对DDOS有重大贡献。 例如,如果您的网络服务是澳大利亚唯一的 ,但您是 从 获得很多来自韩国的某些网络的DDOS请求,那么您的 可能会阻止韩国网络。 如果你希望你的服务是 任何人都可以访问,那么你在这一个运气好的 。
  • 另一种处理DDOS的方法是 关闭店铺并等待它。如果 你有自己的IP地址或IP 范围那么你,你的托管公司 或数据中心可以空路由 流量,以便它进入一个块 洞。

引用自here。同一线程上还有其他解决方案。

+0

嘿,真棒技巧,我喜欢实际上使用防火墙的想法......我总是觉得防火墙对于公司电子邮件服务器或其他什么东西......哈哈。我想他们确实有目的。谢谢! – 2010-08-27 18:36:41

+0

看起来像防火墙可能有一个选项,只允许每小时,每天等从给定的IP地址X请求。我不是防火墙专家。有谁知道这些类型的规则是防火墙通常会处理的吗? – RayLoveless 2017-12-20 15:33:20