在 中覆寫規則群組動作 AWS WAF - AWS WAFAWS Firewall Manager、 AWS Shield Advanced和 AWS Shield 網路安全主管

推出 的新主控台體驗 AWS WAF

您現在可以使用更新後的體驗,在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊,請參閱使用更新的主控台體驗

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 中覆寫規則群組動作 AWS WAF

本節說明如何覆寫規則群組動作。

當您將規則群組新增至保護套件 (Web ACL) 時,您可以覆寫在相符的 Web 請求上所採取的動作。覆寫保護套件 (Web ACL) 組態中規則群組的動作並不會改變規則群組本身。它只會改變 AWS WAF 如何在保護套件 (Web ACL) 的內容中使用規則群組。

規則群組規則動作覆寫

您可以將規則群組內規則的動作覆寫為任何有效的規則動作。當您執行此操作時,比對請求的處理方式與設定的規則動作為覆寫設定完全相同。

注意

規則動作可以是終止或非終止。終止動作會停止請求的保護套件 (Web ACL) 評估,並讓它繼續到您的受保護應用程式或封鎖它。

以下是規則動作選項:

  • Allow – AWS WAF 允許將請求轉送至受保護 AWS 的資源以進行處理和回應。這是終止動作。在您定義的規則中,您可以將自訂標頭插入請求,然後再轉送到受保護的資源。

  • Block – AWS WAF 封鎖請求。這是終止動作。根據預設,受保護 AWS 的資源會以 HTTP 403 (Forbidden) 狀態碼回應。在您定義的規則中,您可以自訂回應。當 AWS WAF 封鎖請求時,Block動作設定會決定受保護資源傳回用戶端的回應。

  • Count – AWS WAF 計算請求,但不決定允許或封鎖請求。這是非終止動作。 會 AWS WAF 繼續處理保護套件 (Web ACL) 中的其餘規則。在您定義的規則中,您可以將自訂標頭插入請求,也可以新增其他規則可比對的標籤。

  • CAPTCHA 和 Challenge – AWS WAF 使用 CAPTCHA 拼圖和無提示挑戰來驗證請求不是來自機器人,並使用 AWS WAF 字符來追蹤最近成功的用戶端回應。

    CAPTCHA 拼圖和無提示挑戰只能在瀏覽器存取 HTTPS 端點時執行。瀏覽器用戶端必須在安全的內容中執行,才能取得字符。

    注意

    當您在其中一個規則中使用 CAPTCHA或 Challenge 規則動作,或做為規則群組中的規則動作覆寫時,需支付額外費用。如需詳細資訊,請參閱AWS WAF 定價

    這些規則動作可以終止或非終止,取決於請求中字符的狀態:

    • 未終止有效、未過期的字符 – 如果字符有效且根據設定的 CAPTCHA 或挑戰抗擾性時間未過期, 會 AWS WAF 處理類似於 Count動作的請求。 會根據保護套件 (Web ACL) 中的其餘規則 AWS WAF 繼續檢查 Web 請求。與Count組態類似,在您定義的規則中,您可以選擇使用自訂標頭來設定這些動作,以插入請求中,也可以新增其他規則可比對的標籤。

    • 終止無效或過期權杖的封鎖請求 – 如果權杖無效或指定的時間戳記已過期, 會 AWS WAF 終止 Web 請求的檢查並封鎖請求,類似於 Block動作。 AWS WAF 然後以自訂回應碼回應用戶端。對於 CAPTCHA,如果請求內容指出用戶端瀏覽器可以處理它, AWS WAF 會在 JavaScript 間質中傳送 CAPTCHA 拼圖,以區分人類用戶端和機器人。對於 Challenge動作, AWS WAF 會傳送具有無提示挑戰的 JavaScript 間質,此挑戰旨在區分正常瀏覽器與機器人正在執行的工作階段。

    如需其他資訊,請參閱 CAPTCHA 和 Challenge 中的 AWS WAF

如需如何使用此選項的詳細資訊,請參閱 覆寫規則群組中的規則動作

將規則動作覆寫為 Count

規則動作覆寫的最常見使用案例是將部分或全部規則動作覆寫至 Count,以測試和監控規則群組的行為,然後再將其投入生產環境。

您也可以使用它來對產生誤報的規則群組進行故障診斷。當規則群組封鎖您預期不會封鎖的流量時,會發生誤報。如果您在規則群組中識別會封鎖您想要允許通過之請求的規則,您可以保留該規則上的計數動作覆寫,以排除該規則對您的請求採取動作。

如需在測試中使用規則動作覆寫的詳細資訊,請參閱 測試和調校您的 AWS WAF 保護

JSON 清單:RuleActionOverrides取代 ExcludedRules

如果您在 2022 年 10 月 27 日之前將保護套件 (Web ACL) 組態Count中的規則群組規則動作設為 ,則 會將保護套件 (Web ACL) JSON 中的覆寫 AWS WAF 儲存為 ExcludedRules。現在,覆寫規則的 JSON 設定Count位於RuleActionOverrides設定中。

我們建議您將 JSON 清單中的所有ExcludedRules設定更新為動作設為 RuleActionOverrides的設定Count。如果您只使用新的設定,API 會接受任一RuleActionOverrides設定,但您會在主控台工作與 API 工作之間取得 JSON 清單中的一致性。

注意

在 AWS WAF 主控台中,保護套件 (Web ACL) 取樣請求索引標籤不會顯示具有舊設定的規則範例。如需詳細資訊,請參閱檢視 Web 請求的範例

當您使用 AWS WAF 主控台編輯現有的規則群組設定時,主控台會自動將 JSON 中的任何ExcludedRules設定轉換為 RuleActionOverrides設定,並將覆寫動作設定為 Count。

  • 目前的設定範例:

    "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesAdminProtectionRuleSet", "RuleActionOverrides": [ { "Name": "AdminProtection_URIPATH", "ActionToUse": { "Count": {} } } ]
  • 舊設定範例:

    OLD SETTING "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesAdminProtectionRuleSet", "ExcludedRules": [ { "Name": "AdminProtection_URIPATH" } ] OLD SETTING

規則群組傳回動作覆寫至 Count

您可以覆寫規則群組傳回的動作,將其設定為 Count。

注意

這不是在規則群組中測試規則的好選項,因為它不會改變規則群組本身 AWS WAF 的評估方式。它只會影響 AWS WAF 如何處理從規則群組評估傳回至保護套件 (Web ACL) 的結果。如果您想要測試規則群組中的規則,請使用上一節中所述的選項 規則群組規則動作覆寫

當您將規則群組動作覆寫為 時Count, 會正常 AWS WAF 處理規則群組評估。

如果規則群組中沒有規則相符或所有相符規則都有Count動作,則此覆寫不會影響規則群組或保護套件 (Web ACL) 的處理。

規則群組中符合 Web 請求且具有終止規則動作的第一個規則 AWS WAF 會導致 停止評估規則群組,並將終止動作結果傳回至保護套件 (Web ACL) 評估層級。此時,在保護套件 (Web ACL) 評估中,此覆寫會生效。 會 AWS WAF 覆寫終止動作,使得規則群組評估的結果僅為Count動作。 AWS WAF 然後繼續處理保護套件 (Web ACL) 中的其餘規則。

如需如何使用此選項的詳細資訊,請參閱 將規則群組的評估結果覆寫為 Count