在 中覆寫規則群組動作 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