Pular para o conteúdo principal

Eventos e exceções

Todo bloqueio e toda detecção viram um evento. É por ele que você entende o que o WAF decidiu e por quê — e é dele que sai a exceção, o ajuste pontual para falso positivo.

Eventos​

Um evento registra uma requisição que o WAF bloqueou ou detectou. Uma requisição pode listar mais de uma regra no mesmo evento.

CampoO que mostra
Data e horaQuando a requisição chegou
DomínioQual hostname recebeu
IP do clienteEndereço de origem
MétodoGET, POST e demais métodos
CaminhoO caminho, sem a query string
CategoriaA família de ataque avaliada
RegraO identificador da regra que casou
AçãoBloqueado, detectado ou limitado
ModoDetecção ou prevenção no momento
Pontuação de anomaliaA soma que a requisição alcançou
Identificador da requisiçãoO mesmo que o usuário final pode informar
Revisão da políticaQual configuração decidiu
Versão do conjuntoQual versão do conjunto OWASP estava aplicada

O evento não guarda conteúdo sensível: Authorization, cookies, corpos, query strings e tokens ficam de fora. O que você vê é o suficiente para decidir, sem virar um arquivo de credenciais.

A retenção de eventos é de 30 dias. As métricas agregadas ficam 12 meses.

Interpretar eventos​

Para ler um bloqueio, siga esta ordem:

  1. Qual regra casou. O identificador da regra OWASP diz o que foi reconhecido. Regras da faixa 942 são injeção de SQL, 941 é XSS, 930 é LFI, 932 é injeção de comando.
  2. Qual caminho. O mesmo parâmetro em /api/search pode ser legítimo e em /login não.
  3. Modo e pontuação. Em prevenção, a pontuação mostra o quanto a requisição passou do limite. Em detecção, mostra o que teria acontecido.
  4. Se havia regra personalizada. Se uma regra sua bloqueou, o evento aponta a regra e não o conjunto OWASP.

Um exemplo de leitura: um POST em /api/search bloqueado pela regra 942100 (injeção de SQL) em prevenção, com pontuação 5 e nenhuma regra personalizada no caminho. A conclusão é que o conjunto OWASP viu um payload parecido com SQL no corpo ou nos parâmetros. Se o formulário é de busca livre, o próximo passo é testar a mesma consulta de novo e olhar o evento gerado.

Métricas​

As métricas mostram requisições liberadas, bloqueadas e limitadas, e o volume de tráfego, por domínio. Elas são agregadas: podem chegar com alguns minutos de atraso em relação ao evento.

MétricaUso
Requisições liberadasConfirmar que o tráfego normal passa
Requisições bloqueadasMedir ataque e medir efeito de mudança de política
Requisições limitadasCalibrar a limitação de taxa
TráfegoCapacidade e tendência por domínio

Métrica atrasada não é métrica errada. Para decidir sobre um bloqueio específico, use o evento, que é pontual.

Falsos positivos​

Um falso positivo é tráfego legítimo barrado por regra que reconheceu ataque. Os sinais são reconhecíveis:

  • o cliente relata erro intermitente em um formulário específico;
  • o evento aponta a mesma regra e o mesmo caminho, com o mesmo parâmetro;
  • o conteúdo é texto livre, documentação ou campo que aceita marcação;
  • o bloqueio começou depois de uma mudança de paranoia ou de versão do conjunto.

Antes de criar exceção, confirme que a requisição é mesmo legítima. Uma exceção é uma porta aberta estreita, mas é uma porta: ela deixa de avaliar aquela regra naquele caminho.

Exceções​

A exceção é criada a partir do evento bloqueado, pelo botão Criar exceção. Ela tem escopo estreito por desenho:

CampoOpções
Regra ignoradaUma única regra OWASP, pelo identificador
CaminhoExato ou por prefixo
MétodosOpcional, para restringir a alguns métodos
DomínioUm domínio
ParâmetroOpcional, um ARGS, cookie ou cabeçalho pelo nome
JustificativaObrigatória
ValidadeOpcional, com expiração

Exemplo: ignorar a regra 942100 apenas em /api/search, com justificativa "campo de busca livre com aspas" e validade de 90 dias.

Regras de uso:

  • Nunca desligue uma categoria inteira. Se a família 942 está incomodando em um caminho, a exceção é para a regra e o caminho, não para a família.
  • Prefira o escopo menor que resolve. Regra e caminho antes de regra e domínio; caminho exato antes de prefixo.
  • Coloque prazo quando a causa for temporária. Exceção com validade volta a avaliar sozinha.
  • Toda exceção é auditada. Quem criou, quando, com qual justificativa — e o mesmo vale para a remoção.

Isenção de corpo não é exceção de regra. Quando o problema é o tamanho do corpo em um endpoint de upload, o ajuste é a isenção de inspeção de corpo na política do domínio, e não uma exceção de regra: a exceção ignora uma regra OWASP em um caminho, enquanto a isenção retira da inspeção apenas o corpo da requisição.

Próximos passos​