Apache mod_reqtimeout没有丢弃长请求

时间:2011-04-15 13:52:00

标签: security apache

为了保护自己免受慢速型攻击,我们在Apache 2.2.17安装上配置了mod_reqtimeout模块(在Solaris上运行,MPM编译)。 mod_reqtimeout配置如下:

RequestReadTimeout header = 10-20,MinRate = 500 body = 10-20,MinRate = 500

我们正在使用OWASP http_dos_cli工具进行测试,并且仍然可以在几秒钟内使网站无法访问。在日志中,我们看到请求在20秒后被截断,然后被处理。由于URL指的是实际资源,因此返回200状态代码。这可以防止我们的mod_security规则集检测408状态代码,收集基于IP的统计信息并阻止来自此IP的进一步请求。

为什么mod_reqtimeout会截断请求而不是丢弃它并返回408?

非常感谢!

1 个答案:

答案 0 :(得分:4)

我已经打开了一个错误报告,并收到HTTPD Core中的问题导致以下问题的确认:

  • 当检测到请求超时(各种情况)时,Apache并不总是返回408
  • 当URL对应于RedirectMatch指令
  • 时,Apache无法正确处理请求超时

此处有更多详情:https://issues.apache.org/bugzilla/show_bug.cgi?id=51103

希望最终帮助某人。