AWS WAFの公開設定を色々とためしてみました
事前準備
- Amazon CloudFrontとAmazon S3を組み合わせて公開
Amazon CloudFront #001 - Amazon S3と組み合わせて公開
Amazon CloudFrontと組み合わせた公開
AWS WAFとAmazon CloudFrontを組み合わせて公開する方法です。
任意名称を設定。リソースタイプにCloudFrontを選択。対象のCloudFrontディストリビューションを選択。その他は今回はデフォルトのまま設定。
指定IPのみ公開
AWS WAFで指定IPのみ公開する方法です。
事前準備として、Web ACLの設定。
任意名称を設定。リージョンにCloudFrontを選択。IPv4を選択。対象のIPアドレスを設定。 → 「Create IP set」をクリック。
「Web ACLs」をクリック → 対象のWeb ACLをクリック。
「Rules」をクリック → 「Add rules」をクリック → 「Add my own rules and rule groups」をクリック。
IP setを選択。任意名称を設定。IP setに設定したIP設定を選択。Source IP addressを選択。ActionはAllowを設定 → 「Add rule」をクリック。
Rulesに設定されたのを確認できます。次にデフォルトルールの「Edit」をクリック。
Default actionはBlockを選択。Response codeは403を設定 → 「Save」をクリック。
設定したIPからURLにアクセスするとWebSiteが表示されます。指定IP以外はWebSiteが表示されません。
Basic認証公開
AWS WAFでBasic認証で公開する方法です。
↓ 参考にさせて頂きました。
AWS WAFだけで、Basic認証を設定してみた
事前準備として、Web ACLの設定。
「Web ACLs」をクリック → 対象のWeb ACLをクリック。
「Rules」をクリック → 「Add rules」をクリック → 「Add my own rules and rule groups」をクリック。
Rule builderを選択。任意名称を設定。タイプはRegular ruleを選択。Statementはキャプチャ内容で設定。String to matchにはユーザー名とパスワードをbase64で変換した値を格納。ActionはBlockを設定。Custom responseはキャプチャ内容で設定 → 「Add rule」をクリック。
URLにアクセスするとユーザーとパスワードの入力画面が表示されます。
設定したユーザーとパスワードを入力するとWebSiteが表示されます。
リクエスト制限
AWS WAFでリクエスト制限する方法です。
事前準備として、Web ACLの設定。
「Web ACLs」をクリック → 対象のWeb ACLをクリック。
「Rules」をクリック → 「Add rules」をクリック → 「Add my own rules and rule groups」をクリック。
Rule builderを選択。任意名称を設定。タイプはRate-based ruleを選択。Request rate detailsはRate limitを今回は100で設定。ActionはBlockを設定 → 「Add rule」をクリック。
5分間に指定回数以上アクセスがあるとブロックされます。指定回数以下になるとアクセスが可能になります。
AWS WAFを利用することで、Amazon CloudFrontと組み合わせた公開や、今回試したIP制限・Basic認証・リクエスト制限以外にもさまざまな設定が可能です
次回は、Amazon Route 53も組み合わせた方法も紹介できたらと思います。
AWS WAFとAmazon CloudFrontについて、他にも記事を書いています。よろしければぜひ
tags - AWS WAF
tags - Amazon CloudFront
やってみたシリーズ
tags - Try