Alle Security Headers für Apache konfigurieren
Vollständige .htaccess-Konfiguration: 11 Security Headers in einem Block. Kompatibel mit allen DACH-Hostern und LiteSpeed.
.htaccess mit allen Security Headern für Apache
Apache setzt Security Headers über das mod_headers-Modul in der .htaccess-Datei im Document Root. Verwenden Sie Header always set statt Header set, damit die Header auch bei Fehler-Responses (404, 500) gesetzt werden. Das IfModule-Guard verhindert Fehler, falls mod_headers nicht aktiviert ist.
Diese Konfiguration funktioniert bei All-Inkl, IONOS, Strato, Hetzner Webhosting, Webgo und allen anderen Hostern mit Apache und aktiviertem mod_headers. LiteSpeed-basierte Hoster verstehen die Apache-.htaccess-Syntax ebenfalls vollständig. Prüfen Sie ob mod_headers aktiviert ist: a2enmod headers && systemctl restart apache2. Nach der Implementierung: Scannen Sie Ihre Domain mit dem Wolf-Agents Web Security Check — 166 Prüfpunkte zeigen sofort, ob alle Header korrekt gesetzt sind.
Vollständige Konfiguration
Fügen Sie diesen Block in Ihre .htaccess-Datei im Document Root ein. Stellen mit ANPASSEN: müssen Sie an Ihre Domain anpassen.
# Alle Security-Header zentral — .htaccess im Document Root
# Generiert aus Wolf-Agents Web Security Guide, Kapitel 00-16
<IfModule mod_headers.c>
# --- Kap 01: Content Security Policy ---
# ANPASSEN: Ersetzen Sie die Domains durch Ihre eigenen
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'; 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 ---
# ANPASSEN: includeSubDomains nur wenn ALLE Subdomains HTTPS haben
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
# --- Kap 04: Permissions Policy ---
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), bluetooth=(), idle-detection=(), serial=(), browsing-topics=(), unload=()"
# --- Kap 05: Clickjacking-Schutz ---
Header always set X-Frame-Options "SAMEORIGIN"
# --- Kap 06: Referrer Policy ---
Header always set Referrer-Policy "strict-origin-when-cross-origin"
# --- Kap 07: MIME-Sniffing-Schutz ---
Header always set X-Content-Type-Options "nosniff"
# --- Kap 08: Cross-Origin Isolation ---
# ANPASSEN: cross-origin-embedder-policy kann Drittanbieter-Ressourcen blockieren
Header always set Cross-Origin-Resource-Policy "same-origin"
Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Embedder-Policy "credentialless"
# --- Kap 14: Reporting Endpoints ---
# ANPASSEN: Ersetzen Sie die URL durch Ihren Reporting-Endpoint
Header always set Reporting-Endpoints "csp-endpoint=\"https://ihre-domain.de/csp-report\""
# --- Kap 16: Origin Agent Cluster ---
Header always set Origin-Agent-Cluster "?1"
</IfModule> Diese .htaccess-Konfiguration funktioniert bei All-Inkl, IONOS, Strato, Hetzner Webhosting, Webgo und allen anderen Hostern mit Apache und aktiviertem mod_headers. LiteSpeed-basierte Hoster verstehen Apache-.htaccess-Syntax ebenfalls vollständig.
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 — Referrer-Informationen begrenzen | Kap. 06 |
X-Content-Type-Options | MIME-Sniffing verhindern — Dateitypen erzwingen | Kap. 07 |
CORP / COOP / COEP | Cross-Origin-Isolation — Spectre-Angriffe verhindern | Kap. 08 |
Reporting-Endpoints | Violation-Reports an Ihren Endpoint senden | Kap. 14 |
Origin-Agent-Cluster | Prozess-Isolation im Browser aktivieren | Kap. 16 |
Verifikation
Die .htaccess-Änderungen wirken sofort — kein Neustart nötig.
# 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 Wenn die Website einen Server Error zeigt, ist wahrscheinlich mod_headers nicht aktiviert. Kontaktieren Sie Ihren Hoster oder aktivieren Sie das Modul mit sudo a2enmod headers && sudo systemctl restart apache2.
Wie steht Ihre Domain bei Security-Header-Architektur?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.