CSP

Content Security Policy (CSP) ist ein Browser-Sicherheitsmechanismus, mit dem eine Website per HTTP-Header oder Meta-Tag festlegt, welche Quellen für Skripte, Styles und andere Ressourcen vertrauenswürdig sind, um Angriffe wie Cross-Site Scripting zu erschweren.

Kurz erklärt

CSP funktioniert als Positivliste (Allowlist): Der Server sendet per HTTP-Header oder Meta-Tag eine Richtlinie, die angibt, von welchen Quellen JavaScript, CSS, Bilder oder andere Ressourcen geladen werden dürfen. Inhalte, die nicht der Richtlinie entsprechen - etwa eingeschleuster Schadcode von einer fremden Domain - blockiert der Browser aktiv.

Beispiel

Content-Security-Policy: default-src 'self'; script-src 'self' https://umami.example.com

Diese Richtlinie erlaubt das Laden von Ressourcen nur von der eigenen Domain sowie zusätzlich Skripte von umami.example.com, während Inline-Skripte und alle anderen externen Quellen blockiert werden.

Warum ist das relevant?

CSP gilt als eine der wirksamsten Verteidigungslinien gegen Cross-Site-Scripting-Angriffe (XSS), da selbst erfolgreich eingeschleuster Schadcode ohne passende Erlaubnis nicht ausgeführt werden kann. Viele Sicherheits-Audits und Compliance-Vorgaben verlangen mittlerweile eine konfigurierte CSP.

Häufige Missverständnisse

Eine CSP ersetzt keine grundlegende Eingabevalidierung und Ausgabekodierung - sie ist eine zusätzliche Schutzschicht, kein Ersatz für sichere Programmierung. Eine zu locker konfigurierte CSP (z. B. mit unsafe-inline oder * als Quelle) bietet zudem kaum tatsächlichen Schutz, obwohl formal ein CSP-Header gesetzt ist.

Weiterführende Inhalte

Quellen & Dokumentation