Share via


使用 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"
  }
]

停用規則

下列範例會停用應用程式閘道上的規則 910018910017

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 記錄。 如需詳細資訊,請參閱應用程式閘道診斷