web-dev-qa-db-ja.com

Apache2.Xでタイムアウトしたリクエストをログに記録する

一部のアプリケーションをApache1.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.などのいくつかの異なる構成を試しました

ありがとう。

3
m3rLinEz

これはApacheメーリングリストで見つけました https://issues.Apache.org/bugzilla/show_bug.cgi?id=39785 。これについて話します。これは、Apacheリリース2.2.2で解決されたようです。これは http://svn.Apache.org/viewvc?view=revision&revision=91932 の関連チェックです。 「キープアライブタイムアウトがない場合にのみ408をログに記録する」というコメントがあります。

したがって、KeepAliveの値が設定されているかどうかを確認し、バージョン2.2.2以降であることを確認してください。

2
Decado