Adaptive Protection が提示するルールを自動でデプロイする

このドキュメントでは、適応型保護によって生成された推奨ルールを自動的にデプロイするための構成手順を説明します。自動的なルールのデプロイを有効にするには、次の値を使用してプレースホルダ ルールを作成する必要があります。

  • 表現の一致: evaluateAdaptiveProtectionAutoDeploy()
  • アクション: 任意
  • 優先度: 任意。優先度の高い正当なトラフィックには、他のルールより優先度が高い明示的な許可ルールを設定することをおすすめします。

サードパーティ CDN などの外部アプリケーション ロードバランサの手前でアップストリーム プロキシを使用する場合は、指定したヘッダーにある元のクライアントの IP アドレスに基づいてリクエストに一致するプレースホルダ ルールを構成できます。このプレビュー機能を使用するには、advancedOptionsConfig フィールドで userIpRequestHeaders[] オプションを構成します。詳細については、ComputeSecurityPolicy リソース リファレンスをご覧ください。

プレースホルダ ルールの例

次のコマンドは、POLICY_NAME というセキュリティ ポリシーのプレースホルダ ルールの例です。各ルールには異なるルール アクションが含まれています。これらのルールを既存のセキュリティ ポリシーに追加するか、新しいポリシーを作成できます。セキュリティ ポリシーの作成の詳細については、Google Cloud Armor セキュリティ ポリシーの構成をご覧ください。

悪意のあるトラフィックをブロックする

この例のルールによって、Adaptive Protection が攻撃トラフィックとして識別したリクエストが true と評価され、Google Cloud Armor によって、ブロック アクションが攻撃リクエストに適用されます。

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action deny-403

悪意のあるトラフィックを、reCAPTCHA による確認にリダイレクトする

この例のルールは、Adaptive Protection によって悪意があると識別されたトラフィックを reCAPTCHA チャレンジにリダイレクトします。

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action redirect \
    --redirect-type google-recaptcha

悪意のあるトラフィックのレート制限

この例では、Google Cloud Armor のレート制限を、適応型保護によって悪意があると識別されたトラフィックに適用します。

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action throttle \
    --rate-limit-threshold-count 500 \
    --rate-limit-threshold-interval-sec 120 \
    --conform-action allow \
    --exceed-action deny-404 \
    --enforce-on-key ip

適応型保護の自動デプロイ パラメータを構成する

次のパラメータを調整して、ルールの自動デプロイのしきい値を構成できます。パラメータの値を設定しなかった場合はデフォルト値が使用されます。

  • 負荷しきい値: アラート対象の攻撃が発生した際は、攻撃対象のバックエンド サービスの負荷がこのしきい値を超えた場合にのみ、適応型保護によって新しい攻撃者が識別され、アラート用のルールが自動的にデプロイされます。

    • デフォルト値: 0.8

  • 信頼度のしきい値: 信頼スコアがこのしきい値を超える潜在的な攻撃に対してのみ、アラート用のルールが自動的にデプロイされます。

    • デフォルト値: 0.5
  • 影響を受けるベースラインのしきい値: 推奨された緩和策でベースライン トラフィックに予想される影響がこのしきい値を下回った場合にのみ、ルールが自動的にデプロイされます。impactedBaselineProportionimpactedbaselinePolicyProportion は、影響を受けるベースラインのしきい値より低くする必要があります。

    • デフォルト値: 0.01%(0.01%。1% ではありません)
  • 有効期限を設定: この期間が経過すると、自動的にデプロイされたルール内のアクションは識別済みの攻撃者に適用されなくなります。新しいリクエストに対してはルールが引き続き機能します。

    • デフォルト値: 7200

次のコマンド例により、デフォルト以外の自動デプロイしきい値を使用するようにセキュリティ ポリシーを更新できます。NAME はセキュリティ ポリシーの名前に、残りの変数はポリシーに必要な値に置き換えます。

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-load-threshold LOAD_THRESHOLD
    --layer7-ddos-defense-auto-deploy-confidence-threshold CONFIDENCE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-impacted-baseline-threshold IMPACTED_BASELINE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-expiration-sec EXPIRATION_SEC
]

ロギング

Adaptive Protection によって自動的にデプロイされたルールで生成されたログには、次の追加フィールドがあります。

  • autoDeployed: 自動ルールのデプロイを構成した後は、Adaptive Protection によって生成する各アラートログに、自動防御がトリガーされたかどうかを示すブール値フィールド autoDeployed が含まれます。autoDeployedtrue に設定されている場合、evaluateAdaptiveProtectionAutoDeploy() プレースホルダ ルールで、攻撃の信頼度と影響を受けるベースラインのしきい値が構成された自動デプロイ パラメータの超過がすでに評価されていることを示します。その後、システムは動的負荷のモニタリングを開始します。負荷が、構成された負荷しきい値を超えると、攻撃を軽減するためにルールが自動的にデプロイされます。
  • adaptiveProtection.autoDeployAlertId: Adaptive Protection が自動防御の一環としてリクエストに対してアクションを実行するたびに、リクエストログに adaptiveProtection.autoDeployAlertId フィールドが追加され、アラート ID が記録されます。このフィールドは、セキュリティ ポリシーがプレビュー モードであるかどうかに応じて、enforcedSecurityPolicy または previewSecurityPolicy の下に表示されます。

リクエストログを表示するには、リクエスト ロギングを使用するをご覧ください。次のスクリーンショットは、autoDeployed フィールドと adaptiveProtection.autoDeployAlertId フィールドを含む適応型保護のログエントリの例です。

適応型保護のログの例。
適応型保護のログの例(クリックして拡大)

制限事項

  • 適応型保護は、外部アプリケーション ロードバランサ経由で公開されているバックエンド サービスに接続されたバックエンド セキュリティ ポリシーでのみ使用できます。適応型保護は、外部プロキシ ネットワーク ロードバランサでは使用できません。