Přizpůsobení pravidel Web Application Firewall pomocí Azure CLI

Azure Application Gateway Web Application Firewall (WAF) poskytuje ochranu webovým aplikacím. Tyto ochrany poskytuje základní sada pravidel CRS (Open Web Application Security Project) (OWASP). Některá pravidla můžou způsobit falešně pozitivní výsledky a blokovat skutečný provoz. Z tohoto důvodu Application Gateway poskytuje možnost přizpůsobit skupiny pravidel a pravidla. Další informace o konkrétních skupinách a pravidlech najdete v tématu Seznam pravidel a skupin pravidel CRS Web Application Firewall.

Zobrazení skupin pravidel a pravidel

Následující příklady kódu ukazují, jak zobrazit pravidla a skupiny pravidel, které lze konfigurovat.

Zobrazení skupin pravidel

Následující příklad ukazuje, jak zobrazit skupiny pravidel:

az network application-gateway waf-config list-rule-sets --type OWASP

Následující výstup je zkrácená odpověď z předchozího příkladu:

[
  {
    "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"
  }
]

Zobrazení pravidel ve skupině pravidel

Následující příklad ukazuje, jak zobrazit pravidla v zadané skupině pravidel:

az network application-gateway waf-config list-rule-sets --group "REQUEST-910-IP-REPUTATION"

Následující výstup je zkrácená odpověď z předchozího příkladu:

[
  {
    "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"
  }
]

Zakázání pravidel

Následující příklad zakáže pravidla 910018 a 910017 ve službě Application Gateway:

az network application-gateway waf-config set --resource-group AdatumAppGatewayRG --gateway-name AdatumAppGateway --enabled true --rule-set-version 3.0 --disabled-rules 910018 910017

Povinná pravidla

Následující seznam obsahuje podmínky, které způsobují, že WAF blokuje požadavek v režimu prevence (v režimu detekce se protokolují jako výjimky). Tyto podmínky se nedají nakonfigurovat ani zakázat:

  • Pokud není vypnutá kontrola textu (XML, JSON, formulářová data), dojde k selhání analýzy textu a požadavek se zablokuje.
  • Délka dat textu požadavku (bez souborů) je větší než nakonfigurovaný limit.
  • Text požadavku (včetně souborů) je větší než limit.
  • V modulu WAF došlo k vnitřní chybě.

Specifické pro CRS 3.x:

  • Příchozí anomaly score překročení prahové hodnoty

Další kroky

Po konfiguraci zakázaných pravidel můžete zjistit, jak zobrazit protokoly WAF. Další informace najdete v tématu diagnostika Application Gateway.