Personalizar regras do Firewall de Aplicativo Web usando a CLI do Azure

O Firewall de Aplicativo Web do Gateway de Aplicativo do Azure (WAF) fornece proteção para aplicativos Web. Essas proteções são fornecidas pelo Open Web Application Security Project (OWASP) Core Rule set (CRS). Algumas regras podem causar falsos positivos e bloquear o tráfego real. Por esse motivo, o Application Gateway fornece a capacidade de personalizar grupos de regras e regras. Para obter mais informações sobre os grupos de regras e regras específicas, consulte Lista de regras e grupos de regras CRS do Web Application Firewall.

Exibir grupos de regras e regras

Os exemplos de código a seguir mostram como exibir regras e grupos de regras que são configuráveis.

Ver grupos de regras

O exemplo a seguir mostra como exibir os grupos de regras:

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

A saída a seguir é uma resposta truncada do exemplo anterior:

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

Exibir regras em um grupo de regras

O exemplo a seguir mostra como exibir regras em um grupo de regras especificado:

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

A saída a seguir é uma resposta truncada do exemplo anterior:

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

Desativar regras

O exemplo a seguir desabilita regras 910018 e 910017 em um gateway de aplicativo:

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

Disposições imperativas

A lista a seguir contém condições que fazem com que o WAF bloqueie a solicitação enquanto estiver no Modo de Prevenção (no Modo de Deteção, eles são registrados como exceções). Estas condições não podem ser configuradas ou desativadas:

  • A falha na análise do corpo da solicitação resulta no bloqueio da solicitação, a menos que a inspeção do órgão esteja desativada (XML, JSON, dados do formulário)
  • O comprimento dos dados do corpo da solicitação (sem arquivos) é maior do que o limite configurado
  • O corpo da solicitação (incluindo arquivos) é maior do que o limite
  • Ocorreu um erro interno no motor WAF

Específico do CRS 3.x:

  • Entrada anomaly score excedeu o limite

Próximos passos

Depois de configurar suas regras desabilitadas, você pode aprender a exibir seus logs WAF. Para obter mais informações, consulte Application Gateway diagnostics.