適用於: ✔️應用閘道 v2
Azure 應用程式閘道 Web 應用程式防火牆(WAF)有助於保護您的網頁應用程式免受常見威脅與攻擊。 本文說明如何在與您的應用閘道相關聯的 WAF 政策中配置 WAF 例外清單。
關於 WAF 政策的概述,請參閱 Azure 應用程式閘道 上的 Azure Web 應用程式防火牆 以及為 Application Gateway 建立 Web 應用程式防火牆 政策。
在某些情況下,WAF 可能會阻擋對你的應用程式來說安全且預期的請求。 例外清單允許你在特定請求時繞過 WAF 檢查。 你可以在規則、規則群組或管理規則集層級設定例外。
只有下一代 WAF 引擎支援例外,且只有當你的管理規則集版本是 CRS 3.2、DRS 2.1 或更新版本時,才能使用例外。 如需相關資訊,請參閱 升級 CRS 或 DRS 規則集版本。
Important
Azure 應用程式閘道 Web 應用程式防火牆 (WAF) 中的例外功能目前為預覽版。 請參閱Microsoft Azure 預覽的補充使用條款,以了解適用於 Azure 測試版、預覽版或其他尚未正式發布的功能的法律條款。
定義請求屬性
當你建立例外時,請指定哪些請求屬性可用來識別哪些流量應略過 WAF 評估。 支援的屬性包括:
- 要求 URI
- 遠端 IP 位址
- 請求標頭名稱與值
使用以下運算子,將屬性完全或部分比對:
等於: 符合完全相同的值。
範例: 要選擇標頭 bearerToken,請使用 Equals 運算子,並以 bearerToken 作為選擇器。開頭如下: 匹配從指定選擇器開始的數值。
結尾為:符合結尾為指定選取器的值。
內容: 匹配包含指定選擇器的數值。
IP 配對: 匹配一個或多個 IP 位址。
設定例外範圍
將例外狀況套用至:
一條特定的規則
規則群組
一整套可管理的規則
當你定義例外時:
指定適用的規則、規則群組或管理規則集。
定義請求屬性,用以識別要排除的流量。
要排除整個規則群組,請提供參數
ruleGroupName。 只有在將例外縮小到該群組內的特定規則時才使用該rules參數。
Tip
例外範圍要盡量縮小。 廣泛的例外可能會無意間讓你的應用程式暴露於攻擊之下。 若可行,請針對個別規則設定例外。
為您的 WAF 原則套用例外
假設您不希望 WAF 在評估 SQL 注入規則時檢查傳送到 /login.php 和 /logout.php 的請求。 如下設定例外:
前往至您要新增例外狀況的 WAF 原則。
在 設定中選擇 受管理規則。
在 例外 標籤中,選擇 新增例外。
在 「適用」中,選擇要套用例外的 DRS 規則集,例如 Microsoft_DefaultRuleSet_2.1,並選擇範圍(規則群組、特定規則或整個規則集)。
選擇 新增例外 ,並設定匹配變數、值匹配運算子及值。
選擇 新增 ,然後 儲存 以套用新的例外。
新的例外會出現在 例外 標籤中。
Limitations
WAF 例外適用以下限制:
每個 Azure WAF 政策最多支援 60 個例外。
每個應用閘道最多支援 60 個例外,計算為該閘道所關聯的 WAF 政策中所有例外的總和。
在 單一例外中,你可以配置最多:
600 個 IP 位址,或
10 個 URI,或
10 個請求標頭。
允許流量通過 Azure WAF 的選項
Azure Web 應用程式防火牆(WAF)提供多種機制,能在需要時安全允許流量,同時維持保護。 根據你是想繞過部分請求的檢查,還是整個請求,可以使用 排除、 例外或 自訂規則。
使用排除項目允許要求的特定部分。
當你希望 WAF 跳過請求中特定元素的檢查,例如標頭、查詢參數或 Cookie,同時仍對請求的其他部分進行檢查時,可以使用 排除項目 。
範例: 如果一個合法的應用程式傳送了一個帶有隨機字元、經常觸發 SQL 注入誤判的會話 cookie,你可以為該 cookie 設定排除。 WAF 跳過 cookie 值的檢查,但仍對請求的其他部分執行保護。
使用自訂規則和例外狀況來允許整個請求
若要讓整個請求繞過 WAF 檢查,請使用以下選項之一:
具有 允許 動作的自訂規則
當你設定自訂規則並啟用 允許 動作時,請求會繞過預設規則集(DRS)、核心規則集(CRS)和機器人防護規則集的檢查。
Important
這個繞過對這些規則集來說是絕對的,不能更改或選擇性套用。 一旦觸發 允許 動作,這些規則集都不會評估該請求。 然而, HTTP DDoS 保護規則集 仍然會處理該請求。 即使跳過所有其他規則集,此規則集仍會確保會檢查要求是否存在大量或洪水式攻擊。
只有在你完全信任流量來源或應用程式時才使用此配置,因為它實際上會禁用簽名與異常偵測。
範例: 如果你有一個受信任的合作夥伴 API,且因其承載資料格式而經常觸發 DRS 規則,你可以為來自該合作夥伴 IP 範圍的流量建立自訂的 允許 規則。 此配置確保流量不會被 DRS、CRS 或機器人防護阻擋,同時仍能享有 HTTP DDoS 防護。
例外情況(更細緻的控制)
相較之下,例外可讓你僅略過特定規則、規則群組或整個規則集的檢查,而不是一次停用全部。
你可以對 DRS、CRS、機器人防護,甚至 HTTP DDoS 規則套用例外。
這種方法提供細緻的控制,因此你可以對一條有問題的規則關閉檢查,同時保持其他保護措施生效。
範例: 如果單一 DRS 規則(例如限制 內容型標頭)阻擋了有效的行動應用程式請求,你只能為該規則建立例外。 所有其他 DRS 規則、機器人防護和 DDoS 防護仍持續執行於流量上。