AWS WAFで特定の国からのアクセスをブロックしてみた

AWS WAFを利用し、特定の国からのアクセスを遮断してみました。 今回はテストの利便性のため、日本からのアクセスを遮断してみます。
2019.10.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS WAFを利用し、特定の国からのアクセスを遮断してみました。

今回はテストの利便性のため、日本からのアクセスを遮断してみます。

環境

ALBとECS環境で、Nginxのコンテナを動かし、ALBのエンドポイントを叩くとNginxのページが表示されるようにしました。

Geo Match Conditionsを作る

AWS WAFからGeo matchを開き、JPを選択します。

名前は jp-block にしました。

Rulesを作る

AWS WAFのRulesからCreate Ruleを選択して、ルールを作成します。

「originate from a geographic location in」を選択し、先ほど作成したGeo Match Conditions(jp-block)を選択します。

名前は jp-block-rule にします。

Web ACLを作る

Web ACLsから、Create web ACLを選択します。

名前をつけ、ALBに紐付けます。

Step2 を飛ばし、Create rulesで先ほど作成した jp-block-rule を選択し、Blockにします。

Step 4も飛ばし、作成します。

完成するとこんな感じになり、 jp-block-rule がBlockになっているのを確認できます。

動作確認

日本のIPアドレスからアクセスすると、403 Forbiddenが表示され、正常にWAFが動作し、日本からのアクセスを遮断していることが確認できます。

Torを利用して、海外からアクセスしてみました。正常に動作していることが確認出来ます。

まとめ

AWS WAFを利用することで、特定の国のみのアクセスを除外することも簡単に出来ました。

Geo Matchの部分の特定の国に変更することも出来るので、特定の国からのアクセスを遮断したい場合に是非お使いください!