Laboratório Técnico: Configure Rule Sets for WAF on Application Gateway
Questões
Questão 1 — Múltipla Escolha
Uma equipe de segurança precisa garantir que o WAF no Application Gateway v2 utilize o ruleset mais recente disponível da OWASP, com cobertura aprimorada contra ataques de injeção e menor taxa de falsos positivos em comparação com versões anteriores. Qual ruleset atende a esse requisito?
A) OWASP 2.2.9, por ser o ruleset com maior número de regras individuais disponíveis no Application Gateway
B) OWASP 3.0, por ser a versão estável mais amplamente testada em ambientes de produção Azure
C) OWASP 3.2, por oferecer melhorias de precisão e cobertura em relação às versões anteriores do mesmo conjunto
D) Microsoft Default Ruleset (DRS), por substituir completamente o OWASP e ser otimizado exclusivamente para o Azure
Questão 2 — Cenário Técnico
Um engenheiro configura o WAF no Application Gateway com o ruleset OWASP 3.2 e observa que uma regra específica do grupo REQUEST-931-APPLICATION-ATTACK-RFI está gerando falsos positivos para uma aplicação legada. A equipe não pode modificar o código da aplicação e precisa suprimir apenas essa regra, mantendo todas as demais ativas.
Qual ação resolve o problema com o menor impacto na postura de segurança?
A) Alterar o modo do WAF de Prevention para Detection para a política inteira, eliminando o bloqueio da regra afetada
B) Desabilitar o grupo de regras REQUEST-931 completo nas configurações do ruleset
C) Criar uma exclusão de regra individual para o ID específico da regra dentro do grupo REQUEST-931
D) Substituir o ruleset OWASP 3.2 pelo DRS 2.1, que não inclui o grupo REQUEST-931 por padrão
Questão 3 — Múltipla Escolha
Ao configurar regras personalizadas (custom rules) em uma política WAF no Application Gateway, um engenheiro precisa garantir que uma regra de bloqueio baseada em geolocalização seja avaliada antes das regras do ruleset gerenciado OWASP. Como a prioridade de avaliação funciona nesse contexto?
A) As regras do ruleset gerenciado sempre são avaliadas primeiro, independentemente da prioridade configurada nas custom rules
B) As custom rules são avaliadas antes das regras do ruleset gerenciado, e dentro das custom rules a avaliação segue a ordem de prioridade numérica crescente
C) A ordem de avaliação entre custom rules e ruleset gerenciado é configurada por um parâmetro separado chamado EvaluationOrder na política WAF
D) Custom rules e regras do ruleset gerenciado são avaliadas em paralelo, e em caso de conflito a ação mais restritiva prevalece
Questão 4 — Cenário Técnico
Uma empresa utiliza um WAF no Application Gateway com a seguinte custom rule configurada:
{
"name": "BlockScanners",
"priority": 10,
"ruleType": "MatchRule",
"matchConditions": [
{
"matchVariables": [{ "variableName": "RequestHeaders", "selector": "User-Agent" }],
"operator": "Contains",
"matchValues": ["Nmap", "Nikto", "sqlmap"]
}
],
"action": "Block"
}
Após implantar a regra, a equipe percebe que requisições com o header User-Agent: Mozilla/5.0 (compatible; Nikto/2.1.6) não estão sendo bloqueadas. O restante da configuração do WAF está correto e funcional.
Qual é a causa mais provável?
A) O operador Contains não é suportado para o match variable RequestHeaders no WAF do Application Gateway
B) A regra está configurada com prioridade 10, que é reservada pelo sistema para regras internas do ruleset gerenciado
C) O WAF está em modo Detection, registrando a correspondência sem executar o bloqueio efetivo
D) O campo matchValues não aceita múltiplos valores em uma única condição; cada valor requer uma condição separada
Questão 5 — Verdadeiro ou Falso
No WAF do Application Gateway, uma regra de exclusão configurada sem especificar um seletor de campo aplica a exclusão a todos os valores do tipo de variável escolhido, como todos os headers ou todos os parâmetros de query string, para as regras indicadas.
Verdadeiro ou Falso?
Gabarito e Explicações
Gabarito — Questão 1
Resposta: C
O ruleset OWASP 3.2 é a versão mais recente do conjunto OWASP disponível no Application Gateway e inclui melhorias significativas de precisão na detecção em relação ao 3.0 e ao 3.1, com regras refinadas para reduzir falsos positivos. O OWASP 2.2.9 é uma versão legada com cobertura menor. O Microsoft Default Ruleset (DRS) é um conjunto complementar ao OWASP, não um substituto, e tem foco em mitigação de ameaças específicas da plataforma Azure, como ataques a serviços gerenciados. Confundir o DRS com um substituto completo ao OWASP é um equívoco comum de design.
Gabarito — Questão 2
Resposta: C
A criação de uma exclusão de regra individual pelo ID específico dentro do grupo permite suprimir exatamente a regra responsável pelo falso positivo sem afetar nenhuma outra proteção do ruleset. Desabilitar o grupo inteiro REQUEST-931 remove todas as proteções contra Remote File Inclusion, o que amplia desnecessariamente a superfície de ataque. Mudar para Detection afeta toda a política, não apenas a regra problemática. O DRS 2.1 tem escopo e estrutura diferentes do OWASP, e trocar o ruleset inteiro para contornar uma regra é uma decisão desproporcional e de risco elevado.
Gabarito — Questão 3
Resposta: B
No WAF do Application Gateway, as custom rules são sempre avaliadas antes das regras do ruleset gerenciado. Dentro do conjunto de custom rules, a avaliação segue a prioridade numérica em ordem crescente, ou seja, o número menor é avaliado primeiro. Não existe um parâmetro separado chamado EvaluationOrder para controlar a relação entre custom rules e ruleset gerenciado. As regras não são avaliadas em paralelo; o modelo é sequencial com parada na primeira correspondência de bloqueio ou permissão. Assumir que o ruleset gerenciado tem precedência leva a erros de design onde custom rules de bloqueio nunca chegam a ser avaliadas.
Gabarito — Questão 4
Resposta: C
O campo action: Block na custom rule só executa o bloqueio efetivo quando o WAF está em modo Prevention. Em modo Detection, todas as ações configuradas como Block são rebaixadas para Detect, e o tráfego passa normalmente enquanto o evento é registrado nos logs. A regra em si está sintaticamente correta: o operador Contains é suportado para RequestHeaders, múltiplos valores são permitidos em um único matchValues, e a prioridade 10 não é reservada pelo sistema. O diagnóstico correto exige verificar o modo da política antes de inspecionar a lógica da regra.
Gabarito — Questão 5
Resposta: Verdadeiro
Quando uma exclusão é configurada sem seletor (sem especificar um valor de campo como um nome de header ou parâmetro específico), ela se aplica a todos os valores da variável escolhida. Por exemplo, uma exclusão sobre RequestHeaderNames sem seletor ignora todos os headers de entrada para as regras indicadas. Esse comportamento é funcionalmente equivalente a desabilitar a inspeção daquele tipo de dado para as regras afetadas, o que pode representar uma lacuna de segurança significativa se usado de forma imprecisa. A granularidade do seletor é exatamente o mecanismo que permite exclusões cirúrgicas em vez de exclusões amplas.