本文說明如何自動部署 Google Cloud Armor Adaptive Protection 產生的建議規則。如要啟用自動部署功能,請使用下列值建立預留位置規則:
- 比對運算式:
evaluateAdaptiveProtectionAutoDeploy() - 動作:任何
- 優先順序:任何優先順序。建議您為優先順序較高且合法的流量,設定優先順序高於其他規則的明確允許規則。
如果您在外部應用程式負載平衡器前方使用上游 Proxy (例如第三方 CDN),可以設定預留位置規則,根據指定標頭中的原始用戶端 IP 位址比對要求。如要使用這項預覽功能,請在 advancedOptionsConfig 欄位中設定 userIpRequestHeaders[] 選項。詳情請參閱 ComputeSecurityPolicy 資源參考資料。
預留位置規則範例
以下指令是安全性政策 (名為 POLICY_NAME) 的範例預留位置規則,每個規則都有不同的規則動作。您可以將這些規則新增至現有安全性政策,或建立新政策。如要進一步瞭解如何建立安全性政策,請參閱「設定 Cloud Armor 安全性政策」。
封鎖惡意流量
如果 Adaptive Protection 將要求識別為攻擊流量,這項規則的評估結果就會是 true。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
限制惡意流量的頻率
這個範例會對 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:每當 Adaptive Protection 對要求採取行動,做為自動防禦機制的一環時,要求記錄會多出adaptiveProtection.autoDeployAlertId欄位,記錄警報 ID。這個欄位會顯示在enforcedSecurityPolicy或previewSecurityPolicy下方,視安全性政策是否處於預覽模式而定。
如要查看要求記錄,請參閱「使用要求記錄」。以下螢幕截圖顯示 Adaptive Protection 記錄項目範例,其中包含 autoDeployed 和 adaptiveProtection.autoDeployAlertId 欄位。
限制
- Adaptive Protection 僅適用於附加至後端服務的後端安全政策,這些後端服務會透過外部應用程式負載平衡器公開。Adaptive Protection 不適用於外部 Proxy 網路負載平衡器。