最近的 Apache DOS 咨询 - 应用 SetEnvIf/RequestHeader 解决方法的问题

Tom*_*m G 3 security apache-2.2

因此,此公告的缓解措施之一是:

1) 使用 SetEnvIf 或 mod_rewrite 检测大量范围,然后忽略 Range: 标头或拒绝请求。

选项 1:(Apache 2.0 和 2.2)

      # Drop the Range header when more than 5 ranges.
      # CVE-2011-3192
      SetEnvIf Range (,.*?){5,} bad-range=1
      RequestHeader unset Range env=bad-range

      # optional logging.

      CustomLog logs/range-CVE-2011-3192.log common env=bad-range
Run Code Online (Sandbox Code Playgroud)

现在,当我将其添加到 httpd.conf 时:

<IfModule mod_setenvif.c>
SetEnvIf Range (,.*?){5,} bad-range=1
RequestHeader unset Range env=bad-range

</IfModule>
Run Code Online (Sandbox Code Playgroud)

重新启动 Apache 时出现此错误:

“无效的命令‘RequestHeader’,可能是由服务器配置中未包含的模块拼写错误或定义的”

SetEvnIf 模块似乎已加载。

那个参数有什么问题?

版本是 Apache/2.2.14 。

咨询链接是:http : //mail-archives.apache.org/mod_mbox/httpd-announce/201108.mbox/browser

另外,Tomcat 是否容易受到此攻击?

蒂亚!

Der*_*rfK 9

RequestHeader 需要你加载 mod_headers