Share via


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

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

Exibir grupos de regras e regras

O exemplo de código a seguir mostra como exibir regras e grupos de regras que podem ser configurados.

Exibir grupos de regras

O exemplo abaixo 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 as 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"
  }
]

Desabilitar regras

O exemplo a seguir desabilita as 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

Regras obrigatórias

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 Detecção, elas são registradas como exceções). Essas condições não podem ser configuradas nem desabilitadas:

  • A falha ao analisar o corpo da solicitação resulta no bloqueio da solicitação, a menos que a inspeção do corpo esteja desligada (XML, JSON, dados de formulário)
  • O comprimento dos dados do corpo da solicitação (sem arquivos) é maior que o limite configurado
  • O corpo da solicitação (incluindo arquivos) é maior que o limite
  • Ocorreu um erro interno no mecanismo WAF

Específico do CRS 3.x:

  • anomaly score de entrada excedeu o limite

Próximas etapas

Depois de configurar as regras desabilitadas, você pode aprender como exibir os logs de WAF. Para obter mais informações, consulte Diagnósticos do Gateway de Aplicativo.