![在 Apache 2.X 中记录超时请求](https://linux22.com/image/542711/%E5%9C%A8%20Apache%202.X%20%E4%B8%AD%E8%AE%B0%E5%BD%95%E8%B6%85%E6%97%B6%E8%AF%B7%E6%B1%82.png)
我正在将一些应用程序从 Apache 1.3 迁移到 2.2。
我们曾经进行过一些测试,攻击者打开一些到我们服务器的 HTTP 连接,但不执行任何操作。例如,Apache 1.3 将记录以下 408 代码:
126.1.86.85 - - [01/Dec/2010:06:26:19 +0000] "-" 408 - "-" 0
126.1.86.85 - - [01/Dec/2010:06:26:19 +0000] "-" 408 - "-" 0
但是对于 Apache 2.2,日志文件中没有记录任何内容。我使用 netcat 打开连接,运行相同的测试:
$ nc IP_victim PORT_victim
$ nc 10.42.37.3 80
我希望 Apache 2.2 将相同的 408 代码记录到日志文件中,这样我们就能知道外部尝试的 DoS 攻击。我需要在 Apache 2 中进行更多配置才能启用此功能吗?
我尝试了一些不同的配置,例如LogLevel = Debug, Timeout 30, RequestReadTimeout header=10 body=30.
谢谢。
答案1
我在 Apache 邮件列表中找到了这个https://issues.apache.org/bugzilla/show_bug.cgi?id=39785。谈到了这一点。这似乎已在 Apache 版本 2.2.2 中得到解决。这是相关的检查http://svn.apache.org/viewvc?view=revision&revision=919323。它有一个注释,指出“仅当没有保持活动超时时才记录 408。”
因此,请检查您是否设置了 KeepAlive 的值,并检查以确保您使用的是 2.2.2 或更高版本。