Zum Inhalt springen
Majestic WebsSecurity
Website Security

Was ist eine Content Security Policy?

Eine Content Security Policy legt fest, welche Inhalte eine Website laden darf. Wie CSP funktioniert, wovor sie schützt und wie man sie ohne Ausfälle einführt.

Veröffentlicht
Lesezeit
2 Min.

Das Wichtigste in Kürze

  • Eine Content Security Policy (CSP) ist eine Liste erlaubter Quellen für Skripte, Stile, Bilder und andere Inhalte.
  • Sie begrenzt den Schaden, wenn es jemandem gelingt, fremden Code in eine Seite einzuschleusen.
  • Eine CSP ersetzt keine sichere Programmierung, sie ist eine zusätzliche Schutzschicht.
  • Die Einführung gelingt am besten zunächst im Beobachtungsmodus.

Das Prinzip: erlauben statt verbieten

Ohne weitere Vorgaben lädt ein Browser alles, was im Quelltext einer Seite steht, unabhängig davon, woher es stammt. Eine Content Security Policy dreht dieses Prinzip um. Die Website teilt dem Browser mit, welche Quellen vertrauenswürdig sind. Alles andere wird nicht geladen oder nicht ausgeführt.

Eine einfache Richtlinie kann zum Beispiel festlegen, dass Skripte nur von der eigenen Domain stammen dürfen: script-src 'self'. Ein Skript von einer fremden Adresse würde der Browser dann nicht ausführen.

Wovor eine CSP schützt

Der wichtigste Anwendungsfall ist Cross-Site-Scripting. Dabei gelingt es Angreifern, eigenen Skriptcode in eine fremde Website einzuschleusen, etwa über ein Kommentarfeld oder eine manipulierte Erweiterung. Eine gut konfigurierte CSP verhindert in vielen Fällen, dass dieser Code ausgeführt wird.

Eine CSP ohne Ausfälle einführen

Viele Websites binden Inhalte von Dritten ein: Schriften, Karten, Videos, Analysewerkzeuge. Eine zu strenge Richtlinie würde diese Inhalte blockieren. Deshalb gibt es den Beobachtungsmodus über den Header Content-Security-Policy-Report-Only. Der Browser meldet dann Verstöße, blockiert aber nichts.

  • Bestandsaufnahme: Welche externen Quellen nutzt die Website tatsächlich?
  • Richtlinie im Beobachtungsmodus aktivieren und Meldungen auswerten.
  • Richtlinie anpassen, bis keine legitimen Inhalte mehr gemeldet werden.
  • Richtlinie verbindlich aktivieren und nach Änderungen an der Website erneut prüfen.

Nicht jede CSP ist gleich wirksam

Dass ein CSP-Header vorhanden ist, sagt noch wenig über seine Wirkung. Erlaubt eine Richtlinie mit 'unsafe-inline' beliebige Inline-Skripte, ist der Schutz gegen eingeschleusten Code deutlich reduziert. Moderne Richtlinien arbeiten stattdessen mit Nonces oder Hashes, die einzelne Skripte gezielt freigeben.

Häufige Fragen

Eine CSP ist für nahezu jede Website sinnvoll, besonders aber für Seiten mit Logins, Formularen oder Nutzerinhalten. Der Aufwand hängt davon ab, wie viele externe Dienste eingebunden sind.

Dann werden legitime Inhalte blockiert, etwa eine eingebettete Karte oder ein Skript. Deshalb empfiehlt sich die Einführung im Beobachtungsmodus.

Verwandte Beiträge

  • Website Security2 Min.

    Was sind HTTP Security Header?

    HTTP Security Header geben Browsern Regeln für den Umgang mit Ihrer Website vor. Welche es gibt, was sie bewirken und wie man sie sinnvoll einführt.

  • Webentwicklung1 Min.

    Was ist OWASP?

    OWASP ist eine gemeinnützige Organisation, die frei verfügbares Wissen zur Sicherheit von Webanwendungen bereitstellt. Was die OWASP Top 10 sind und wie man sie einordnet.

  • Website Security1 Min.

    Was bedeutet Website Hardening?

    Hardening bezeichnet das gezielte Absichern einer Website über die Standardeinstellungen hinaus. Welche Maßnahmen dazugehören und wie man sinnvoll priorisiert.

Kostenloser Security Check

Sie möchten wissen, wie Ihre Website aufgestellt ist?

Prüfen Sie ausgewählte technische Sicherheitsmerkmale Ihrer Website kostenlos und in wenigen Sekunden.

Keine Installation erforderlich.