Content-Security-Policy: Beste Praktiken
Eine strenge CSP begrenzt Quellen für Code und Inhalte und blockiert Injections.
Grundsätze
- Nonces/Hashes statt 'unsafe-inline' verwenden.
- Keine Wildcards; Quellen präzise einschränken (Schemes, Hosts, Pfade).
- Drittinhalte trennen (Subdomains/Sandbox) und eval verbieten.
- frame-ancestors statt X-Frame-Options.
- Verstöße protokollieren (report-to / report-uri) und iterieren.
Einfache Einführung
- Zunächst als Report-Only ausrollen; Verstöße beheben; dann erzwingen.
- Fremd-Ressourcen inventarisieren und mit Nonces/Hashes zulassen.
- Erwartete Verbindungen mit connect-src festlegen.
TL;DR
Mit strenger CSP starten, zunächst als Report-Only
ausrollen, dann erzwingen. Nonces/Hashes statt 'unsafe-inline'
. Nur nötige Quellen erlauben.
5‑Minuten‑Checkliste
- Basis:
default-src 'self'
(oder'none'
) und Quellen explizit zulassen. - Nonces für Inline‑Skripte/Styles nutzen; keine Wildcards.
- Drittanbieter‑Domains pinnen; ungenutzte Freigaben entfernen.
upgrade-insecure-requests
aktivieren und Mixed‑Content blockieren.- Über
Content-Security-Policy-Report-Only
ausrollen und Verstöße beobachten.