使用 Azure CLI 自定义 Web 应用程序防火墙规则
Azure 应用程序网关 Web 应用程序防火墙 (WAF) 可为 Web 应用程序提供保护。 这些保护通过打开 Web 应用程序安全性项目 (OWASP) 核心规则集 (CRS) 来提供。 某些规则可能会导致误报,并会阻止实际流量。 出于此原因,应用程序网关提供了自定义规则组和规则的功能。 若要详细了解特定的规则组和规则,请参阅 Web 应用程序防火墙 CRS 规则组和规则列表。
以下代码示例演示了如何查看可配置的规则和规则组。
以下示例演示了如何查看规则组:
az network application-gateway waf-config list-rule-sets --type OWASP
以下输出截取自前一示例的响应:
[
{
"id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
"location": null,
"name": "OWASP_3.0",
"provisioningState": "Succeeded",
"resourceGroup": "",
"ruleGroups": [
{
"description": "",
"ruleGroupName": "REQUEST-910-IP-REPUTATION",
"rules": null
},
...
],
"ruleSetType": "OWASP",
"ruleSetVersion": "3.0",
"tags": null,
"type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
},
{
"id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
"location": null,
"name": "OWASP_2.2.9",
"provisioningState": "Succeeded",
"resourceGroup": "",
"ruleGroups": [
{
"description": "",
"ruleGroupName": "crs_20_protocol_violations",
"rules": null
},
...
],
"ruleSetType": "OWASP",
"ruleSetVersion": "2.2.9",
"tags": null,
"type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
}
]
以下示例演示如何查看指定的规则组中的规则:
az network application-gateway waf-config list-rule-sets --group "REQUEST-910-IP-REPUTATION"
以下输出截取自前一示例的响应:
[
{
"id": "/subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/",
"location": null,
"name": "OWASP_3.0",
"provisioningState": "Succeeded",
"resourceGroup": "",
"ruleGroups": [
{
"description": "",
"ruleGroupName": "REQUEST-910-IP-REPUTATION",
"rules": [
{
"description": "Rule 910011",
"ruleId": 910011
},
...
]
}
],
"ruleSetType": "OWASP",
"ruleSetVersion": "3.0",
"tags": null,
"type": "Microsoft.Network/applicationGatewayAvailableWafRuleSets"
}
]
以下示例在应用程序网关上禁用了规则 910018
和 910017
:
az network application-gateway waf-config set --resource-group AdatumAppGatewayRG --gateway-name AdatumAppGateway --enabled true --rule-set-version 3.0 --disabled-rules 910018 910017
以下列表包含导致 WAF 在防护模式下阻止请求的条件(在检测模式下,它们会被记录为异常)。 这些条件无法配置或禁用:
- 除非关闭正文检查(XML、JSON、表单数据),否则无法分析请求正文会导致请求被阻止
- 请求正文(不带文件)数据长度大于配置的限制
- 请求正文(包括文件)大于限制
- WAF 引擎发生内部错误
CRS 3.x 特定:
- 入站
anomaly score
超出阈值
配置你禁用的规则后,可以了解如何查看 WAF 日志。 有关详细信息,请参阅应用程序网关诊断。