Pular para o conteúdo principal

Pedidos de "esqueci a senha" acima do normal

ItemDetalhe
Serviço afetadoE-mail (Keycloak e Oracle)
Severidadeaviso
Dispara quandoMais 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​

  1. Descarte primeiro um cadastro em lote ou convite em andamento (isso também gera pedidos).
  2. Se há IP dominante, bloqueie (abaixo).
  3. Confira a cota no OCI antes de ela estourar.

Se for ataque ou incidente real​

Pedidos em massa a uma conta ou muitos IPs:

  1. Adicione deny <ip>; (ou a faixa, deny <ip>/24;) no server do host atingido, em nginx/conf/ do repositório reverse-proxy.
  2. Urgente: aplique na VM e recarregue com docker exec nginx nginx -s reload; depois abra o PR com a mesma mudança (deploy é manual).
  3. 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.
  4. Veja se o limite do nginx (zona reset_senha) está segurando: alerta nginx-limit-req.