Alle Security Headers für Caddy konfigurieren
Caddyfile mit header-Direktiven: Die kürzeste Konfiguration aller Stacks. Automatisches HTTPS inklusive.
Caddyfile mit allen Security Headern
Caddy setzt Security Headers über header-Direktiven im Caddyfile. Caddys Syntax ist die kürzeste aller Stacks — kein always wie bei nginx, kein IfModule wie bei Apache. Caddy aktiviert automatisch HTTPS mit Let's Encrypt für alle konfigurierten Domains, HSTS ist dennoch empfohlen für den Preload-Eintrag.
Ein weiterer Vorteil: Mit -Server und -X-Powered-By entfernt Caddy automatisch die Server-Signatur — eine Zeile weniger als bei nginx oder Apache.
Vollständige Konfiguration
Fügen Sie den header-Block in Ihr Caddyfile ein. Stellen mit ANPASSEN: müssen Sie an Ihre Domain anpassen.
# Caddyfile — Alle Security-Header zentral
# Generiert aus Wolf-Agents Web Security Guide, Kapitel 00-16
ihre-domain.de {
header {
# --- Kap 01: Content Security Policy ---
# ANPASSEN: Ersetzen Sie die Domains durch Ihre eigenen
Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; connect-src 'self'; object-src 'none'; worker-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests; report-uri /csp-report; report-to csp-endpoint"
# --- Kap 02: HTTP Strict Transport Security ---
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# --- Kap 04: Permissions Policy ---
Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), bluetooth=(), idle-detection=(), serial=(), browsing-topics=(), unload=()"
# --- Kap 05: Clickjacking-Schutz ---
X-Frame-Options "SAMEORIGIN"
# --- Kap 06: Referrer Policy ---
Referrer-Policy "strict-origin-when-cross-origin"
# --- Kap 07: MIME-Sniffing-Schutz ---
X-Content-Type-Options "nosniff"
# --- Kap 08: Cross-Origin Isolation ---
Cross-Origin-Resource-Policy "same-origin"
Cross-Origin-Opener-Policy "same-origin"
Cross-Origin-Embedder-Policy "credentialless"
# --- Kap 14: Reporting Endpoints ---
# ANPASSEN: Ersetzen Sie die URL durch Ihren Reporting-Endpoint
Reporting-Endpoints `csp-endpoint="https://ihre-domain.de/csp-report"`
# --- Kap 16: Origin Agent Cluster ---
Origin-Agent-Cluster "?1"
# Server-Signatur entfernen
-Server
-X-Powered-By
}
} Caddy aktiviert automatisch HTTPS mit Let's Encrypt für alle konfigurierten Domains. HSTS wird dennoch empfohlen für den Preload-Eintrag und als Signal an Browser, auch bei zukünftigen Domain-Migrationen.
Was jeder Header macht
| Header | Schutz | Kapitel |
|---|---|---|
Content-Security-Policy | XSS-Angriffe verhindern — definiert erlaubte Ressourcen | Kap. 01 |
Strict-Transport-Security | HTTPS erzwingen — Downgrade-Angriffe verhindern | Kap. 02 |
Permissions-Policy | Browser-APIs deaktivieren — Kamera, Mikrofon, etc. | Kap. 04 |
X-Frame-Options | Clickjacking verhindern — Einbettung kontrollieren | Kap. 05 |
Referrer-Policy | URL-Leaks kontrollieren | Kap. 06 |
X-Content-Type-Options | MIME-Sniffing verhindern | Kap. 07 |
CORP / COOP / COEP | Cross-Origin-Isolation | Kap. 08 |
Reporting-Endpoints | Violation-Reports senden | Kap. 14 |
Origin-Agent-Cluster | Prozess-Isolation | Kap. 16 |
Verifikation
Starten Sie Caddy neu und prüfen Sie die Header.
# Caddy-Konfiguration validieren und neu laden
caddy validate --config Caddyfile
caddy reload --config Caddyfile
# Alle Security Headers prüfen
curl -I https://ihre-domain.de 2>/dev/null | grep -iE \
"content-security|strict-transport|x-frame|x-content-type|referrer-policy|permissions-policy|cross-origin|origin-agent|reporting-endpoints"
# Auf Duplikate prüfen
curl -I https://ihre-domain.de 2>/dev/null | sort | uniq -di Wie steht Ihre Domain bei Security-Header-Architektur?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.