
Dockerisiertes Labor für Schulungen zur NGINX-Rewrite-Schwachstelle (CVE-2026-42945) mit anfälligen und gepatchten Instanzen, harmlosen Testskripten und Konfigurationsaudit-Übungen.
Zwei Dockerisierte NGINX-Instanzen: pattern-basiertes „riskantes Rewrite“-Snippet vs. behobenes Named-Capture-Snippet, fixiert auf nginx:1.30.0-alpine / nginx:1.30.1-alpine. Skripte führen harmlose Curls aus, dumpen nginx -T und archivieren Beweise. Nur für Konfigurationsüberprüfungsschulungen – /health, /nginx_status, /legacy/ sind Labor-Endpunkte; Exposition außerhalb eines Labor-VLANs einschränken.
Geltungsbereich: nur autorisierte Hosts. Herstellerhinweise und Ihre eigene Richtlinie interpretieren die [RISK]-Ausgabe von scripts/check-nginx-rewrite-risk.sh (heuristisches Grep über Konfiguration, kein formeller Scanner).
Host 127.0.0.1:18080 -> nginx-rift-vulnerable (listens :8080 in container)
Host 127.0.0.1:18081 -> nginx-rift-patched
www/ -> RO -> /usr/share/nginx/html (both)
nginx-vulnerable/nginx-patched -> RO -> conf.d/default.conf
Network: nginx_rift_net (bridge)
Repo-Baum: docker-compose.yml, nginx-{vulnerable,patched}/default.conf, www/, scripts/, evidence/ (Artefakte in gitignored außer .gitkeep), docs/.
Docker + docker compose, bash, curl. Einmal: chmod +x scripts/*.sh. Linux (oder VM) legt /proc/sys/kernel/randomize_va_space offen, falls Sie sich für diese Sammlerzeile in collect-evidence.sh interessieren; macOS Docker Desktop lässt es oft aus – das Skript vermerkt diesen Fall.
cd nginx-rift-defensive-lab
docker compose pull # optional
docker compose up -d
docker compose ps
./scripts/benign-request-test.sh
./scripts/check-nginx-rewrite-risk.sh
./scripts/check-nginx-rewrite-risk.sh nginx-rift-patched
./scripts/collect-evidence.sh
./scripts/cleanup-lab.sh
# ./scripts/cleanup-lab.sh --purge-evidence
Ändern Sie Host-Ports, falls 18080/18081 kollidieren (docker-compose.yml).
| Pfad | Rolle |
|---|---|
/health | Stabiler Text für Probes (vulnerable-nginx-alive / patched-nginx-alive) |
/nginx_status | stub_status (in Produktion einschränken) |
/legacy/ | Rewrite-Demo |
| Datei | Zweck |
|---|---|
docs/LAB_GUIDE.md | Schritt-für-Schritt-Labor |
docs/WEBINAR_FLOW.md | Präsentationsrhythmus |
docs/PRTG_MONITORING_NOTES.md | Sensorbeispiele |
docs/REMEDIATION_SUMMARY_TEMPLATE.md | CAB/Incident-Gerüst |
docs/NGINX_RIFT_DEFENSIVE_LAB_COMPLETE_GUIDE.md | Zusammengefasstes Markdown |
docs/TR_KAPSAMLI_SAVUNMA_LAB_REHBERI.md | Türkisches Handbuch |
docs/PDF_GENERATION_NOTES.txt | Optionale lokale PDF-Erstellung (docs/*.pdf, gitignored) |
Verwenden Sie docker compose up -d mit einem Bindestrich. Shell-Globs wie *d können sich zu unbeabsichtigten Dateinamen erweitern.