Kategorie:

Wie eine gute CSP Ihre Webseite nicht nur sicherer macht, sondern auch DSGVO-konform.

Was ist eine Content Security Policy (CSP)

Eine Content Security Policy (CSP) ist ein Mechanismus, der es Website-Betreibern ermöglicht, bestimmte Regeln zu definieren, welche Art von Inhalten auf ihrer Website geladen werden darf. Diese Regeln werden im HTTP-Header der Website definiert und an den Browser übertragen.
Die CSP definiert, welche Ressourcen (z. B. Bilder, Skripte oder Stylesheets) von welchen Quellen auf einer Website geladen werden dürfen. Wenn ein Browser eine Website mit einer CSP lädt, überprüft er zunächst, ob die Ressourcen auf der Website gemäß den Regeln der CSP geladen werden dürfen. Wenn die Regeln nicht erfüllt werden, wird der Browser die betreffenden Ressourcen nicht laden.

Wie macht eine gute CSP meine Seite sicherer?

Zunächst einmal sei hier der Begriff „sicher“ ein wenig erläutert. In erster Linie macht die CSP die Seite sicherer für den Besucher. Eine Content Security Policy macht Ihre Webseite nicht unbedingt sicherer gegen Hacking-Angriffe, kann aber auch hier einen Beitrag leisten.

Eine CSP kann helfen, Angriffe wie Cross-Site Scripting (XSS), Injection-Angriffe und andere Arten von Sicherheitsbedrohungen zu verhindern, die dazu verwendet werden können, um Benutzerdaten zu stehlen oder die Integrität einer Webseite zu beeinträchtigen.

  1. Festlegen von Quellen für Inhalte: Eine CSP kann festlegen, von welchen Domänen oder IP-Adressen Inhalte auf einer Webseite geladen werden dürfen.
  2. Steuern von Inhaltsarten: Eine CSP kann bestimmen, welche Arten von Inhalten wie JavaScript, Bilder, Videos usw. auf einer Webseite ausgeführt werden dürfen.
  3. Überwachen von Sicherheitsverletzungen: Eine CSP kann Überwachungsberichte über mögliche Sicherheitsverletzungen generieren, die ein Entwickler verwenden kann, um sicherzustellen, dass seine Webseite sicher bleibt.

Indem eine CSP verwendet wird, kann man sicherstellen, dass nur vertrauenswürdiger Code auf einer Webseite ausgeführt wird, was dazu beiträgt, dass Benutzerdaten geschützt und die Integrität der Webseite erhalten bleibt.

Wie hilft eine Content Security Policy beim Datenschutz?

Häufig wird der Inhalt einer Webseite von vielen Menschen erstellt und gepflegt. Man kann nicht von jedem erwarten, dass er sich mit dem Thema Datenschutz auskennt und die DSGVO beherzigt.
Auch oder gerade in Agenturen wechselt das Personal öfter mal und  und erschreckend viele Agenturen haben nicht die Ressourcen und das Knowhow, Datenschutz auf den Webseiten ihrer Kunden umzusetzen.

Cookie-Banner und Consent-Management-Systeme können dabei helfen, von externe Elemente heraus zu filtern und diese erst nach Zustimmung des Users einzublenden.
Leider funktioniert dies aber nicht immer zuverlässig. Es gibt sehr viele visuelle Editoren wie Elementor, Divi-Builder, Gutenberg, etc. und alle nutzen sie unterschiedliche Arten und Code um externe Elemente einzubinden. Dann werden viele Webseiten durch Techniken wie lazy-loading optimiert, wodurch die Schwierigkeit für die Cookie-Banner noch einmal erheblich steigt.
Die o.a. visuellen Editoren machen es den Webseiten-Betreibern leicht, externe Inhalte einzubinden. Schnell kann es passieren, dass der Praktikant mal einen Podcast oder ein Bild aus externer Quelle einbindet, und schon verstößt der Inhalt der Webseite potentiell gegen die DSGVO, weil keine Zustimmung eingeholt wurde.

TL;DR: Cookie-Banner können nicht alle externen Elemente zuverlässig heraus filtern.

Hier kommt nun die Content Security Policy ins Spiel. Mit einer CSP kann man den Browser anweisen, nur Inhalte der eigenen Seiten oder externe Inhalte nur aus datenschutzrechtlich unbedenklichen Quellen zu laden. Content Security Policies sollten individuell auf die Anforderungen der Webseite erstellt werden, da die Bandbreite von sehr restriktiv bis sehr lax reicht.
Eine sehr einfache CSP verbietet es eventuell nur, Inhalte nicht unverschlüsselt zu laden, wohingegen eine restriktive CSP beispielsweise nur Inhalte von der eigenen Webseite zulässt, wie zum Beispiel hier:

In diesem Beispiel wurde ein Youtube-Video eingebunden, unsere CSP verhindert aber effektiv, dass das Video geladen wird. Ein Blick in die Enwickler-Konsole von Chromium zeigt, dass kein 3rd-party-request erfolgt ist, weil dieser durch die CSP blockiert wurde:

Eine CSP funktioniert nur nach dem Whitelist-Prinzip. Mann kann also nur externe Quellen zulassen, aber nicht einzelne Quellen in einer Blacklist verbieten. Manchmal wäre es wünschenswert, nur bestimmte Quellen zu unterbinden. Könnte man beispielsweise die Google-Fonts-Domains blocken, könnte man so sicher stellen, dass nicht doch auf einzelnen Seiten Google Schriftarten geladen werden. Dieses Ziel kann man auch über das Whitelist-Prinzip erreichen, allerdings kann das auch zur Folge haben, dass man „aus Versehen“ auch gewünschten Content blockiert, wenn dieser nicht in der CSP freigegeben wurde.

Fazit: Eine Content Security Policy ist sinnvoll, braucht aber ein wenig Know-how

Hier können Sie das Vorhandensein und die Qualität Ihrer CSP testen und darüber hinaus noch weitere sicherheitsrelevante Server-Header: https://observatory.mozilla.org/

Oder machen Sie gleich einen komplette Analyse Ihrer Startseite über die drei Qualitätsfaktoren Datenschutz, Sicherheit und Performance mit
unserem Webseiten-Check.