Regras personalizadas
As regras personalizadas deixam você decidir sobre o tráfego com o seu conhecimento da aplicação, sem depender das regras genéricas do conjunto OWASP. Não há script, expressão nem expressão regular: cada regra é uma condição escolhida em lista e uma ação.
Regras personalizadas
Uma regra tem três partes:
| Parte | O que define |
|---|---|
| Condição | O que a requisição precisa ter para casar |
| Ação | O que o WAF faz quando a condição casa |
| Prioridade | A ordem de avaliação entre as suas regras |
Uma mesma regra pode combinar mais de uma condição. A regra só casa quando todas as condições valem ao mesmo tempo.
Condições
| Condição | Como funciona | Exemplo |
|---|---|---|
IP | Compara o endereço do cliente com um endereço | 203.0.113.10 |
CIDR | Compara o endereço do cliente com uma faixa, IPv4 ou IPv6 | 203.0.113.0/24 |
COUNTRY | Compara o país do cliente; aceita vários países | BR, US |
URL_PATH | Compara o caminho, exato ou por prefixo | /admin como prefixo |
HTTP_METHOD | Compara o método da requisição | POST |
HTTP_HEADER | Compara um cabeçalho, por igualdade, conteúdo ou prefixo | X-Api-Version contém 2. |
USER_AGENT | Compara o agente do cliente, por igualdade, conteúdo ou prefixo | curl como conteúdo |
O país vem da base DB-IP Lite, atualizada mensalmente. A atribuição exigida é: IP geolocation by DB-IP, licença CC BY 4.0. A geolocalização é uma aproximação — não use país como controle de acesso único para dado sensível.
Alguns cabeçalhos não podem ser usados como condição, porque o WAF precisa deles para rotear e entregar a requisição: Authorization, Cookie, Host e a família X-Forwarded-*. Para tratar dado de autorização ou sessão, use o conjunto OWASP e uma exceção pontual, e não uma regra personalizada.
Ações
| Ação | Código devolvido | O que acontece |
|---|---|---|
BLOCK | 403 | A requisição é recusada e registrada como evento |
ALLOW | — | A avaliação das regras personalizadas seguintes para naquela requisição |
MONITOR | — | A requisição passa e o caso é registrado como evento |
RATE_LIMIT | 429 | A requisição entra no limite de taxa definido na regra |
ALLOW é o ponto que mais confunde: ele interrompe somente as regras personalizadas seguintes. A inspeção do conjunto OWASP e a limitação de taxa continuam valendo para aquela requisição.
RATE_LIMIT na regra serve para limitar um caminho específico, além do limite geral do domínio. O excesso recebe 429 e aparece nos eventos. Veja Limitação de taxa.
Ordem de avaliação
controles da plataforma → limitação de taxa → regras personalizadas (por prioridade) → conjunto OWASP
- Controles da plataforma — a linha de base da NNumbers, igual para todos.
- Limitação de taxa — o limite do domínio e os limites por caminho.
- Regras personalizadas — na ordem de prioridade: número menor é avaliado antes.
- Conjunto OWASP — a avaliação de anomalia que decide o bloqueio em prevenção.
Se duas regras suas casarem com a mesma requisição, a de menor número decide. Por isso, deixe as regras de liberação com número baixo quando elas precisam vencer as de bloqueio.
Exemplos
| Objetivo | Condição | Ação | Prioridade |
|---|---|---|---|
| Bloquear acesso a painel administrativo fora do Brasil | URL_PATH prefixo /admin e COUNTRY diferente de BR | BLOCK | 10 |
Liberar um parceiro que usa integração antiga em /api/legacy | IP igual ao endereço do parceiro e URL_PATH prefixo /api/legacy | ALLOW | 20 |
Observar tentativas de PUT na API antes de bloquear | HTTP_METHOD PUT e URL_PATH prefixo /api | MONITOR | 30 |
| Limitar download em massa | URL_PATH prefixo /export | RATE_LIMIT | 40 |
| Bloquear agentes de varredura conhecidos | USER_AGENT contém masscan | BLOCK | 50 |
Se um ALLOW está deixando passar algo que deveria ser bloqueado, o ajuste é na prioridade ou na condição da regra — não no nível de paranoia.
Próximos passos
- Limitação de taxa — limites por cliente e por caminho.
- Eventos e exceções — confirmar o efeito de cada regra.
- Políticas — modo e nível de paranoia que valem junto das regras.
Esta página ajudou?
Reportar um problema nesta páginaNão envie senhas, chaves, tokens ou dados de clientes.