自定義請求標頭插入允許、計數和CAPTCHA動作 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

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

自定義請求標頭插入允許、計數和CAPTCHA動作

您可以指示AWS WAF將自定義標頭插入到原始 HTTP 請求中,當它允許請求通過時。您只能新增至請求。您無法修改或替換原始請求的任何部分。

此選項適用於設置為允許、計數或CAPTCHA和設置為允許的 Web ACL 默認操作。如需規則動作的詳細資訊,請參閱 AWS WAF 規則動作。如需預設 Web ACL 動作的詳細資訊,請參決定 Web ACL 的預設動作

自定義標頭插入的使用案例包括向下遊應用程序發出信號,以根據插入的標頭以不同方式處理請求,以及標記請求進行分析。

自訂請求標題名稱

AWS WAF前綴所有插入的請求頭x-amzn-waf-,以避免與請求中已經存在的標頭混淆。例如,如果您指定標題名稱sample、AWS WAF插入標題x-amzn-waf-sample

具有相同名稱的標題

如果請求已經具有與AWS WAF正在插入,AWS WAF將覆蓋標頭。因此,如果您在多個具有相同名稱的規則中定義標題,則檢查請求並查找匹配項的最後一條規則將添加其標題,而以前的任何規則都不會。

帶有計數的自定義標題或CAPTCHA行動

計數CAPTCHA規則操作不會停止AWS WAF從處理 Web 請求。如果使用使用這些操作的規則插入自定義標題,則後續規則也可能會插入自定義標題。如需規則動作行為的資訊,請參AWS WAF 規則動作

例如,假設您有下列規則,按照所示的順序排列優先級:

  1. 包含計數操作和名為RuleAHeader

  2. 帶有允許操作和名為RuleBHeader

如果請求同時匹配規則 A 和規則 B,AWS WAF插入標題x-amzn-waf-RuleAHeaderx-amzn-waf-RuleBHeader,然後將請求轉寄給受保護資源。

AWS WAF當完成檢查請求時,會將自訂標頭插入 Web 請求。因此,如果您將自定義請求處理與操作設置為計數的規則一起使用,則您添加的自定義標頭不會被後續規則檢查。

範例自訂請求處理

您可以為規則的操作或 Web ACL 的默認操作定義自定義請求處理。以下列表顯示了添加到 Web ACL 的默認操作中的自定義處理的 JSON。

{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample web ACL with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }