fix(infra): rate-limit /auth/login côté Traefik - #27
Merged
Merged
Conversation
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).
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 middlewareratelimitnatif : 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