Apache:对于廉价拍卖网站来说,最好的反拒绝服务模块和缓存组合是什么?

Apache:对于廉价拍卖网站来说,最好的反拒绝服务模块和缓存组合是什么?

该网站很简单低价拍卖地点。

该网站的运行平台为:

  • MySQL
  • PHP

在任何特定时间:

  • 一场拍卖会可以有 100 - 2000 个并发用户。
  • 每个用户都有一个单独的“长投票”在后台运行,以保持其显示内容更新
  • 用户可以打开多个窗口,从而将“长轮询”请求的数量增加到他们打开的窗口数量

可以肯定地说,用户应该:

  • 窗户打开的次数不要超过 3 到 5 次
  • 永远不要过于频繁地请求页面、图像或基本上不做任何获取请求
  • 每个窗口每秒调用长轮询更新函数不要超过一次(最多,但由于逻辑原因,通常要少得多)

基于以上情况,您会建议采取什么措施来阻止任何拒绝服务攻击?

到目前为止,当谈到拒绝服务时,我了解到以下情况:

  1. 修改服务质量
  2. mod_evasive
  3. mod_antiloris

您会推荐哪一种?为什么?或者也许需要组合使用?

我已经在使用 MemCache 进行缓存,但是我是否可以在 Web 服务器级别启用缓存?目标是将服务器负载降至最低,这意味着即使用户重复请求图像或 css 文件也应该被阻止?

理想情况下,我希望滥用我创建的规则集的用户得到 403 禁止响应,该响应必须有一个定制页面,告诉他为什么被暂时禁止。这也意味着,如果用户违反这些规则,他不能被永久禁止,而是被屏蔽 10 分钟。

此外,我最大的担忧之一是 IP 封锁。从技术上讲,我可以在 PHP 级别创建一个封锁,但如果多个用户拥有相同的 IP,就像大学或办公室封锁的情况一样,如果一个人违反了规则,我该如何阻止整个群组被封锁?反之亦然:如果一个人设法获得数千个 IP 并尽可能猛烈地攻击服务器怎么办……我该如何检测?

如能得到关于如何做到这一点的任何建议,我们将不胜感激!

答案1

我建议使用 ModSecurity:

http://www.modsecurity.org/

下面是使用它进行 DOS 保护的一个例子:

http://blog.cherouvim.com/simple-dos-protection-with-mod_security/

我强烈建议您先在测试环境中安装并进行测试,因为有时根据应用程序的不同,您会得到误报匹配,然后您可能需要自定义规则。

相关内容