CSP auf Strato konfigurieren

Content Security Policy auf Ihrem Strato Webhosting einrichten — per .htaccess für Shared Hosting, PHP header() als Fallback und V-Server-Konfiguration. Von Report-Only bis Enforcement.

Strato · Schritt für Schritt

Content Security Policy auf Strato

Content Security Policy (CSP) ist der wichtigste HTTP-Security-Header gegen Cross-Site Scripting (XSS). Er teilt dem Browser mit, welche Ressourcen geladen werden dürfen — und blockiert alles andere. CSP ist mit 35 von 166 Punkten der einflussreichste Header im Wolf-Agents Web Security Check.

Auf Strato Shared Hosting konfigurieren Sie CSP über die .htaccess-Datei mit mod_headers. Für dynamische PHP-Seiten ergänzen Sie den Header per header()-Aufruf. Auf dem Strato WordPress Hosting funktioniert dieselbe .htaccess-Methode — beachten Sie jedoch, dass WordPress-Updates die .htaccess zurücksetzen können. Auf einem Strato V-Server haben Sie vollen Root-Zugriff und konfigurieren CSP direkt in nginx.conf oder apache2.conf. Auf dem Strato Managed Server nutzen Sie das Plesk-Panel für die Header-Konfiguration.

Wichtig: Strato setzt keine eigenen CSP-Header. SSL muss vorher im Strato-Kundenbereich aktiviert werden — erst dann können Sie CSP mit HTTPS-Only-Ressourcen konfigurieren.

CSP auf Strato implementieren

Beginnen Sie immer im Report-Only-Modus. Der Browser meldet CSP-Verstöße in der Konsole, blockiert aber keine Ressourcen. Laden Sie die .htaccess-Datei per FTP in das Webroot-Verzeichnis Ihres Strato-Pakets hoch. Bei Strato liegt das Webroot in der Regel unter / des FTP-Zugangs.

.htaccess — Report-Only
.htaccess Report-Only
# .htaccess — CSP Report-Only
<IfModule mod_headers.c>
    Header set Content-Security-Policy-Report-Only "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'"
</IfModule>
.htaccess — Enforcement
.htaccess Produktiv
# .htaccess — CSP Enforcement
<IfModule mod_headers.c>
    Header set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'"
</IfModule>
PHP Fallback
index.php Dynamisch
// PHP Fallback — für dynamische Seiten (z.B. index.php)
<?php
header("Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'");
?>
Strato V-Server und Managed Server

Auf einem Strato V-Server mit Root-Zugriff konfigurieren Sie CSP direkt in /etc/nginx/conf.d/csp.conf oder /etc/apache2/conf-available/csp.conf. Auf dem Managed Server nutzen Sie das Plesk-Panel unter Apache & nginx Einstellungen, um zusätzliche Header-Direktiven hinzuzufügen.

Lassen Sie die Policy mindestens 1 Woche im Report-Only-Modus laufen. Testen Sie alle Seitentypen — Startseite, Blog, Formulare, Login und Checkout. Erst wenn keine unerwarteten Violations mehr auftreten, wechseln Sie zu Enforcement.

Verifizierung

Nach dem Upload der .htaccess-Datei prüfen Sie den CSP-Header per curl. Achten Sie darauf, dass der Header sowohl auf der Startseite als auch auf Unterseiten gesetzt wird. Bei Strato kann es einige Minuten dauern, bis eine neue .htaccess wirksam wird — bei Problemen leeren Sie den Browser-Cache.

Terminal Verifizierung
# CSP-Header prüfen (nach Upload der .htaccess)
curl -sI https://ihre-domain.de | grep -i content-security-policy

# Erwartete Ausgabe (Report-Only):
# content-security-policy-report-only: default-src 'self'; ...

# Erwartete Ausgabe (Enforcement):
# content-security-policy: default-src 'self'; ...
Alternativ zum Terminal: Der Wolf-Agents Web Security Check prüft Ihren CSP-Header automatisch und bewertet ihn mit bis zu 35 Punkten.

Häufige Fehler bei CSP auf Strato

.htaccess bei Strato ignoriert — mod_rewrite Konflikt

Wenn die .htaccess-Datei ignoriert wird, prüfen Sie auf Konflikte mit bestehenden mod_rewrite-Regeln. Strato nutzt intern eigene Rewrite-Regeln. Stellen Sie sicher, dass der <IfModule mod_headers.c>-Block nach allen RewriteRule-Direktiven steht, um Konflikte zu vermeiden.

WordPress-Hosting: .htaccess bei Updates zurückgesetzt

Strato kann bei WordPress-Core-Updates oder Plugin-Updates die .htaccess überschreiben. Sichern Sie Ihre Security-Header-Konfiguration und prüfen Sie nach jedem Update, ob der CSP-Header noch gesetzt wird. Alternativ: CSP per PHP in der wp-config.php oder über ein dediziertes Plugin setzen.

SSL muss manuell im Strato-Kundenbereich aktiviert werden

Anders als bei einigen Hosting-Anbietern aktiviert Strato SSL nicht automatisch. Ohne aktives SSL-Zertifikat verweist eine CSP mit HTTPS-Only-Ressourcen auf nicht erreichbare URLs. Aktivieren Sie SSL unter Strato-Kundenbereich → Domains → SSL-Verwaltung bevor Sie CSP konfigurieren.

PHP-Version bei Strato zu alt

Auf älteren Strato-Tarifen läuft standardmäßig eine veraltete PHP-Version, die moderne header()-Aufrufe unter Umständen nicht korrekt verarbeitet. Prüfen Sie im Strato-Kundenbereich unter PHP-Version und stellen Sie mindestens PHP 8.0 ein. Bei der .htaccess-Methode ist die PHP-Version irrelevant.

Compliance-Relevanz

Eine korrekte Content Security Policy erfüllt zentrale Anforderungen mehrerer Compliance-Frameworks. Auch auf Strato Shared Hosting liegt die Verantwortung für die Header-Konfiguration beim Betreiber der Website.

PCI DSS 4.0Anforderung 6.4.3 — Kontrolle aller auf Zahlungsseiten geladenen Scripts (seit März 2025 verpflichtend)
NIS2Art. 21(e) — Sicherheit bei Erwerb, Entwicklung und Wartung von Netz- und Informationssystemen
BSIAPP.3.1 — Webserver-Absicherung mit Security Headern

Wie steht Ihre Domain bei Content Security Policy?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.