AWSのVPCで特定IPアドレスからのアクセスを拒否する

この自社サイトが落ちたので、サーバの負荷状況を確認したらロードアベレージがとんでもないことに。
apache の負荷が高いようだったので、apacheを落とすとロードアベレージも落ち着きました。
サイトのアクセスログを調べると、どうも特定のIPアドレスからアタックが来ていることが判明しました。
アクセスログを tail -f しながら、apache を上げるとこのIPからのアクセスが再度大量に来ます。apache を再度落としてこのIPからのアクセスを拒否することにしました。

AWSのセキュリティグループでは許可設定しかできないので、セキュリティグループの設定でこのIPの遮断はできません。
httpd.conf でIP制限をかけても拒否をする事自体サーバリソース使うので避けたいですし、同様に iptable を入れるのも避けたいと考えてます。

そこで、Amazon VPC で拒否設定ができますのでこちらで対応します。これで、サーバの外側でアクセス制御をするという私の運用ポリシーも守れそうです。

以下、手順になります。

1. AWSのコンソールで「VPC」を開きます。

2. ネットワークACL を選択します。

3. 該当のネットワークACLを選択(一つしかありませんでしたが)し、「インバウンドルール」タブを選び「編集」を押します。

4. 「別のルールの追加」を押します。

5. 各入力欄に情報を追記してルールを作成します。

ルール#:数字が小さい程、適用される優先順位が高いです。(1, 2 で追加しました)
タイプ:「全てのトラフィック」
プロトコル:「すべて」
送信元:拒否したいIP/32
許可/拒否:拒否

上記を設定したら「保存」を押します。
拒否したいIPが複数ある場合は都度「別のルールの追加」を押してルールを作成します。(今回は2つのIPを追加しました)

これで、拒否したいIPアドレスからのアタックはなくなりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です