Option reverse proxy en frontal : IP réelle des clients (poc_trusted_proxies), exemple Traefik

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
cedricandClaude Opus 5.5 committed 2026-10-27 15:36:03 +01:00
1 parent 0e5426b7c3
commit 17d9ff4b29
3 files changed
+33

No files matched your search

+23
View File
@@ -248,6 +248,29 @@ poc_allowed_sources: ["203.0.113.10"] # IP autorisées sur les sites de poc_re
La restriction par IP est une règle ModSecurity par site (id 10002) qui laisse passer le challenge ACME. Le client de test est toujours autorisé. Ajoutez `shop` à `poc_restricted_sites` pour ne pas exposer Juice Shop à tout Internet.
### Derrière un reverse proxy existant (Traefik)
Si 80/443 sont déjà pris par un Traefik, il termine le TLS public (ses propres certificats Let's Encrypt) et relaie vers le WAF en HTTPS (certificat auto-signé du PoC) : garder `poc_tls: selfsigned` et déclarer son IP dans `poc_trusted_proxies` pour que BunkerWeb voie l'IP réelle des clients (sinon un bannissement viserait Traefik, donc tout le monde). Exemple de configuration dynamique Traefik (fichier) :
```yaml
http:
routers:
bwpoc:
rule: "Host(`www.lab.naoned.net`) || Host(`shop.lab.naoned.net`) || Host(`api.lab.naoned.net`) || Host(`bwui.lab.naoned.net`)"
entryPoints: [websecure]
service: bwpoc
tls: { certResolver: letsencrypt }
services:
bwpoc:
loadBalancer:
passHostHeader: true
serversTransport: bwpoc-insecure
servers: [{ url: "https://192.168.200.155:443" }]
serversTransports:
bwpoc-insecure:
insecureSkipVerify: true
```
## Exploitation
```bash