web-dev-qa-db-ja.com

私のウェブサーバーは無効なリクエストで溢れています

私のウェブサーバー(nginx)は次のようなリクエストを受け取り続けます:

23.244.104.206 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2947236&size=300x250&cb={CACHEBUSTER}&referrer={REFERRER_URL}&pubclick={INSERT_CLICK_TAG} HTTP/1.0" 200 612 "http://www.businessfull.net/?p=8167" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4"
216.244.65.21 - - [15/Jun/2014:21:21:47 -0400] "GET http://ib.adnxs.com/ttj?id=2583052&referrer=http%3A%2F%2Fwww.excitingflashgames.com%2Fgame%2Frun_chicken_run.html&cb=78488 HTTP/1.0" 200 612 "http://www.excitingflashgames.com/game/run_chicken_run.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.04 Chromium/15.0.871.0 Chrome/15.0.871.0 Safari/535.2"

これらのリクエストには何百ものリクエストがあり、httpサーバーの速度が大幅に低下します。 iptablesを使用してこれをブロックする方法はありますか?奇妙なことに、彼らは私がホストしていないサイトにアクセスしようとしているのです。これは彼らを禁止するのに役立つだろうと思いましたが、どうすればいいのかわかりません。

1
HiddenKnowledge

これは、よく知られているプロキシ悪用のエクスプロイトの例です。一部のバージョンのApache(プロキシモジュールがインストールされている)は、不適切に構成されているか、セキュリティで保護されていないことが多く、事実上、誰でもWebサーバーを介してリクエストをルーティングできるため、無意識の不正なプロキシサーバー(使用される可能性があります)になります。不快な攻撃で)。

TomtomはセキュリティをCloudFlareにオフロードすることを推奨していますが、ソリューションはかなり単純であり、基本的なセキュリティ監査の一部として実装する必要があります(最も基本的なWebサイトであっても)。

ViníciusFerrãoの答えに基づいて構築します。 Fail2Banをインストールした後、フィルターをセットアップする必要があります(debian/ubuntuで、ファイル/etc/fail2ban/filter.d/nginx-proxy.confを作成します)。

このファイルに、次のように入力します。

# Block IPs trying to use server as proxy.
#
# Matches e.g.
# 192.168.1.1 - - "GET http://www.something.com/
#
[Definition]
failregex = ^<Host> -.*GET http.*
ignoreregex =

次に、fail2ban構成ファイル内(通常は/etc/fail2ban/jail.confの下)にこのブロックを作成します。

## block hosts trying to abuse our server as a forward proxy
[nginx-proxy]
enabled = true
port    = 80,443
filter = nginx-proxy
logpath = /path/to/websites/access.log.file
maxretry = 2
bantime  = 86400

logpath =をWebサイトのアクセスログへのパスに置き換えます)

これにより、デフォルトのブロックモードが使用され、サイトをフォワードプロキシとして悪用しようとするホストが禁止されます。

その後、nginxの構成を確認し、コントロールを使用して、(特定のIPからではない場合)サーバーにこれらの要求を行わないようにします。

お役に立てれば!

7
RapidWebs

これは当てはまらないはずですが、同じソースから頻繁に多くのリクエストを受け取り、サーバーでサービス拒否(DoS)を引き起こしている場合は、fail2banなどを使用して一時的に禁止することを検討する必要があります。サーバーからの不正なクライアント。

とにかく、たとえば、最終的な宛先(サーバー)の前にセキュリティアプライアンスがない場合は、ブルートフォース攻撃を回避することをお勧めします。

fail2banの詳細については、そのWebサイトを参照してください: http://www.fail2ban.org ここでfail2bannginxとともに使用するための構成のヒントがいくつかあります。 http://www.fail2ban.org/wiki/index.php/NginX

5

インターネットへようこそ。ボットが豊富に接続されているすべてのサーバーでエクスプロイトを見つけようとします。

それと一緒に暮らす。あなたが賢明にできることは何もありません。

これらのリクエストには何百ものリクエストがあり、サーバーの速度が大幅に低下します。

サーバーを50年前のハードウェアで実行しています=?なぜなら、最小のVPSでさえ、実際には膨らむことはなく、1秒あたり数百のそのような要求で非常に遅くなるからです。

0
TomTom