34 lines
1 KiB
Markdown
34 lines
1 KiB
Markdown
|
|
# config-scan
|
||
|
|
|
||
|
|
Détecte les fichiers de configuration et surfaces sensibles
|
||
|
|
accidentellement exposés publiquement sur la preprod.
|
||
|
|
|
||
|
|
## Principe
|
||
|
|
|
||
|
|
Émet des `GET` sur une liste de chemins courants (`/.git/HEAD`,
|
||
|
|
`/.env`, `/appsettings.json`, `/swagger`, `/openapi.json`, etc.) et
|
||
|
|
signale tout ce qui répond 200 (exposé) ou 401/403 (présent mais
|
||
|
|
protégé — bonne pratique confirmant l'existence, à garder sous
|
||
|
|
œil).
|
||
|
|
|
||
|
|
## Lancement
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./scan.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
## Sortie
|
||
|
|
|
||
|
|
- stdout : chemins notables (200 en vert = exposé, 403 en jaune).
|
||
|
|
- `output/config-scan.log` : une ligne par chemin testé
|
||
|
|
(`horodatage \t code \t taille \t chemin`).
|
||
|
|
|
||
|
|
## Actions typiques
|
||
|
|
|
||
|
|
- `/.git/HEAD` en 200 → dépôt git servi statiquement : bloquer
|
||
|
|
l'accès aux répertoires `.*` au niveau du reverse proxy.
|
||
|
|
- `/appsettings*.json` en 200 → fuite potentielle de chaînes de
|
||
|
|
connexion / secrets : déplacer hors racine web, servir hors du
|
||
|
|
static.
|
||
|
|
- `/swagger` exposé en production → désactiver en prod, garder en
|
||
|
|
preprod uniquement derrière auth.
|