AWS WAFメモ

手順

IPアドレスフィルタ

  • https://console.aws.amazon.com/waf/ を開く

  • [ IP Address ]->[ Create Condition ]

  • 名前は対象とフィルタリングルールが分かるように

  • 左側の[ Rule ]

  • [ dose ]->[ origin from an IP adress in ]->IPアドレスグループ

  • [ Web ACLs ]->[ Create web ACL ]

  • Web ACL name

  • Region

  • Resource type to associate with web ACL -> ALB

  • AWS resource to associate -> 付与するALB

  • [ Set up a web access control list (web ACL)]は、既にルールを作っているので、そのまま次へ

  • [ Create rules ]では作成済みのルールを選択->[ Add rule to ACLs ]

  • Action を Allow

  • Default Action を Block

  • 設定内容を確認して作成する

テスト環境(1ルール):月額$6 小規模サイト(6ルール、58Mビュー):月額$46 中規模サイト(6ルール、260Mビュー):月額$167

参考

「AWS WAF」を導入してみた。- String matching編 - Qiita

「AWS WAF」を導入してみた。- IP addresses編 - Qiita

CloudFront経由でユーザのヘッダでアクセス制限したい

開発者がChromeなどで設定する特殊な設定のリクエストヘッダーを元にアクセス制限したい。 現在IPアドレスで制限をかけているがコワーキングスペースなどだと動作確認ができない。

AWS WAFを利用してCloudFrontのELBオリジンへ直接アクセスを制限してみた | Developers.IO を参考にWAFのACL設定を考えていく

注 上記のページの要件は「CloudFront経由のみのアクセスにしたい」という要件のため、 「CloudFrontのリクエストヘッダー設定に追加する」という手順になっている、が、今回のここのケースは、 今回の私の要件では、CloudFrontではなく、Mac上のChrome上で設定したい、となる。

またCloudFrontが特殊な設定のヘッダーを通過させてくれるか(現状、ヘッダーはALLで許可している)

リクエストヘッダーは(上記ページを参考に)「 x-pre-shared-key 」「 X-PRE-SHARED-KEY 」としてみる。

ACL設定

順番としては、左側のメニューから

  • Condition(条件の作り方で複数ある)
  • Rules
  • ACL の順番で作成する
User
CloudFront
ALB
EC2
RDS