first commit
This commit is contained in:
parent
883dd76931
commit
2e22667181
17 changed files with 889 additions and 5 deletions
41
tools/rate-limit-probe/README.md
Normal file
41
tools/rate-limit-probe/README.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# rate-limit-probe
|
||||
|
||||
Mesure si l'endpoint d'authentification (ou tout endpoint sensible)
|
||||
de la preprod met en place un rate-limiting / verrouillage contre le
|
||||
bruteforce.
|
||||
|
||||
## Principe
|
||||
|
||||
Envoie `RATE_PROBE_COUNT` requêtes (20 par défaut) avec un mauvais
|
||||
mot de passe sur `LOGIN_PATH` et observe les codes de réponse :
|
||||
|
||||
- **429** → rate-limiting actif (bon). Le seuil (après combien de
|
||||
requêtes) se lit dans le journal.
|
||||
- **changement soudain de code** (ex : 401 → 403/423) → verrouillage
|
||||
(lockout) après N échecs.
|
||||
- **rien de tout ça** (toujours 401/400) → AUCUN rate-limit :
|
||||
vulnérabilité, le bruteforce n'est pas freiné.
|
||||
|
||||
## Lancement
|
||||
|
||||
```bash
|
||||
./probe.sh
|
||||
```
|
||||
|
||||
Paramètres (dans `targets.env`) :
|
||||
- `RATE_PROBE_COUNT` — nombre de requêtes (défaut 20).
|
||||
- `RATE_PROBE_DELAY` — délai entre requêtes en secondes (0 = rafale ;
|
||||
pour tester le rate-limit on veut justement une rafale, mais
|
||||
gardez un count modéré).
|
||||
|
||||
## Sortie
|
||||
|
||||
- stdout : verdict (rate-limit actif / lockout / absent).
|
||||
- `output/rate-limit.log` : `horodatage \t n/N \t code`.
|
||||
|
||||
## Actions typiques
|
||||
|
||||
- Aucun rate-limit → en ajouter un au reverse proxy (ex : `limit_req`
|
||||
nginx) ou côté application (bucket par IP+utilisateur).
|
||||
- Rate-limit trop agressif (429 dès la 2e requête) → risque de bloquer
|
||||
les légitimes ; ajuster le seuil.
|
||||
Loading…
Add table
Add a link
Reference in a new issue