79a13f0919
Fachliche Fixes: - Easy-RSA: explizites --subject-alt-name (SAN) ergaenzt, sonst scheitert curl trotz CA-Import - HSTS: max-age auf 3600 reduziert, includeSubDomains erklaert, Warnung zur host-weiten Browser-Falle + Reset-Weg - Challenge 9: Backup-/Restore-Schritte fuer nginx.conf - Compose-Portwechsel: redeploy statt proxy-reload klargestellt - log_format-Platzierung (http-Block) dokumentiert - add_header-Vererbungsfalle erklaert (Ch. 4 + Abgrenzung Ch. 8) Angabe-Struktur (alle 13 Challenges): - Einheitliches Schema: Ausgangszustand, Schritte (Muss), Zielzustand/Akzeptanz, erwartete Done-Check-Ausgaben - Arbeitsweise global geklaert (additiv, Ausnahme Ch. 9, Reset) Robustheit/Kosmetik: - Load-Balancing: eindeutiger INSTANCE-Marker statt fragilem grep - Challenge-3-Titel auf "Alias-Route" korrigiert - HTTPS_PORT in .env.example parametrisiert - Umlaut-Konsistenz (ASCII) Windows-Tauglichkeit: - Klargestellt: Test-Kommandos laufen in WSL bash, nicht PowerShell (curl-Alias-Falle), Stack-Steuerung per Wrapper oder WSL - Wireshark: empfohlener Capture-Weg in WSL (tshark), npcap-Hinweis - CA-Import: Linux-Trust-Store (WSL) vs Windows-Browser (certutil) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Wireshark Hint Card (optional)
Diese Hinweise helfen bei der Bonus-Challenge mit Paketmitschnitt.
1) Installation
Fedora:
sudo dnf install -y wireshark wireshark-cli
Ubuntu/WSL:
sudo apt update
sudo apt install -y wireshark tshark
2) Interface waehlen
- Linux lokal: meist
lo(Loopback) fuerlocalhost - Docker-Welt: ggf.
docker0bzw. Bridge-Interface
Windows (Docker Desktop + WSL) - empfohlener Weg:
- Capture innerhalb WSL machen, dort verhaelt sich
lowie unter Linux. Sowohl dercurl-Request als auch der Mitschnitt laufen im WSL-Terminal:
# Terminal 1 (WSL): Mitschnitt starten
sudo tshark -i lo -f "tcp port 8080"
# Terminal 2 (WSL): Request senden
curl http://localhost:8080/service/a
- Natives Windows-Wireshark kann
localhostnur ueber den npcap-Adapter "Adapter for loopback traffic capture" mitschneiden, und Docker-Desktop-Portforwarding macht das unzuverlaessig. Fuer den Workshop daher in WSL bleiben. - Wireshark-GUI unter WSL braucht WSLg (Windows 11) oder ein X-Server; einfacher ist
tshark(CLI) plus spaeter.pcapin der Wireshark-GUI oeffnen (tshark -w mitschnitt.pcap ...).
3) HTTP zuerst (Klartext)
- Mitschnitt starten
- Request senden:
curl http://localhost:8080/service/a
- In Wireshark nach
httpodertcp.port == 8080filtern
4) Root-CA importieren und HTTPS ohne -k testen
Voraussetzung: HTTPS-Challenge umgesetzt (Port 8443 aktiv).
Fedora:
sudo cp certs/easyrsa/pki/ca.crt /etc/pki/ca-trust/source/anchors/htl-workshop-root-ca.crt
sudo update-ca-trust
Ubuntu/Debian:
sudo cp certs/easyrsa/pki/ca.crt /usr/local/share/ca-certificates/htl-workshop-root-ca.crt
sudo update-ca-certificates
Test:
curl https://localhost:8443/service/a
5) HTTPS danach mitschneiden (verschluesselt)
Filter:
tcp.port == 8443
oder
tls
Handshake schnell finden:
tls.handshake
Nur Zertifikats-Nachrichten:
tls.handshake.type == 11
6) Optional: TLS in Wireshark entschluesseln
- Vor Browser-Start setzen (WSL/bash):
export SSLKEYLOGFILE="$HOME/sslkeys.log"
In PowerShell waere es stattdessen $env:SSLKEYLOGFILE = "$HOME\sslkeys.log" - der einfachste Weg ist aber, alles in WSL zu machen.
- Browser aus derselben Shell starten und HTTPS-Request erzeugen.
- In Wireshark unter TLS-Preferences
sslkeys.logals Key Log File setzen. - Mitschnitt erneut laden.
CLI-Alternative mit tshark (optional):
tshark -i lo -f "tcp port 8443"
7) Was ihr zeigen sollt
- HTTP-Mitschnitt: URL/Headers lesbar
- HTTPS-Mitschnitt: TLS Handshake sichtbar, Nutzdaten nicht im Klartext
- Nach CA-Import funktioniert
curl https://localhost:8443/...ohne-k - Optional: Mit Key Log koennen HTTP-Details im TLS-Stream sichtbar werden
8) Erwartete Abgabe (kurz)
- Screenshot 1: HTTP-Request mit lesbaren Daten
- Screenshot 2: HTTPS-Request mit TLS-Handshake
- Screenshot 3 (optional): entschluesselter TLS-Stream via Key Log
- 3 Bulletpoints: Unterschied HTTP vs HTTPS in euren eigenen Worten