Edited at

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

More than 1 year has passed since last update.


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の適用先

02.png



4.Conditionsの作成(今回はIP制限、ブラックリストによる制限)


IP match conditionsの[Create condition]⇒設定項目を入力⇒[Next]

- Name: 任意のCondition名

- IP Version: WAFの対象となるIPアドレスバージョン

 ※ここで設定しないと、デフォルトアクションが適用される。

  ⇒デフォルトアクションがAllowの場合、全許可(0.0.0.0/0)。

   デフォルトアクションがBlockの場合、全拒否になる。

04.png

03.png



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とかになる?)

06.png



6.作成したRuleの動作を設定


作成したRuleの動作(BlockかCount)とデフォルトアクション(AllowかBlock)⇒[Review and create]

07.png



7.最終確認をして作成する


[Confirm and create]

08.png