AWS WAFで特定の国からのアクセスをブロックしてみた
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の部分の特定の国に変更することも出来るので、特定の国からのアクセスを遮断したい場合に是非お使いください!