使用 PowerShell 自訂 Web 應用程式防火牆規則
Azure 應用程式閘道 Web 應用程式防火牆 (WAF) 提供 Web 應用程式的保護。 這些保護是由開放 Web 應用程式安全性專案 (OWASP) 的核心規則集 (CRS) 所提供。 某些規則可能會導致誤判,並封鎖真正的流量。 因此,應用程式閘道會提供功能以自訂規則群組與規則。 如需特定規則群組與規則的詳細資訊,請參閱 Web 應用程式防火牆 CRS 規則群組與規則的清單。
檢視規則群組與規則
以下程式碼範例顯示如何檢視可在啟用 WAF 的應用程式閘道上設定的規則和規則群組。
檢視規則群組
下列範例顯示如何檢視規則群組:
Get-AzApplicationGatewayAvailableWafRuleSets
以下輸出是上述範例的截斷回應:
OWASP (Ver. 3.0):
General:
Description:
Rules:
RuleId Description
------ -----------
200004 Possible Multipart Unmatched Boundary.
REQUEST-911-METHOD-ENFORCEMENT:
Description:
Rules:
RuleId Description
------ -----------
911011 Rule 911011
911012 Rule 911012
911100 Method is not allowed by policy
911013 Rule 911013
911014 Rule 911014
911015 Rule 911015
911016 Rule 911016
911017 Rule 911017
911018 Rule 911018
REQUEST-913-SCANNER-DETECTION:
Description:
Rules:
RuleId Description
------ -----------
913011 Rule 913011
913012 Rule 913012
913100 Found User-Agent associated with security scanner
913110 Found request header associated with security scanner
913120 Found request filename/argument associated with security scanner
913013 Rule 913013
913014 Rule 913014
913101 Found User-Agent associated with scripting/generic HTTP client
913102 Found User-Agent associated with web crawler/bot
913015 Rule 913015
913016 Rule 913016
913017 Rule 913017
913018 Rule 913018
... ...
停用規則
下列範例會停用應用程式閘道上的規則 911011
和 911012
:
$disabledrules=New-AzApplicationGatewayFirewallDisabledRuleGroupConfig -RuleGroupName REQUEST-911-METHOD-ENFORCEMENT -Rules 911011,911012
Set-AzApplicationGatewayWebApplicationFirewallConfiguration -ApplicationGateway $gw -Enabled $true -FirewallMode Detection -RuleSetVersion 3.0 -RuleSetType OWASP -DisabledRuleGroups $disabledrules
Set-AzApplicationGateway -ApplicationGateway $gw
強制規則
下列清單包含防護模式下導致 WAF 封鎖要求的狀況 (偵測模式下,這些會記錄為例外狀況)。 以下無法設定或停用:
- 無法剖析被封鎖的要求中要求本文的結果,除非關閉本文檢查 (XML、JSON、表單資料)
- 要求本文 (不包含檔案) 資料長度大於設定的限制
- 要求本文 (包括檔案) 大於限制
- WAF 引擎發生內部錯誤
CRS 3.x 特定:
- 輸入異常分數超過閾值
下一步
設定已停用的規則之後,您可以了解如何檢視 WAF 記錄。 如需詳細資訊,請參閱應用程式閘道診斷。