CloudFront+WAF(IP制限)構成手順概要

CloudFrontを導入した際に、ついでにWAF(Firewall)を設定しておく事があると思います。今回はCloudFront+WAF構成の手順概要について記録しておきます。

スポンサーリンク

WAFとは

WAFとはWeb Application Firewallの略で、Firewallなんですが、アプリレイヤでも解析出来る優れものです。

条件によりリクエストの許可・拒否・カウンタを使用出来ます。

条件には、IP、国、header、リクエストの文字列・長さ、SQLインジェクション、XSSなどが設定出来ます。項目が多いので結構設定は難しめの方だと思われます。

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/what-is-aws-waf.html

構成手順

今回はIPの許可リストを作成したい場合を想定して記載します。

CloudFrontはグローバルな為、WAFは全てvirginiaリージョンで作成します。

WAF ipset

WAFのipsetを設定します。複数のipでも可能ですし、CIDR形式でも指定可能です。許可するIPを記載します。

WAF Rule

WAFのRuleを設定します。デフォルトでBLOCKし、今回作成したipsetをALLOWとして指定します。

WAF Web ACL

WAFのWeb ACLを設定します。デフォルトでBLOCKし、今回作成したRuleをALLOWとして指定します。

CloudFront

作成したWAF Web ACLを指定してdistributionを作成します。

以上が概要構成です。

おまけ

Terraform resourceリスト

CloudFrontまとめ記事

以下にまとめました。

https://normalblog.net/system/cloudfront-matome/