Skip to content

fix(infra): rate-limit /auth/login côté Traefik - #27

Merged
gilmry merged 1 commit into
mainfrom
fix/ratelimit-login
Aug 20, 2026
Merged

gilmry merged 1 commit into
mainfrom
fix/ratelimit-login

Conversation

@gilmry

@gilmry gilmry commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Résumé

Test de charge mené en prod (à la demande, voir conversation) : la VM ne tourne qu'avec 1 seul vCPU. /auth/login (bcrypt, volontairement lent) fait grimper la latence p95 à plus de 5s dès ~20 requêtes simultanées depuis une seule IP - bien plus fragile que /coop/dashboard (~160) ou /health (~320). Un pic de trafic ou un brute-force sur cette seule route suffit à rendre tout le service inutilisable pour tout le monde (CPU partagé).

Router Traefik dédié sur Path(/auth/login) avec le middleware ratelimit natif : 5 req/min soutenu par IP, burst de 10. Pas de changement côté application.

Test plan

  • docker compose --profile prod config : labels (router, priorité, middleware) bien parsés et attachés au service existant
  • Vérifier en prod après déploiement : dépasser 10 requêtes rapides sur /auth/login depuis une IP renvoie 429

Test de charge en prod (VM à 1 seul vCPU) : /auth/login (bcrypt,
volontairement lent) fait grimper la latence p95 à plus de 5s dès ~20
requêtes simultanées depuis une seule IP - bien plus fragile que les
autres endpoints (~160-320 pour saturer /coop/dashboard ou /health).
Un pic de trafic ou un brute-force sur cette seule route suffit à rendre
tout le service inutilisable, pas juste à faire échouer les connexions.

Router Traefik dédié sur Path(/auth/login) avec le middleware ratelimit
natif : 5 req/min soutenu par IP, burst de 10 (largement suffisant pour
un vrai utilisateur qui se trompe de mot de passe plusieurs fois de
suite). Pas de changement côté application.

Vérifié : docker compose --profile prod config valide les labels
correctement (router, priorité, middleware bien attachés au service
existant).
@gilmry
gilmry merged commit 2411a17 into main Aug 20, 2026
2 checks passed
@gilmry
gilmry deleted the fix/ratelimit-login branch August 20, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant