AWS WAF導入 ブラックリストによるアクセス拒否


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.最終確認をして作成する

[Confirm and create]