web-dev-qa-db-ja.com

悪意のあるリクエストがApacheに到達する前にブロックする方法は?

ダミーのログインとランダムな入力を使用して、さまざまなIPからの多数のリクエストにヒットするRESTful Webサービスがあります。これらの要求はHTTPレベルで(Apache構成ファイルを使用して)既に拒否されているため、403応答が返されます。

ただし、Apacheログファイルにポップアップが表示されるのはいらいらさせられ、リソースも消費します。

パケットを完全にドロップすることは可能ですか? iptablesを使用してこれを行う必要がありますか?この問題を軽減する他の方法はありますか?

1
user881480

それらを拒否する場合は、どの署名で識別できるかを確認する必要があります。ルーターレベルで拒否できる単純なものを特定できる場合は、外部ルーターにそれらをドロップするか、ルーターにチョークを入れてからインフラストラクチャに到達するのが理想的です。

しかし、それらはすべて非常に異なっているように聞こえるので、それらを識別するにはもう少しインテリジェントなものが必要になります。

チョークルーターの内部にはどのタイプのファイアウォールがありますか?ディープインスペクションを実行でき、Apacheルールをファイアウォールで構成できるものに変換できる場合、ネットワークの中心に向かってインフラストラクチャの負荷をさらに削減できます。

残念ながら、iptablesはあまりインテリジェントではありません。チョークルーターのラインに沿っているため、iptablesを使用してパケットをドロップする場合は、そのルーターでドロップすることをお勧めします。

最終オプション-これらのリクエストをApacheでのみドロップできる場合、これらの特定のアクションをログに記録しないように常に構成できます...私はお勧めしません。通常、変更を分析する必要がある場合にできるように、そこにデータがあることが最善です。

2
Rory Alsop

Iptablesを使用してこれを行う必要がありますか?

iptables を使用することは、特定のアドレスが悪意があると確信している場合、Apacheに到達する前にトラフィックをブロックする最良の方法です。 Ubuntuを実行している場合、一部の人々は ncomplicated firewall (UFW)がファイアウォール構成を簡素化することに気付きます。

Iptablesを使用して既知の<IP address>をブロックするには:

Sudo iptables -A INPUT -s <IP address> -j DROP

UFWを使用してブロックするには:

Sudo ufw deny from <IP address>

Linodeには便利な iptablesの設定ガイド があり、Ubuntuには FWの紹介 があります。

この問題を軽減する他の方法はありますか?

別のマシンで ハードウェアファイアウォール を設定できます。これは、トラフィック警官として機能し、安全ではないと判断したトラフィックをフィルタリングし、許可されたリクエストのみをApacheを実行するサーバーに送信します。

1
Nick