自動部署 Adaptive Protection 建議的規則

本文說明如何設定自動部署 Adaptive Protection 產生的建議規則。如要啟用自動部署規則,您必須建立預留位置規則,並使用下列值:

  • 比對運算式:evaluateAdaptiveProtectionAutoDeploy()
  • 動作:任何
  • 優先順序:任何優先順序。建議您為優先順序較高且合法的流量,設定優先順序高於其他規則的明確允許規則。

如果您在外部應用程式負載平衡器前方使用上游 Proxy (例如第三方 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 驗證問題

這個規則範例會將自動防護功能判斷為惡意的流量,重新導向至 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

設定 Adaptive Protection 自動部署參數

您可以調整下列參數,設定自動部署規則的閾值。如果您未設定參數值,Google Cloud Armor 會使用預設值。

  • 負載門檻:在系統發出快訊後的攻擊期間,只有遭攻擊後端服務的負載超出這個門檻時,Adaptive Protection 才會找出新的攻擊者。此外,只有在遭攻擊後端服務的負載超出這個門檻時,系統才會自動為快訊部署規則。

    • 預設值:0.8

  • 信賴度門檻:只有在潛在攻擊的信賴度分數高於這個門檻時,系統才會自動部署規則。

    • 預設值:0.5
  • 受影響的基準門檻:只有在建議緩解措施對基準流量的預估影響低於這個門檻時,系統才會自動部署規則。impactedBaselineProportionimpactedbaselinePolicyProportion 應低於受影響的基準門檻。

    • 預設值:0.01 百分比 (0.01%,而非 1%)
  • 到期時間:這段時間過後,Google Cloud Armor 就會停止對找到的攻擊者套用自動部署規則中的動作。 這項規則會繼續對新要求執行操作。

    • 預設值: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,指出是否已觸發自動防禦機制。如果 autoDeployed 設為 true,表示 evaluateAdaptiveProtectionAutoDeploy() 預留位置規則已評估出攻擊的信心度和影響基準門檻,且已超出設定的自動部署參數。系統隨即開始監控動態負載。一旦負載超過設定的負載門檻,系統就會自動部署規則,以減輕攻擊。
  • adaptiveProtection.autoDeployAlertId:每當自動防護功能對要求採取動作時,要求記錄會多出 adaptiveProtection.autoDeployAlertId 欄位,記錄警報 ID。這個欄位會顯示在 enforcedSecurityPolicypreviewSecurityPolicy 下方,視安全性政策是否處於預覽模式而定。

如要查看要求記錄,請參閱「使用要求記錄」。以下螢幕截圖顯示自動調整防護記錄項目的範例,其中包含 autoDeployedadaptiveProtection.autoDeployAlertId 欄位。

自動調整式防護機制記錄範例。
自動調整式防護機制範例記錄 (按一下即可放大)。

限制

  • Adaptive Protection 僅適用於附加至後端服務的後端安全性政策,這些後端服務會透過外部應用程式負載平衡器公開。外部 Proxy 網路負載平衡器無法使用自動調整式防護機制。