API Gateway REST API の WAF 保護設定の確認

API の公開範囲と要件に合う Web 要求のフィルタリングを適用してください。

説明

API Gateway REST API ステージに必要な AWS WAF 保護がないと、既知の攻撃パターンや過剰な要求を共通ルールで除外する機会を失う可能性があります。実際の保護は、関連付けた Web ACL のルールとアクションに左右されます。

WAF は認証・認可やアプリケーションの入力検証の代わりにはなりません。API の公開範囲と扱うデータに合わせ、必要なマネージドルール、カスタムルール、レートベースのルールを選択してください。

想定される影響

  • 悪意ある要求がアプリケーションに届き、脆弱性を悪用するおそれがあります。
  • 過剰な要求によって処理費用が増えたり、サービスの可用性が低下したりする可能性があります。

対処方法

保護する REST API ステージに、同じリージョンの REGIONAL Web ACL を関連付けてください。必要なルールを構成し、正当な要求への影響を試験してからブロック動作を適用してください。WAF のログとメトリクスを確認し、API の認証・認可と入力検証も維持してください。

例

最初は API のデプロイ、次は WAF の関連付けを示す別々の抜粋です。後者は API のデプロイを置き換えるものではありません。string03 Web ACL とルールを用意し、リージョン、API ID、ステージを実際の値に置き換えてください。

変更前

yaml
- name: Setup AWS API Gateway
  community.aws.aws_api_gateway:
    swagger_file: my_api.yml
    stage: production
    endpoint_type: EDGE
    state: present

production ステージをデプロイします。この抜粋には WAF の関連付けタスクがないため、別途構成した保護も確認する必要があります。

変更後

yaml
- name: Associate API Gateway stage with WAF
  community.aws.wafv2_resources:
    name: string03
    scope: REGIONAL
    state: present
    arn: "arn:aws:apigateway:region::/restapis/api-id/stages/production"

指定した REST API ステージを REGIONAL Web ACL に関連付けます。実際の要求処理は、Web ACL のルールとアクションによって異なります。

参考資料