Die Content Security Policy ist eine Regel im HTTP-Header, die dem Browser sagt, aus welchen Quellen er etwas laden darf. Alles, was nicht aufgeführt ist, lädt der Browser gar nicht erst.
- Content Security Policy
Eine Regel im HTTP-Header, die dem Browser sagt, aus welchen Quellen er etwas laden darf.
Beispiel: „Die Content Security Policy verbot fremde Skripte und beendete das Problem.“Auch: Kurz CSP. Sie wirkt im Browser des Besuchers und damit genau dort, wo eingeschleuster Code sonst ausgeführt würde.
Abgrenzung zu den übrigen Security Headers: Die CSP ist der aufwendigste von ihnen, weil sie zur Seite passen muss.
Wie eine Content Security Policy aufgebaut ist
Aus Anweisungen je Art von Inhalt, getrennt durch Semikola.
Content-Security-Policy: default-src 'self';
script-src 'self' 'nonce-r4nd0m';
img-src 'self' data:;
frame-ancestors 'none'Die erste Zeile setzt die Grundregel: nur die eigene Herkunft. Danach folgen Ausnahmen je Art, hier für Skripte mit einer Einmalkennung, für Bilder und für die Frage, wer die Seite in einen Rahmen packen darf. Eine Kennung dieser Art wird bei jedem Aufruf neu erzeugt, womit eingeschleuste Skripte sie nicht raten können.
Wie eine Content Security Policy eingeführt wird
Im Berichtsmodus. In dieser Betriebsart blockt der Browser nichts, meldet aber jeden Verstoß an eine angegebene Adresse. Aus den Meldungen entsteht die Liste der Quellen, die wirklich gebraucht werden, von der Schriftart über die Karte bis zum Statistikdienst. Erst wenn die Liste ruhig bleibt, wird scharf geschaltet.
Was die Content Security Policy gegen XSS leistet
Sie nimmt dem Angriff die Wirkung. Selbst wenn fremder Code in die Seite gelangt, führt der Browser ihn nicht aus, solange er keine gültige Kennung trägt und nicht aus einer erlaubten Quelle stammt, siehe XSS. Sie ist damit die zweite Verteidigungslinie hinter dem Maskieren der Ausgabe, und bei eingebundenen Diensten Dritter oft die einzige wirksame.