Prevenindo ataques de esgotamento de API: Experiência e lições aprendidas
Nesta análise, exploramos como um ataque simples de esgotamento de API comprometeu um sistema de agendamento em uma empresa. A experiência mostrou a importância de implementar rate limiting próprio e considerar o custo de recursos externos.

O ataque
Numa empresa em que trabalhei, tínhamos um sistema de agendamento. A autenticação era terceirizada para um provedor externo, que cuidava do login, do cadastro de novos usuários e da validação das sessões. Um dia, o sistema simplesmente parou. Ninguém conseguia entrar, ninguém conseguia se cadastrar e, poucos minutos depois, quem já estava logado também foi expulso. Ficamos 4 horas fora do ar. Nosso servidor estava bem, CPU tranquila, banco respondendo, nenhum pico absurdo de memória. O problema estava em outro lugar: alguém tinha esgotado a cota da API do nosso provedor de autenticação. E fez isso usando a nossa própria aplicação.
O ataque mirou o endpoint de cadastro de novos usuários. Cada requisição de cadastro que chegava na nossa API gerava uma chamada ao provedor de autenticação. O atacante só precisou disparar cadastros em volume até a cota do provedor acabar. Até aí, o estrago seria