Content Security Policy (CSP)
Die Content Security Policy ist ein HTTP-Security-Header, der dem Browser vorgibt, von welchen Quellen Skripte, Stylesheets, Bilder und andere Ressourcen geladen werden dürfen. CSP ist die wirksamste Schutzmaßnahme gegen Cross-Site-Scripting (XSS) — eine der häufigsten Angriffsmethoden im Web.
Ohne CSP kann ein Angreifer, der Schadcode in eine Website einschleust, beliebige externe Skripte nachladen. Mit einer restriktiven CSP blockiert der Browser solche Versuche automatisch, da die externe Quelle nicht in der erlaubten Liste steht.
Aufbau einer CSP
Eine CSP besteht aus Direktiven, die für verschiedene Ressourcentypen festlegen, welche Quellen erlaubt sind:
default-src 'self'— Standardmäßig nur eigene Domain erlaubtscript-src 'self'— Skripte nur von der eigenen Domainstyle-src 'self' 'unsafe-inline'— Stylesheets von eigener Domain plus Inline-Stylesimg-src 'self' data: https:— Bilder von eigener Domain, Data-URIs und HTTPS-Quellenframe-ancestors 'self'— Ersetzt X-Frame-Options (Clickjacking-Schutz)
unsafe-inline und unsafe-eval
Die Direktiven 'unsafe-inline' und 'unsafe-eval' schwächen den CSP-Schutz erheblich. unsafe-inline erlaubt Inline-Skripte — genau das, was XSS-Angriffe ausnutzen. unsafe-eval erlaubt eval() und ähnliche Funktionen. Beide sollten vermieden werden, sind aber bei vielen CMS-Systemen schwer zu umgehen.
Was prüft exatics?
Unser Audit erkennt, ob eine CSP gesetzt ist, und bewertet deren Stärke. Eine fehlende CSP senkt den Sicherheits-Score. Eine CSP mit unsafe-inline und unsafe-eval wird als schwach bewertet.
Häufige Fragen zu Content Security Policy (CSP)
Funktioniert CSP mit WordPress und anderen CMS?
Grundsätzlich ja, aber viele Themes und Plugins verwenden Inline-Skripte und eval(), was eine strenge CSP erschwert. Beginnen Sie mit Content-Security-Policy-Report-Only, um Verstöße zu protokollieren, ohne die Website zu beeinträchtigen. Anschließend passen Sie die Policy schrittweise an.
Was passiert, wenn CSP eine benötigte Ressource blockiert?
Der Browser blockiert die Ressource und meldet den Verstoß in der Browser-Konsole. Über report-uri oder report-to können Verstöße an einen Server gemeldet werden. Im Report-Only-Modus wird nichts blockiert — Sie sehen nur, was eine echte CSP blockieren würde.
Verwandte Begriffe
Weiterführende Ratgeber: