私は自分のサーバーでnginxを使用していますが、数日前にaccess.logに奇妙なリクエストがあることに気づきました。
77.50.217.37 - - [19/Aug/2011:17:50:50 +0200] "GET http://images.google.com/ HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; .NET CLR 1.1.4322; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)"
174.142.123.42 - - [19/Aug/2011:17:51:59 +0200] "GET http://l08.member.ird.yahoo.com/?.src=ym&login=_420_club_chick_&passwd=112211 HTTP/1.0" 200 151 "-" "MobileRunner-J2ME"
65.52.227.217 - - [19/Aug/2011:17:52:30 +0200] "GET http://javaddiction.biz/index.php HTTP/1.1" 404 570 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
188.72.199.25 - - [19/Aug/2011:17:52:35 +0200] "CONNECT google.com:80 HTTP/1.1" 400 172 "-" "-"
188.72.199.25 - - [19/Aug/2011:17:53:40 +0200] "CONNECT google.com:80 HTTP/1.1" 400 172 "-" "-"
それらは私が所有していないドメインのリクエストです(google、yahoo ....)
私はそれがウェブクローラー、またはボットまたは...
Fail2ban、iptablesを使用して、この種のパケットをブロックする方法はありますか、それとも他に何がわからないのですか...?
これらは、インターネット上のすべてのWebサーバーに見られる無害ながらくた要求です。スクリプトキディは、構成が大幅に間違っており、プロキシ要求を行ってCONNECT
メソッドを使用できるWebサーバーを探している可能性があります。
サーバーは、CONNECT
メソッドの使用を拒否するように適切に構成されているようです(HTTP/400 - Bad Request
を返します)。Telnetで接続してGET http://www.google.com/
を実行しようとすると、サイトからページが表示されます。あなたの悩み。
この種のものをなくす唯一の方法は、「既知の良好な」ホストのリストを除くすべてのHTTPトラフィックをブロックすることです。これは、パブリックWebサーバーの目的を損ないます。私の最善のアドバイスは、特定の問題を解決しようとしているのでない限り、リラックスしてビールを飲み、Webサーバーのアクセス/エラーログのエントリに執着しないことです。
Voretaq7が言ったように、おそらくそれらをそのままにしておきたいでしょう。結局のところ、彼らは何もしていません(すでにnginxによってブロックされています)。
ただし、他のリクエストが通過し、特定の無効なヒットに敏感なアプリケーションがある場合は、問題が発生する可能性があります。
私が使用したモジュールの1つ(Apacheで、nginxで使用可能ですが)は mod_security です。このモジュールを使用すると、メソッドなどのさまざまなものについて着信(および発信)トラフィックを比較するルールを入力し、必要に応じてそのようなアクセスを防ぐことができます。
補足として、私は実行しました:
Dig -x 188.72.199.25
そして出力は言う:
199.72.188.in-addr.arpa. 3600 IN SOA ns0.leaseweb.nl. Postmaster.leaseweb.nl. 2013121501 14400 7200 604800 3600
これはGoogleでもYahoo!でもありません。明らかに、質問を投稿してから変更されている可能性がありますが、そのような要求は、ほとんどの場合、無効なロボットまたは知識のあるハッカーによって実行されます。それよりもはるかに優れた目的のためにリソースを使用する大企業ではありません。