Unabhängiger Vergleich · keine bezahlten Platzierungen
Startseite / Blog / Technik / Inhaltssicherheitsrichtlinie: Errichten Sie eine Barriere, ohne die Front zu durchbrechen

Inhaltssicherheitsrichtlinie: Errichten Sie eine Barriere, ohne die Front zu durchbrechen

Ein strikter CSP-Header an einem Freitagabend und der Stripe-Checkout verschwindet: Die XSS-Barriere wird nur im Nur-Bericht-Modus → Erzwingen eingesetzt, mit Marketing auf dem Laufenden.

Redaktion Hébergeurs.eu 5 Min.

Das Sicherheitsteam schließt eine Prüfung mit einer klaren Empfehlung ab: Führen Sie eine strenge Richtlinie zur Inhaltssicherheit ein. Der Entwickler fügt den Header an einem Freitagnachmittag der Produktion hinzu. Zwanzig Minuten später lädt der Stripe-Checkout nicht mehr, Google Tag Manager ist stumm und das Admin-Backoffice zeigt eine leere Seite an. Rollback des Headers, angespannte Obduktion, Versprechen, „später fortzufahren“ – was nie wird.

Ein gut geführter CSP ist kein Schalter. Dies ist eine ausführbare Whitelist: Der Browser führt nur das aus, was Sie explizit für Skripte, Stile, Bilder, XHR-Verbindungen und Iframes zulassen. Jeder Marketingpixel, jedes Webpack-Bundle, jeder Zahlungs-Iframe zählt – auch der, den seit der letzten Kampagne niemand mehr inventarisiert hat.

Der korrekte Build erfolgt im reinen Berichtsmodus, mit Marketing in the Loop, einer Nonce-Pipeline auf der Build-Seite und einem vollständigen Checkout-Test vor dem Wechsel zur Durchsetzung. Ohne sie bestrafen Sie den Korb und nicht den XSS-Angreifer.

Rollout in vier Phasen

Phase 1 – Bestandsaufnahme: Listen Sie alle Skripte und Stile auf, einschließlich der vom Tag Manager eingefügten, A/B-Tests, Chat-Unterstützung, Heatmaps. Exportieren Sie Verstöße aus dem Browser (Registerkarte „Netzwerk“ + Konsole) auf kritischen Pfaden: Empfang, Registrierung, Kasse, Admin.

Phase 2 – Report-Only zwei bis vier Wochen: Header „Content-Security-Policy-Report-Only“ mit Endpunkt „/csp-report“ oder Drittanbieterdienst. Sammeln, aggregieren nach verletzter Direktive, sortieren: zuerst „script-src“, dann „connect-src“, „frame-src“, „img-src“.

Phase 3 – Korrekturen: Nonce pro Abfrage für legitime Inline-Snippets, SHA-256-Hash für statische Snippets, Refactoring auf externe Dateien für den Rest. Jede neue Marketingdomäne durchläuft ein CSP-Ticket, bevor das Tag in Produktion geht.

Phase 4 – Durchsetzung mit Überwachung: Wechseln Sie zur „Content-Security-Policy“, wenn kritische Verstöße an sieben aufeinanderfolgenden Tagen gegen Null tendieren. Planen Sie einen dokumentierten Rollback-Header (Feature-Flag oder Nginx-Konfiguration) und einen E2E-Checkout-Test in der Staging-Erzwingung vor der Produktion.

Richtlinien und häufige Fallstricke

RichtlinieRolleLauffalle
default-srcRückfallZu freizügig verbirgt Lücken in script-src
script-srcJavaScriptVergessen Sie js.stripe.com oder GTM
style-srcCSSInline React/Vue ohne Nonce
connect-srcfetch/XHRZahlungs- oder Analyse-API vergessen
frame-srcIframes3-D Secure Stripe blockiert
img-srcBilderPixelverfolgung auf unbekannter Domain

„Streng-dynamisch“ mit Nonce modernisiert die Vertrauenskette: Ein Nonce-Skript kann Nachkommen laden – testen Sie Safari und Firefox als Ziel, nicht nur Chrome.

„unsafe-inline“ und „unsafe-eval“ sind nur in kurzen, dokumentierten Übergängen akzeptabel. Für jedes Vorkommen muss ein Entfernungsdatum angegeben werden.

Pipeline-Nonce und Build

