Security Headers in 15 Minuten: Copy-Paste-Konfigurationen für Nginx, Apache und Cloudflare
Security-Header sind der unterschätzteste Quick-Win in der Web-Sicherheit. Die meisten Websites haben einen C- oder D-Grade — nicht aus technischen Gründen, sondern weil die Header schlicht nie konfiguriert wurden. Hier sind die Server-Konfigurationen, die Sie direkt kopieren können.
Komplette Nginx-Konfiguration
Fügen Sie Folgendes in Ihren server {}-Block ein:
server {
# HSTS: 2 Jahre, alle Subdomains, Preload-fähig
add_header Strict-Transport-Security
"max-age=63072000; includeSubDomains; preload" always;
# CSP: Anpassen an Ihre Ressourcen!
add_header Content-Security-Policy
"default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; connect-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'" always;
# Clickjacking-Schutz
add_header X-Frame-Options "DENY" always;
# MIME-Sniffing verhindern
add_header X-Content-Type-Options "nosniff" always;
# Referrer kontrollieren
add_header Referrer-Policy
"strict-origin-when-cross-origin" always;
# Browser-APIs einschränken
add_header Permissions-Policy
"camera=(), microphone=(), geolocation=(), interest-cohort=()" always;
# Cross-Origin-Schutz (Spectre)
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Cross-Origin-Embedder-Policy "require-corp" always;
}
Komplette Apache-Konfiguration
Für .htaccess oder httpd.conf:
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; frame-ancestors 'self'"
Header always set X-Frame-Options "DENY"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), interest-cohort=()"
Header always set Cross-Origin-Opener-Policy "same-origin"
</IfModule>
Cloudflare: Transform Rules
Unter Rules → Transform Rules → Modify Response Header:
- HSTS: Einfacher über SSL/TLS → Edge Certificates → Enable HSTS (empfohlen)
- Alle anderen Header: Je eine „Set static“-Regel pro Header erstellen
- CSP: Als Transform Rule mit Condition
(http.host eq "ihre-domain.de")
Tipp: Cloudflare setzt HSTS am zuverlässigsten über die eingebaute Funktion, nicht über Transform Rules.
Die CSP-Falle: Warum Sie nicht einfach kopieren können
Die Content-Security-Policy ist der einzige Header, den Sie nicht blind kopieren sollten. Jede Website hat andere Ressourcen (CDNs, Google Fonts, Analytics, Zahlungsanbieter). Eine zu strenge CSP bricht Ihre Website.
Empfohlener Workflow:
- Starten Sie mit
Content-Security-Policy-Report-Only(enforced nicht, loggt nur) - Öffnen Sie die Browser-Konsole und sehen Sie, welche Ressourcen blockiert würden
- Fügen Sie die benötigten Domains zur Policy hinzu
- Nach 1–2 Wochen ohne Violations: Umschalten auf
Content-Security-Policy
Warnung: X-XSS-Protection entfernen!
Falls Sie X-XSS-Protection: 1; mode=block setzen: Entfernen Sie ihn. Aktuelle Forschung (Khodayari & Pellegrino, WWW 2026) zeigt, dass der XSS-Auditor in Chromium selbst als Angriffsvektor missbraucht werden kann. Richtig: X-XSS-Protection: 0 oder den Header komplett weglassen. Eine starke CSP ist der korrekte XSS-Schutz.
Ergebnis prüfen
Nach dem Deployment: Kostenlosen Light-Check starten — der Header-Grade aktualisiert sich sofort. Welche Header wir prüfen und wie wir bewerten, steht auf der Methodik-Seite.
Dieser Artikel wurde mit KI-Unterstützung erstellt und gegen verifizierte DSGVO-Rechtsprechung (GDPRhub) geprüft. Für Rechtsberatung wenden Sie sich an einen qualifizierten Datenschutzexperten.