AWS WAFとは
- 2017.9月時点で、CloudFrontとALBにのみ適用可能
- 悪意あるウェブリクエストのアクセスを拒否する
IP address(IP一致制限条件)でできること
- 設定したIPアドレスのアクセスを拒否or許可
- 指定したしきい値(最小2000)以上のリクエストを、5分以内に行ったIPアドレスのみ自動で拒否(Rate-based ruleのみ)
やること
- Web ACLsの作成(Application Load Balancerへの適用)
- Conditionsの作成(IP addresses)
- Rulesの作成
- AWS WAFを作成済みのALBに適用させる
前提
- Application Load Balancerを作成済み。
WAF作成手順
1.AWSコンソールにログインする。
2.WAFの画面へ移動
[サービス]⇒[WAF & Shield]
3.ACLの作成
[Create web ACL]⇒[Next]
- Web ACL name: 任意のACL名
- CloudWatch metric name: 任意の名前(Web ACL nameを入力すると自動ではいる。)
- Reigion: 任意のリージョン
- AWS resource to associate: WAFの適用先
4.Conditionsの作成(今回はIP制限、ブラックリストによる制限)
IP match conditionsの[Create condition]⇒設定項目を入力⇒[Next]
- Name: 任意のCondition名
- IP Version: WAFの対象となるIPアドレスバージョン
※ここで設定しないと、デフォルトアクションが適用される。
⇒デフォルトアクションがAllowの場合、全許可(0.0.0.0/0)。
デフォルトアクションがBlockの場合、全拒否になる。
5.Rulesの作成
[Create rule]⇒[Create]
●Ruleの作成
- Name: 任意のRule名
- CloudWatch metric name: 任意の名前(Nameを入力すると自動ではいる。)
- Rule type: [Rate-based rule]を選択。
- Rate limit: 任意のしきい値(5分間のリクエスト数の上限)最低2000
●Add match conditionsの設定 - does: リクエストが条件に一致するときに選択
- does not: リクエストが条件に一致しないときに選択
- original from an IP address in: IP制限のときに選択
- 4.で作成したConditionを選択(多分Black listとかになる?)
6.作成したRuleの動作を設定
作成したRuleの動作(BlockかCount)とデフォルトアクション(AllowかBlock)⇒[Review and create]
7.最終確認をして作成する