3

我有一个网络应用程序,如果它在短时间内发出许多请求,我想通过阻止 IP 地址来防止 DOS 攻击。

例如,如果同一个 IP 地址在一秒钟内发出 100 个请求,我可以假设这是某种攻击,我想阻止这个 IP。

但是,在应用层进行这项检查似乎太昂贵了——进行这项检查的最佳方法是什么?

我应该在我的:

  • 防火墙
  • 路由器
  • 阿帕奇配置
  • 完全在别的地方……
4

2 回答 2

0

如果您想在 IP 地址发出一定数量的请求时阻止它们,最好在网络层完成。这建议您在主机的网络堆栈中或使用路由器(在网络层运行)执行此操作。

您可能需要考虑的一些事情是: - 您真的想要基于 IP 地址阻止对整个主机的访问,还是想要阻止对在特定端口上运行的特定应用程序的访问。- 有时,通过使用 NAT,一个 IP 地址可能会代表许多真实主机发出请求。

对于任何安全应用程序,您都需要有多层防御,因此投资一个好的防火墙也是一个好主意。

于 2012-01-28T11:40:48.637 回答
0

一些用于在 django 中生成 API 的应用程序实现了一些限制每秒请求量的方法。例如 django-piston 使用节流方法来做到这一点。 django-活塞节流

这是解决问题的简单方法。

于 2012-02-22T18:53:54.437 回答