WAFによるアクセス制御(Cloud Front + S3)

こんにちは。新卒のKatoです。

今回はAWS WAFによるWebアクセス制御の機能についてご紹介致します。

下記のような構成でWAFによるS3バケット内のオブジェクトへのアクセス制御を行っていきます。

キャプチャ

[S3の設定] Cloud Front用にS3バケットを作成し、テスト用ファイルをアップロードしておきます。

キャプチャ18

バケットの静的ウェブサイトホスティングを有効にし、エンドポイントを介したアクセスを可能に設定します。

キャプチャ17

[Cloud Frontの設定] Origin Settingsの箇所でOrigin Domain NameにS3のエンドポイントを指定します。

キャプチャ5

StatusがDeployedになったらドメインにアクセスし、Cloud Front経由でS3内のオブジェクトにアクセス可能なことを確認します。

キャプチャ19

[WAFの設定] Get Startedをクリックし、WAFの作成を行います。

キャプチャ6

Web ACL nameを適当に入力します。

キャプチャ8

今回は指定のIPアドレスでのアクセス制御を行います。

IP match conditionsのCreate conditionをクリックし、マイIPを指定します。

キャプチャ9 キャプチャ10

マイIPからのアクセスを拒否するように設定し、作成したCloud Frontと関連付けを行います。

キャプチャ11 キャプチャ13

先ほどのCloud Frontのドメインにアクセスしてみると、下記のようなエラー画面が表示され、アクセスが拒否されます。

キャプチャ14

このように、WAFを利用すると、指定のIPからのアクセスを拒否したり、逆に指定のIPからのみアクセスを許可するといったカスタマイズが可能になります。

IPでのアクセス制御のほかにも、HTTPヘッダーやHTTP本文、URI文字列、SQLインジェクションなどを条件として指定することができ、Webアプリケーションを悪意のある攻撃から守ることが可能になります。

 

 

 

アプリケーション開発バナー