本文說明如何設定自動部署 Adaptive Protection 產生的建議規則。如要啟用自動部署規則,請使用下列值建立預留位置規則:
- 比對運算式:
evaluateAdaptiveProtectionAutoDeploy() - 動作:任何
- 優先順序:任何優先順序。建議您為優先順序較高的合法流量設定明確的允許規則,且優先順序高於其他規則。
如果您在外部應用程式負載平衡器前方使用上游 Proxy (例如第三方 CDN),可以設定預留位置規則,根據指定標頭中的原始用戶端 IP 位址比對要求。如要使用這項預覽功能,請在 advancedOptionsConfig 欄位中設定 userIpRequestHeaders[] 選項。詳情請參閱 ComputeSecurityPolicy 資源參考資料。
預留位置規則範例
以下指令是名為 POLICY_NAME 的安全性政策範例預留位置規則,每個規則都有不同的規則動作。您可以將這些規則新增至現有的安全性政策,或建立新的政策。如要進一步瞭解如何建立安全性政策,請參閱「設定 Cloud Armor 安全性政策」。
封鎖惡意流量
如果適應性防護將要求識別為攻擊流量,這個範例規則的評估結果就會是 true。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
限制惡意流量的頻率
這個範例會對 Adaptive Protection 判斷為惡意的流量套用 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 自動部署參數
您可以調整下列參數,設定自動部署規則的閾值。如果未設定參數值,Cloud Armor 會使用預設值。
負載門檻:在系統發出快訊後的攻擊期間,只有遭攻擊後端服務的負載超出這個門檻時,Adaptive Protection 才會找出新的攻擊者。此外,只有在遭攻擊後端服務的負載超出這個門檻時,系統才會自動為快訊部署規則。
預設值:
0.8
信賴度門檻:只有在潛在攻擊的信賴度分數高於這個門檻時,系統才會自動部署規則。
- 預設值:
0.5
- 預設值:
受影響的基準門檻:只有在建議的緩解措施對基準流量的預估影響低於這個門檻時,系統才會自動部署規則。
impactedBaselineProportion和impactedbaselinePolicyProportion應低於受影響的基準門檻。- 預設值:
0.01(1%)
- 預設值:
到期時間:這段時間過後,Cloud Armor 就會停止對找到的攻擊者套用自動部署規則中的動作。 這項規則會繼續對新要求執行操作。
- 預設值:
7200秒
- 預設值:
下列指令會將第 7 層 DDoS 防禦閾值設定新增至安全性政策。
gcloud compute security-policies add-layer7-ddos-defense-threshold-config NAME [FLAG = VALUE]
更改下列內容:
NAME:安全性政策的名稱。FLAG:防禦門檻參數。VALUE:防禦門檻參數的值。
詳情請參閱「設定精細的流量單位」。
下列指令會更新安全性政策,改用非預設的自動部署門檻。您最多可以設定一個 auto_deploy_config 和 threshold_config 參數。設定多個標記會導致錯誤。
gcloud beta compute security-policies update NAME [
--layer7-ddos-defense-auto-deploy-PARAMETER VALUE
]
更改下列內容:
NAME:安全性政策的名稱。PARAMETER:自動部署參數。可以是下列其中一項:load-thresholdconfidence-thresholdimpacted-baseline-thresholdexpiration-sec
VALUE:自動部署參數的值。
記錄
透過 Adaptive Protection 自動部署規則產生的記錄,會包含下列額外欄位:
autoDeployed:設定自動部署規則後,Adaptive Protection 產生的每則快訊記錄都會有布林值欄位autoDeployed,指出是否已觸發自動防禦機制。如果autoDeployed設為true,表示evaluateAdaptiveProtectionAutoDeploy()預留位置規則已評估出攻擊信心和受影響的基準門檻,且已超出設定的自動部署參數。系統隨即開始監控動態負載。一旦負載超過設定的負載門檻,系統就會自動部署規則,以減輕攻擊。adaptiveProtection.autoDeployAlertId:每當自動防護功能對要求採取動作時,要求記錄會多出adaptiveProtection.autoDeployAlertId欄位,記錄警報 ID。這個欄位會顯示在enforcedSecurityPolicy或previewSecurityPolicy下方,視安全性政策是否處於預覽模式而定。
如要查看要求記錄,請參閱「使用要求記錄」。以下螢幕截圖顯示「自動調整保護」記錄項目範例,其中包含 autoDeployed 和 adaptiveProtection.autoDeployAlertId 欄位。
限制
- Adaptive Protection 僅適用於附加至後端服務的後端安全性政策,這些後端服務會透過外部應用程式負載平衡器公開。Adaptive Protection 不適用於外部 Proxy 網路負載平衡器。