Apache-2.2

在 Apache 2.X 中記錄超時請求

  • March 14, 2011

我正在將一些應用程序從 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.

謝謝。

我在 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 或更高版本。

引用自:https://serverfault.com/questions/247051