Content Security Policy und ihre Auswirkungen auf das Webtracking

Cedric Nauwelaerts
Cedric Nauwelaerts

Angesichts der ständig zunehmenden bösartigen Aktivitäten, Sicherheitsverletzungen und Datendiebstähle war es noch nie so wichtig, sich auf die Sicherheit von Websites zu konzentrieren. Für Ihr Unternehmen und Ihre Kunden gleichermaßen. Und während die Sicherheitsmaßnahmen im Internet ständig verbessert werden, sind auch die Mittel und Werkzeuge der Hacker immer raffinierter geworden.

Eine Content Security Policy (CSP) ist ein weiteres Instrument in Ihrem Werkzeugkasten, das Sie einsetzen sollten. Wenn Sie aber Ihre Richtlinie hinzufügen, könnten Sie feststellen, dass sie sich negativ auf Ihr Webtracking auswirkt. In diesem Artikel erfahren Sie, wie Sie den Google Tag Manager reibungslos nutzen und Ihre Website vor bösartigem Code schützen können.

Content Security Policy: Eine Übersicht

Das Herzstück einer jeden Website-Sicherheitsstrategie sind die HTTP-Header. Diese Response Header sind dafür verantwortlich, dem Browser mitzuteilen, welche Aktionen er durchführen soll. Sie regeln auch den Informationsaustausch zwischen Nutzern und dem Server und schützen so sensible Daten. Eine Content Security Policy ist einer dieser HTTP-Header, die Sie auf Ihrer Website implementieren können.

Eine CSP umfasst mehrere Richtlinien, die dem Browser vorschreiben, wie er sich zu verhalten hat und welche Quellen geladen werden dürfen. Sie können zum Beispiel festlegen, aus welcher Domäne Skripte und Bilder geladen werden können, oder Inline-Skripte verbieten.

Dank dieser Funktionen wird Ihre CSP die Nutzer vor bösartigen Plugins und Malware schützen. Auch die Risiken des Cross-Site-Scripting werden dadurch minimiert. Denken Sie daran, dass Sie mit solchen Risiken wahrscheinlich konfrontiert werden, unabhängig davon, wie gut die Sicherheitsstrategie Ihrer Website ist.

Die Beziehung zwischen CSP und Webtracking

Webtracking und -Analysen sind ein wesentlicher Bestandteil der Unternehmensstrategie. Die Erhebung dieser Daten ist jedoch nicht ohne Risiken. Dies gilt selbst dann, wenn Sie nur vertrauenswürdige Drittanbieter-Tools wie Google Analytics verwenden.

Eine CSP kann jedoch nicht zwischen dem von Google Tag Manager (GTM) oder Google Analytics verwendeten nicht bösartigen Code und einem bösartigem JavaScript unterscheiden. Wenn Sie also die Aktivitäten Ihrer Nutzer verfolgen wollen, müssen Sie Ihre CSP optimieren. Sie können dies tun, indem Sie eine CSP schreiben, die von Google stammende Skripte erkennt und zulässt.

Sollten Sie das Risiko eingehen und weiter mit GTM arbeiten?

Warum betrachtet Ihre CSP eine maßgebliche und zuverlässige Quelle (z. B. Google) als gleichwertig mit einem bösartigen Skript? Die Antwort ist, dass das, was GTM so nützlich macht, auch die Anfälligkeit Ihrer Website erhöht. 

GTM ist nichts anderes als ein Container mit JavaScript-Codeblöcken. So können Vermarktungsfachkräfte und Entwickelnde Tags von Google und Drittanbietern ändern, erstellen und austauschen. 

Diese Flexibilität und Benutzerfreundlichkeit hat ihren Preis: alle können mit minimaler Überwachung ein neues „benutzerdefiniertes Tag“ hinzufügen. Und, wenn Ihre Website nicht über eine CSP verfügt, kann sie es Nutzern leicht machen, bösartige Bilder und Skripte zu laden.

Die gemeinsame Nutzung von Google Analytics und GTM ist eine leistungsstarke Kombination. Damit beides zusammen funktioniert, lohnt es sich, die CSP zu optimieren.

3 effiziente Möglichkeiten, Ihre CSP für GTM zu optimieren

