インターネット向けALBを直接利用するIPv4クライアントの公開APIを保護する。信頼する前段プロキシやCDNはなく、regional web ACLはALBへ関連付け済みで、先行する終端Allowはない。対象要求を遮断するほかのルールはなく、web ACLのデフォルトアクションはAllow。
URI pathが/api/searchと一致するリクエストを送信元IPごとに直近300秒で評価し、約1500件を超える高レートの要求をアプリケーションへ到達させたくない。別IPや対象外URIは同じ集計へ混ぜない。
アプリケーションコードは変更せず、厳密に1501件目を即時遮断するクォータは要求しない。
追加するWAFルールとして最も適切なものはどれか。
対象URIへscope-downしたrate-based ruleを送信元IP別・300秒・Limit=1500・Blockで設定する。Countや全要求をまとめる集計は要件と異なり、WAFの推定レートを厳密なクォータと同一視しない。
詳細解説
評価期間は参照するリクエストの範囲を変える。1500件という数値だけが同じでも300秒の条件を維持できない。
Countは記録して評価を続ける。ほかの遮断制御がない本問では、対象の要求を止める要件を満たさない。
CONSTANTでは異なる送信元も同じ上限を共有するため、送信元IPごとの制御にならない。
対象URIの要求を送信元IPごとに集計し、指定期間の推定レートに基づいて遮断する。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
公式資料とweb ACLの関連付け・評価順序、集計キー、評価期間、Limit、scope-down、実効actionを照合する。承認済み環境では対象URIの高レートと低レート要求を別送信元IPで比較し、対象外URIも確認する。WAFログとアプリケーションへの到達を照合し、反映・検出の遅れを考慮する。
参考にした公式資料
確認できる内容
対象URIの高レートIPにBlockが適用され、別IPや対象外URIを同じ上限へ混ぜない。Countの記録だけで遮断成功とせず、1501件目の即時遮断やIP数と利用者数の一致を保証しない。
理解のポイント
- AWS WAF
- レートベースルール
- HTTPリクエスト
確認時の注意
- 確認環境: 公式AWS資料の確認。必要に応じ承認済み検証環境で設定と動作を照合する。
- AWS公式SAA-C03 Domain 1と各サービスの公式ドキュメントを確認する。
基礎のおさらい
対象と集計単位を分ける
Scope-downで対象URIだけを選び、IP集計で送信元ごとに上限を分ける。全要求を1つへまとめるCONSTANTとは異なる。NAT等でIPを共有する利用者は同じ集計単位に入るため、IP数は利用者数ではない。
評価期間と実行アクションを区別する
EvaluationWindowSecは参照する過去の期間で、チェックの実行間隔ではない。Countは記録と後続評価、Blockは遮断という違いがある。web ACLへの関連付けや評価順序も、ルール定義と合わせて確認する。
推定レートと厳密なクォータを区別する
WAFは推定レートに基づき制御し、設定値に正確に一致する即時遮断は保証しない。別IPと対象外URIを比較し、WAFログのactionとアプリへの到達を照合して、設定反映・検出の遅れも考慮する。