分享方式:


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