Zum Inhalt springen
EUID Prüfservice & Prüfsiegel, Startseite
Website prüfen lassen

Prüfpunkt software.csp.schwachKopfzeilen und Einbettung

Google Tag Manager und Content-Security-Policy: wie geht beides?

Beides läuft zusammen, am besten mit einer Nonce. Der Tag Manager startet mit einem kleinen Skript direkt im Quelltext, das die Richtlinie freigeben muss. Google empfiehlt dafür eine Nonce, also einen Zufallswert, den der Server bei jeder Antwort neu erzeugt. Der Tag Manager gibt sie an jedes Skript weiter, das er nachlädt. Eigene JavaScript-Variablen und die Adressen der einzelnen Dienste brauchen danach noch Aufmerksamkeit.

Die Nonce gibt den Tag Manager und seine Skripte frei

Google stellt eine eigene Fassung des Startskripts bereit, die ein Attribut nonce mit demselben Wert wie die Kopfzeile bekommt. Den Wert erzeugt der Server bei jeder Antwort neu. Das ist die Hürde bei Seiten aus einem Zwischenspeicher: Dort käme bei jedem Besucher derselbe Wert an. Für solche Seiten nennt web.dev einen Hash, die feste Prüfsumme des Skripts. Mit einem Hash gibt es keine Nonce zum Weitergeben; nachgeladene Skripte brauchen dann 'strict-dynamic' oder eigene Adressen. Ist beides nicht machbar, lässt Google 'unsafe-inline' als Ausweg zu und rät ausdrücklich davon ab.

Eigene JavaScript-Variablen brauchen 'unsafe-eval'

Liefert eine Auswertung nach dem Einführen der CSP leere Werte, kann das an den Custom JavaScript Variables liegen. Google schreibt: Sie ergeben mit einer CSP den Wert undefined, solange 'unsafe-eval' fehlt. Diese Freigabe erlaubt Code aus Zeichenketten, und Google rät, sie nur einzusetzen, wenn es gar nicht anders geht. Als Alternative empfiehlt Google Custom Templates, die ohne 'unsafe-eval' auskommen. Bitten Sie Ihre Agentur, solche Variablen umzustellen.

Jeder Dienst bringt eigene Adressen mit

Für Google Analytics nennt Google unter anderem *.google-analytics.com und *.g.doubleclick.net, für Bilder und für Verbindungen. Dazu gehört die Adresse von Google mit der Länderendung, und jede Endung muss einzeln stehen, weil die CSP rechts in der Adresse keinen Stern zulässt. Eigene Listen gibt es für Google Ads und Floodlight. Fehlt eine Adresse, sperrt der Browser die Anfrage, und der Messwert fehlt. Google empfiehlt report-to, damit Sie solche Sperren gemeldet bekommen; auch Tag Assistant zeigt blockierte Quellen an.

Wer im Konto veröffentlichen darf, bringt Skripte auf Ihre Seite

Die Nonce gilt für alles, was der Tag Manager hinzufügt. Für die Richtlinie ist es dann gleich, welches Skript das ist. Wer im Tag Manager die Berechtigung Publish hat, kann also Code auf Ihre Seite bringen, und die CSP hält ihn nicht auf. Google rät, das Konto von Personen aus dem eigenen Unternehmen verwalten zu lassen und echte Nutzerkonten zu verwenden. Wer nur Änderungen vornimmt, bekommt die Berechtigung Edit und veröffentlicht nichts.

So gehen Sie es an

  1. Lassen Sie Ihre Agentur die Fassung des Startskripts mit nonce einsetzen und den Wert vom Server erzeugen.
  2. Sie prüft mit Tag Assistant, welche Quellen der Browser blockiert, und ergänzt genau diese Adressen.
  3. Sie stellt Custom JavaScript Variables auf Custom Templates um.
  4. Gehen Sie die Benutzerliste Ihres Kontos durch: Wer darf veröffentlichen, und arbeitet diese Person noch für Sie?

Mehr zu diesem Thema

Weiter in der Cybersicherheit

Dieser Prüfpunkt gehört zur Cybersicherheit, Unterthema Kopfzeilen und Einbettung. Gemessen wird er im Prüfbereich Aktualität. Was die Prüfung insgesamt leistet, zeigt die Leistungsseite; wie ein Ergebnis zustande kommt, erklärt das Prüfverfahren.

  • Siegel Digitale Barrierefreiheit
  • Siegel Daten & Recht
  • Siegel Technische Qualität
  • Siegel Digital Excellence
  • Siegel Cyberversicherung

Geprüft. Für eine bessere digitale Zukunft.euid.com