Personalizar as regras de Firewall de Aplicativo Web usando o PowerShell
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
A seguir estão exemplos de código que mostram como exibir regras e grupos de regras que podem ser configurados em um Gateway de Aplicativo com WAF habilitado.
Exibir grupos de regras
O exemplo a seguir mostra como exibir grupos de regras:
Get-AzApplicationGatewayAvailableWafRuleSets
A saída a seguir é uma resposta truncada do exemplo anterior:
OWASP (Ver. 3.0):
General:
Description:
Rules:
RuleId Description
------ -----------
200004 Possible Multipart Unmatched Boundary.
REQUEST-911-METHOD-ENFORCEMENT:
Description:
Rules:
RuleId Description
------ -----------
911011 Rule 911011
911012 Rule 911012
911100 Method is not allowed by policy
911013 Rule 911013
911014 Rule 911014
911015 Rule 911015
911016 Rule 911016
911017 Rule 911017
911018 Rule 911018
REQUEST-913-SCANNER-DETECTION:
Description:
Rules:
RuleId Description
------ -----------
913011 Rule 913011
913012 Rule 913012
913100 Found User-Agent associated with security scanner
913110 Found request header associated with security scanner
913120 Found request filename/argument associated with security scanner
913013 Rule 913013
913014 Rule 913014
913101 Found User-Agent associated with scripting/generic HTTP client
913102 Found User-Agent associated with web crawler/bot
913015 Rule 913015
913016 Rule 913016
913017 Rule 913017
913018 Rule 913018
... ...
Desabilitar regras
O exemplo a seguir desabilita as regras 911011
e 911012
em um gateway de aplicativo:
$disabledrules=New-AzApplicationGatewayFirewallDisabledRuleGroupConfig -RuleGroupName REQUEST-911-METHOD-ENFORCEMENT -Rules 911011,911012
Set-AzApplicationGatewayWebApplicationFirewallConfiguration -ApplicationGateway $gw -Enabled $true -FirewallMode Detection -RuleSetVersion 3.0 -RuleSetType OWASP -DisabledRuleGroups $disabledrules
Set-AzApplicationGateway -ApplicationGateway $gw
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). Elas não podem ser configurados 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:
- A pontuação de anomalias 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.