Skip to content

Was ist Content-Security-Policy und wie hilft sie?

Kurzantwort

Content-Security-Policy ist ein HTTP-Antwort-Header, der dem Browser mitteilt, welche Quellen von Skripten, Stilen, Bildern und anderen Inhalten auf einer Seite geladen und ausgeführt werden dürfen. Indem sie Inline-Skripte und nicht vertrauenswürdige Quellen untersagt — idealerweise über Nonces oder Hashes — dient sie als Defense-in-Depth-Absicherung, die eingeschleuste XSS-Payloads neutralisiert, selbst wenn eine durchrutscht.

Content-Security-Policy (CSP) ist eine vom Browser durchgesetzte Richtlinie, die als HTTP-Antwort-Header geliefert wird und einschränkt, was eine Seite laden und ausführen darf. Ihre Hauptaufgabe in der Praxis ist es, die Auswirkungen von XSS zu verringern: Selbst wenn ein Angreifer ein <script>-Tag einschleust, weigert sich der Browser bei einer guten CSP schlicht, es auszuführen.

Wie sie funktioniert

Der Server sendet eine Richtlinie aus Direktiven, von denen jede erlaubte Quellen benennt:

Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-r4nd0m'; object-src 'none'; base-uri 'none'
  • default-src 'self' — standardmäßig nur Ressourcen vom eigenen Origin der Seite laden.
  • script-src — steuert, woher Skripte stammen dürfen. Entscheidend: Damit lassen sich Inline-Skripte verbieten sowie eval, wo der Großteil von XSS ausgeführt wird.
  • object-src 'none', base-uri 'none' — schließen Flash/<object> und das Kapern des <base>-Tags aus.

Nonces und Hashes schlagen Domain-Zulassungslisten

Eine Zulassungsliste vertrauenswürdiger Skript-Domains ist fragil — viele CDNs hosten verwundbare Bibliotheken oder JSONP-Endpunkte, über die Angreifer sie umgehen. Eine strenge CSP verwendet stattdessen eine Nonce pro Antwort (ein zufälliger Wert, den der Server auf seine eigenen legitimen <script nonce=...>-Tags setzt) oder einen Hash der erlaubten Inline-Skripte. Ein eingeschleustes Skript hat keine gültige Nonce, also blockiert der Browser es. Dies ist der moderne, empfohlene Ansatz.

Sicher ausrollen

Content-Security-Policy-Report-Only setzt nichts durch, meldet aber Verstöße an einen Sammelendpunkt, sodass du herausfinden kannst, was kaputtginge, bevor du die Richtlinie aktivierst. Die Meldungen bringen auch echte Angriffsversuche zum Vorschein.

Warum sie eine Absicherung ist, nicht die Lösung

Die CSP kann die zugrunde liegende Injektion nicht beheben — sie begrenzt den Schadensradius. Du brauchst weiterhin kontextbezogene Ausgabecodierung als primäre Maßnahme. Die CSP ist der Sicherheitsgurt, kein Grund, rücksichtslos zu fahren.

Prüfer achten darauf, dass die CSP einschränkt, woher Skripte geladen und ausgeführt werden, auf Nonce/Hash gegenüber Domain-Listen, auf die Report-Only-Ausrolltaktik und darauf, dass die CSP als Defense in Depth statt als primäre Maßnahme eingeordnet wird.

Wahrscheinliche Anschlussfragen

  • Warum ist eine Nonce-basierte CSP stärker als eine Zulassungsliste von Domains?
  • Was ermöglicht Content-Security-Policy-Report-Only?
  • Warum ist die CSP eine Absicherung statt einer primären XSS-Maßnahme?

Quellen

Erhalte 100 Cybersecurity-Interviewfragen + Antworten

Gib deine E-Mail-Adresse ein und wir senden dir das kostenlose PDF-Paket und das Flashcard-Deck.

Kein Spam. Jederzeit abbestellbar.