Die Content-Security-Policy (CSP) legt fest, aus welchen Quellen der Browser Skripte, Stile, Bilder und andere Inhalte Ihrer Seite laden darf. Eingeschleuste Skripte (XSS) haben es damit deutlich schwerer. ShieldCache setzt die CSP für Sie - Sie finden sie unter Einstellungen > Kopfzeilen.
Die drei Modi
- Aus: keine CSP von ShieldCache. Eine CSP Ihres Servers bzw. der Header-Vorlage bleibt wie bisher.
- Nur melden: Der Browser blockiert nichts, meldet aber jeden Verstoß (Report-Only). Ideal zum Testen.
- Erzwingen: Der Browser blockiert alles, was die Policy nicht erlaubt, und meldet es.
Schritt für Schritt: erst melden, dann erzwingen
- Wählen Sie den Modus Nur melden.
- Legen Sie Direktiven an. Beginnen Sie zum Beispiel mit
default-srcund der Quelle'self'(eigene Domain), dazuimg-srcmit'self'unddata:oderscript-srcmithttps://cdn.muster.de. Unter jeder Direktive stehen die erlaubten Schlüsselwörter und Schemata zum schnellen Hinzufügen; ungültige Eingaben werden schon beim Tippen erklärt. - Klicken Sie auf Speichern und dann auf Übernehmen.
- Prüfen Sie einige Tage lang die gemeldeten Verstöße. Mit Aus Meldungen übernehmen schlägt der Kundenbereich die gemeldeten Quellen für die passende Direktive vor - übernehmen Sie nur, was Ihre Seite wirklich braucht.
- Erst wenn keine berechtigten Meldungen mehr kommen, stellen Sie auf Erzwingen.
unsafe-inline und unsafe-eval
'unsafe-inline' und 'unsafe-eval' erlauben eingebetteten Code bzw. eval() und heben einen großen Teil des Schutzes auf. Besser sind Hashes ('sha256-...') oder ausgelagerte Dateien. Nonces und http://-Quellen sind nicht möglich.
Gut zu wissen
- Mit „Nur melden“ oder „Erzwingen“ ersetzt ShieldCache eine CSP Ihres Servers. Die Fehler- und Prüfseiten von ShieldCache behalten ihre eigene, strenge Policy.
- Unsichere Anfragen auf HTTPS umstellen (
upgrade-insecure-requests) folgt standardmäßig der Header-Vorlage. Beim Melden sendet ShieldCache diese Direktive zusätzlich als erzwungene Policy, weil Report-Only sie nicht kennt. - Die Vorschau zeigt die Kopfzeile genau so, wie Besucher sie erhalten - höchstens 4096 Zeichen. Wird sie zu lang, fassen Sie Quellen zusammen, etwa mit
*.muster.de. - Verstöße meldet der Browser an
/.shieldcache/csp-berichtauf Ihrer eigenen Domain.
Gemeldete Verstöße
Die Karte Gemeldete Verstöße fasst gleiche Meldungen zusammen: Direktive, blockierte Quelle, Seite (ohne Parameter), Modus, Anzahl und letzte Meldung. Neue Meldungen erscheinen nach etwa 10 Sekunden, mit ↻ sofort. „Nur seit der letzten Übernahme“ blendet ältere Meldungen aus. Gespeichert werden keine IP-Adressen; Einträge laufen 30 Tage nach der letzten Meldung ab.
Eigene Kopfzeilen
- Setzen: Name und Wert, zum Beispiel
X-Frame-Options=DENYoder einePermissions-Policy. Bis zu 20 Kopfzeilen. - Entfernen: Kopfzeilen, die Ihr Server mitschickt und die nicht nach außen sollen, zum Beispiel
X-Powered-By. Bis zu 20.
So wirken sie zusammen: Die Header-Vorlage ersetzt gleichnamige Kopfzeilen Ihres Servers. Eigene Kopfzeilen werden zuletzt gesetzt und gewinnen gegen Vorlage und Server; „Entfernen“ entfernt auch Kopfzeilen der Vorlage. Fehlerseiten von ShieldCache erhalten sie nicht.
Gesperrt sind Kopfzeilen, die ShieldCache selbst verwaltet (etwa Content-Security-Policy, Strict-Transport-Security, Alt-Svc), die den Aufbau der Antwort betreffen (etwa Content-Length) oder die sicherheitskritisch sind (etwa Set-Cookie, Location). Die vollständige Liste steht aufklappbar unter der Karte.