Lokal & kontrolliert
BEGRIFF

Content Security Policy (CSP)

Eine Liste von Regeln, mit der eine Website dem Browser sagt, woher Skripte und andere Inhalte kommen dürfen — die zweite Verteidigungslinie gegen eingeschleusten Code.

Auch bekannt als: CSP, Inhaltssicherheitsrichtlinie

In Ruhe erklärt

Eine Website schickt die Richtlinie als Zeile Content-Security-Policy mit jeder Antwort. Darin steht für jede Art von Inhalt, was erlaubt ist: Skripte nur von der eigenen Adresse, Bilder auch von einem bestimmten Dienst, keine Einbettung in fremde Seiten. Alles andere lädt und startet der Browser nicht.

Ihr wichtigster Zweck ist der Schutz vor Cross-Site-Scripting (XSS): Gelingt es jemandem, ein Skript in die Seite einzuschleusen, soll der Browser es trotzdem nicht ausführen. Am wirksamsten ist das, wenn jedes erlaubte Skript eine Einmalkennung (Nonce) oder eine Prüfsumme (Hash) trägt. Listen erlaubter Adressen lassen sich dagegen oft umgehen: In einer Google-Studie von 2016 traf das auf drei von vier untersuchten Richtlinien zu.

Eine Richtlinie lässt sich zuerst im Beobachtungsmodus senden, als Content-Security-Policy-Report-Only. Dann meldet der Browser Verstöße, blockiert aber nichts — der übliche Weg, eine CSP einzuführen, ohne die eigene Seite zu beschädigen.

Warum das zählt

Weil eine gute CSP selbst dann schützt, wenn die Anwendung eine Lücke hat. Sie ist eine der wenigen Schutzschichten, die nicht davon abhängt, dass der Code fehlerfrei ist.

Was es nicht bedeutet

Die häufigsten Irrtümer — auch auf seriösen Seiten.
  • Eine CSP behebt keine Lücke. Das eingeschleuste Skript steht weiter in der Seite; die CSP hindert nur den Browser daran, es auszuführen.
  • Steht in der Richtlinie für Skripte 'unsafe-inline' ohne Nonce oder Hash, ist der Schutz gegen eingeschleuste Skripte weitgehend aufgehoben.
  • Eine Richtlinie im Beobachtungsmodus schützt nicht. Sie meldet nur.