HTTP Content-Security-Policy-Report-Only Header

Der HTTP-Header Content-Security-Policy-Report-Only ist ein Response-Header zur Testung von Content Security Policies ohne deren Durchsetzung. Violations werden gemeldet, aber nicht blockiert. Ideal für risikofreie CSP-Implementierung in produktiven Umgebungen.

Typ

Response-Header

Syntax

Der Header verwendet die gleiche Syntax wie Content-Security-Policy, jedoch ohne Blocking-Verhalten.

http
Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-violations

Direktiven

Der Header unterstützt alle CSP-Direktiven des Content-Security-Policy-Headers.

default-src
Fallback-Quelle für alle Resource-Types. Wird getestet, aber nicht durchgesetzt.
script-src
Definiert erlaubte JavaScript-Quellen zur Testung ohne Ausführungsblockierung.
style-src
Definiert erlaubte CSS-Quellen zur Evaluierung ohne Style-Blockierung.
report-uri
URL zum Empfang von Violation-Reports. Kritisch für die Überwachung potenzieller Policy-Verstöße.
report-to
Moderne Alternative zu report-uri unter Verwendung der Reporting API.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Content-Security-Policy-Report-Only-Header.

Beispiel 1 CSP-Testphase vor Production

http
HTTP/1.1 200 OK
Content-Type: application/json
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' https://cdn.example.com; report-uri /api/csp-violations

{"status":"success","data":{...}}

Dieser Response testet eine restriktive Policy, meldet Violations, blockiert aber keine Ressourcen. Entwickler können so Production-Traffic analysieren bevor die Policy scharf geschaltet wird.

Beispiel 2 Parallele Testing und Enforcement Policy

http
HTTP/1.1 200 OK
Content-Security-Policy: default-src 'self'
Content-Security-Policy-Report-Only: default-src 'none'; script-src 'self'; report-uri /csp-test

<!DOCTYPE html>...

Aktuelle restriktive Policy wird durchgesetzt, während eine noch strengere Policy getestet wird. Ermöglicht schrittweise Verschärfung der Sicherheitsrichtlinien.

Beispiel 3 Migration Legacy API zu Strict CSP

http
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' https://images.cdn.example.com; connect-src 'self' https://api.example.com; report-to csp-endpoint

Report-To: {"group":"csp-endpoint","max_age":86400,"endpoints":[{"url":"/api/csp-reports"}]}

CSP Testing und Migration Flow

CSP Report-Only Testing und Migration Process

Vorteile für die Systemarchitektur

  • Risikofreie CSP-Einführung: Testet Security Policies in Production ohne Ausfallrisiko oder Funktionseinschränkungen
  • Datenbasierte Policy-Entwicklung: Sammelt reale Violation-Daten aus Production-Traffic für informierte Policy-Entscheidungen
  • Schrittweise Migration: Ermöglicht iterative Verschärfung von Security Policies bei gleichzeitiger Überwachung der Auswirkungen

Spezifikation

Content Security Policy Level 3 – W3C Working Draft https://www.w3.org/TR/CSP3/

Weitere Spezifikationen

Content-Security-Policy Header, CSP report-to