Pedidos de "esqueci a senha" acima do normal
| Item | Detalhe |
|---|---|
| Serviço afetado | E-mail (Keycloak e Oracle) |
| Severidade | aviso |
| Dispara quando | Mais de 20 pedidos de redefinição de senha em 1 hora num realm do Keycloak (coderoom, alianca...). |
O que representa
Cada pedido manda um e-mail pelo Oracle Email Delivery (franquia de 3.000 e-mails por mês para a conta toda; o que passa é cobrado). Pode ser ataque a contas, spam a um usuário ou um cadastro em lote legítimo.
Como verificar no Grafana
- Explore → Loki, os pedidos por IP:
sum by (ip) (count_over_time({container="nginx"} | pattern `<ip> - <_> [<_>] "<host>" "<method> <path>" <status> <bytes> "<_>" "<ua>" <rt>` | path=~`.*reset-credentials.*` | method="POST" [1h])) - Na VM, o mesmo no log:
docker logs nginx 2>&1 | grep "reset-credentials" | grep POST. - Cota de e-mail: OCI, Email Delivery (
email/README.md, "Cota e custo").
Como agir
- Descarte primeiro um cadastro em lote ou convite em andamento (isso também gera pedidos).
- Se há IP dominante, bloqueie (abaixo).
- Confira a cota no OCI antes de ela estourar.
Se for ataque ou incidente real
Pedidos em massa a uma conta ou muitos IPs:
- Adicione
deny <ip>;(ou a faixa,deny <ip>/24;) noserverdo host atingido, emnginx/conf/do repositórioreverse-proxy. - Urgente: aplique na VM e recarregue com
docker exec nginx nginx -s reload; depois abra o PR com a mesma mudança (deploy é manual). - Se o alvo é uma conta específica, avise o dono, confira no Keycloak se houve troca de senha ou login estranho e, se sim, force a redefinição.
- Veja se o limite do nginx (zona
reset_senha) está segurando: alertanginx-limit-req.