Wenn Sie Ihre CSP für GTM optimieren, kann es verlockend sein, einfach script-src https://analytics.google.com/ und https://tagmanager.google.com/ zu Ihrer Richtlinie hinzuzufügen.

Auf diese Weise funktioniert zwar Ihr GTM, aber Ihre benutzerdefinierten JavaScript-Variablen liefern wahrscheinlich ‚undefiniert‘. Dies geschieht auch durch die Verwendung des ‚unsafe-inline-Tags‘.

Eine andere Lösung, auf die viele zurückgreifen, ist das Hinzufügen des Arguments ‚unsafe-eval‘. Dadurch wird Ihr GTM aktiviert, aber auch die Ausführung jedes anderen Skripts wird ermöglicht. Dies wiederum führt dazu, dass Ihre CSP Ihre Website nicht mehr schützt. 

Anstelle der obigen Beispiele sollten Sie einen Hash oder eine Nonce verwenden. Denken Sie auf jeden Fall daran, Ihrer bestehenden CSP erreichbare Domains immer hinzuzufügen – erstellen Sie keine weitere CSP!

Verwenden Sie eine Hash-Funktion, um die Sicherheit und Integrität des Skripts zu überprüfen

Prüfen Sie zunächst, ob eine bestimmte Quelle vertrauenswürdig, sicher und seriös ist – zum Beispiel Google. Ein Hash verifiziert, dass die Skripte aus dieser Quelle auf dem Weg zu Ihrer Website nicht manipuliert wurden. Wenn die Quelle ursprünglich sicher war und der Hash ihre Integrität gewährleistet, ist es sicher, deren Inhalte zuzulassen. 

Aber selbst so kleine Änderungen wie das Hinzufügen von Leerzeichen führen dazu, dass der Hash das Skript ungültig macht. Sie kennen diesen Mechanismus vielleicht als SubResource Integrity (SRI), eine Strategie, die Entwickler häufig in beliebten Skripten wie jQuery verwenden.

Verwenden Sie eine Nonce für Konsistenz und Effektivität

Da GTM es für Entwickelnde und Marketingfachleute erlaubt, verschiedene Tags und Variablen zu erstellen, wird das Skript jedes Mal anders aussehen. In diesem Fall können Hashes umständlich und ineffektiv werden. Stattdessen sollten Sie eine Nonce verwenden, was für „number-used-once“ steht 

Alles, was Sie tun müssen, ist, die gleiche Nonce zu Ihrer CSP und Ihrem Skript-Tag hinzuzufügen. Der Browser erhält also die Anweisung, dass dieser Inhalt sicher ist. Bevor Sie eine Nonce implementieren, sollten Sie bedenken, dass die Chance unumkehrbar ist.

Zusammenarbeit mit Ihrer Entwicklungsfachkraft

Das Entfernen des Arguments ‚unsafe-inline‘ aus Ihrer Richtlinie bedeutet, dass kein zufälliger Code ausgeführt werden kann. Dies bedeutet zwar, dass die Website sicherer wird, aber es könnte Ihnen schwer fallen, mit Ihrer Entwicklungsabteilung zusammenzuarbeiten. Sie könnten nämlich dazu neigen, benutzerdefinierte CSPs mit anderen Optionen als bei einer Standardrichtlinie zu verwenden. 

Darüber hinaus muss sich Ihre Entwicklung möglicherweise mit Herausforderungen wie der Inkompatibilität von Browsern auseinandersetzen. Oder die Tatsache, dass sie jetzt einen Cache vermeiden müssen. Da jede Nonce einzigartig ist, müssen sie jedem Nutzenden eine andere Seite anbieten.

Upthrust kann Ihnen bei Ihrer CSP-Konfiguration helfen

Wir bei Upthrust sind stolz darauf, sichere und zuverlässige digitale Leistungen anzubieten. Wir wissen, dass Datenanalyse und -verarbeitung wichtige Bestandteile eines erfolgreichen Unternehmens sind. Aber wir bemühen uns auch, die digitale Welt sicherer zu machen. Setzen Sie sich noch heute mit uns in Verbindung, um Ihre Content Security Policy zu optimieren und Ihr Web- und App-Tracking zu optimieren.

Optimieren Sie Ihre Sicherheitsrichtlinien für Inhalte (CSP)

Blog