AWS WAF


AWS WAFとは

ウェブアプリケーションファイアウォールサービスです。

機能

  • 悪意のあるリクエストをブロックする。
  • カスタムルールに基づいたWebトラフィックをフィルタする。
  • リクエストに対してのモニタリング機能を提供する。

コンポーネント

Web ACL

  • Web ACLはルールを入れる設定の単位。
  • ルール内のステートメントにより、リクエストを検査するための条件が定義され、アクションによって条件に一致したリクエストの処理(Allow/Block/Count)が行われる。
  • Web ACL内のルールは優先度を指定可能であり、どのルールにも一致しない場合は、デフォルトActionが適用される。
  • 1つのWeb ACLにつき、WCUは1500まで。

ルールステートメント

  • 一致ステートメント:ウェブリクエストまたはその送信元を、指定された条件と比較する。
  • 論理ステートメント:AND、NOT、ORを指定可能。
  • 複雑なステートメント:レートベース、ルールグループ

レートベース

  • 5 分間あたりの同一IPアドレスからのリクエスト数が設定された閾値を超過したら、Block/Countする。
  • ルール作成時にデフォルトのRegular ruleからRate-based Ruleへ選択することで利用可能。

ルールグループ

  • 複数のルールを組み合わせたルールグループを自分で作ることが可能。
  • ルールグループ作成時にWCUの値を設定する必要がある。(1回設定したら変更できない。)

マネージドルール

AWSマネージドルール

  • AWSが提供するビルトインのルールセット

JSON 解析および検査

[2021/02/12]AWS WAF が JSON 解析および検査のサポートを追加

リクエストbodyの JSON コンテンツを解析出来るようになりました。
WAFのルールを設定することで、特定のキー、値を検査し、有効なjson構文になっているかをチェックして、APIを保護することができます。

有効にするには、ルールステートメントを定義するときに、JSON 本文として一致するフィールドを設定します。
JSON Pointer 構文を使用して、検査の特定のキーまたは値を選択するか、JSON 内のすべてのキーと値のペアを検査します。