Das Framework generiert eine Nonce pro Anfrage (Sitzung oder Middleware). Die Vorlage fügt „<script nonce="{{nonce}}">` ein. Das Build-Tool behält den Platzhalter bei – die Minimierung sollte ihn nicht zerstören.

Berechnen Sie für unveränderliche Inline-Inhalte (Snippet Analytics Legacy) den SHA-256-Hash und deklarieren Sie „sha256-…“ in „script-src“. Dokumentieren Sie den Build-Befehl in der Operations-README-Datei.

CI-Staging: Automatisierter Test, ob der CSP-Header vorhanden ist und ob die Checkout-Seite ohne Konsolenverletzung geladen wird. Blockieren Sie die Zusammenführung bei Regression.

Dritte: Stripe, GTM, Analytics

Stripe erfordert normalerweise „script-src“ js.stripe.com, „frame-src“hooks.stripe.com, „connect-src“ api.stripe.com. Listen Sie sie explizit auf – verlassen Sie sich nicht nur auf „default-src“.

Google Tag Manager verbreitet variable Domains: Erzwingen Sie einen „Neues Tag = CSP-Überprüfung“-Prozess mit 48-Stunden-SLA. Ansonsten bricht die Montagsaktion am Dienstag ab.

Führen Sie nach jeder Header-Änderung einen vollständigen Checkout-Lauf mit Testkarte, 3-D Secure (sofern aktiviert) und serverseitiger Webhook-Bestätigung durch.

Governance und Berichterstattung

Benennen Sie einen CSP-Eigentümer in der Sicherheits-RACI-Matrix – kein vages Komitee. Er nimmt an Tag-Marketing-Veröffentlichungen teil.

Wöchentliche Aggregation reiner Berichtsberichte: Volumen nach Direktive, neue Domains, zugewiesene Seiten. Spike nach der Bereitstellung = Rollback oder Hotfix, keine Stille.

DSGVO: CSP-Berichte können URLs mit Parametern enthalten – vor der langfristigen Speicherung filtern oder anonymisieren.

Entscheide dich und gehe ohne blinden Fleck voran

  1. Skript- und Stilinventar – Build, Inline, Tag Manager, Stripe; Eigentümer CSP im RACI genannt.
  2. Nur Bericht 2–4 Wochen – Endpunkt-„/csp-report“-Rate begrenzt, wöchentliche Skript-SRC-Triage.
  3. Pipeline-Nonce oder CI-Hash – Staging vor Produktion erzwingen; Test-Checkout und WordPress-Administration.
  4. Neues Tag-Marketing-Formular – Skript-/Connect-/Frame-Domains werden 48 Stunden vor der Veröffentlichung überprüft.
  5. Scorecard-Durchsetzung – keine kritischen Verstöße 7 Tage, dokumentierter Rollback-Header.

Front und CDN: Header über curl -I prüfen; Vergleichen Sie Hosts über das Verzeichnis und den Komparator.

Häufig gestellte Fragen

CSP blockiert was genau?

Es begrenzt ausführbare Quellen (Skripte, Stile, Verbindungen, Frames), um die Auswirkungen einer XSS-Injektion zu reduzieren. Der Browser lehnt alles ab, was nicht auf der Whitelist steht – einschließlich eines vergessenen Marketing-Pixels.

Reicht Report-Only für lange Zeit?

Nein: Dies ist die Inventurphase (mindestens 2–4 Wochen). Verstöße sollten auf kritischen Pfaden gegen Null gehen, bevor sie in der Produktion durchgesetzt werden.

Wie verwalte ich Inline-Skripte?

Drei Möglichkeiten: eindeutige Nonce pro vom Framework injizierter Anfrage, SHA-256-Hash von statischen Inhalten oder Refactoring für externe Dateien. „unsafe-inline“ ist nur bei kurzen Übergängen akzeptabel.

Existieren Stripe und Tag Manager neben CSP?

Ja, mit „script-src“ und „connect-src“ werden js.stripe.com, GTM-Domänen und Zahlungs-APIs aufgelistet. Testen Sie den vollständigen Checkout nach jeder Header-Änderung.


Lesen Sie zwei Wochen lang CSP-Berichte, bevor Sie ein Verbot verhängen – Überraschungen kommen vom Marketing, nicht vom Backend.

Europäische Hoster vergleichen

Filtern nach Compliance, Standort und Einsatzzweck — dann die Datenblätter öffnen, um den echten Umfang zu prüfen.

Verzeichnis durchsuchen
Blog

Weiterlesen

Alle Artikel →