check.uk.app

CSP mit Report-Only einführen: ein praktischer Ablauf

Verstöße beobachten, wichtige Abläufe testen und nur die geprüfte Richtlinie durchsetzen.

Technisches Team von check.uk.app · Geprüft am 26. September 2026

In einer Testumgebung beginnen

Sichern Sie die aktuellen Antwortheader und die Proxy-Konfiguration. Listen Sie die Origins für Anmeldung, Zahlungen, CAPTCHA, Schriftarten und Analyse auf. Behalten Sie die bereits durchgesetzte CSP bei: Eine Beobachtungsrichtlinie ersetzt oder lockert sie nicht. Planen Sie eine Rücknahme, bevor Sie den Header ändern.

Eine Testrichtlinie in Nginx ergänzen

Platzieren Sie diese Direktive im passenden server- oder location-Block der Testwebsite. Sie ist ein restriktives Beobachtungsbeispiel, keine fertige Produktionsrichtlinie. Sie erlaubt Quellen derselben Origin und meldet Inline-Skripte sowie externe Quellen, blockiert sie aber nicht selbst.

Der Parameter always schließt Fehlerantworten ein. In Nginx 1.26.3 verhindert add_header in einer verschachtelten location die Vererbung übergeordneter add_header-Direktiven. Bewahren Sie bestehende Sicherheitsheader und prüfen Sie jede betroffene Route. Fügen Sie nicht blind eine zweite Kopie eines Headers hinzu, den bereits die Anwendung liefert.

add_header Content-Security-Policy-Report-Only "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'" always;

Eine echte Antwort und das Browserverhalten prüfen

Führen Sie vor dem Neuladen des Dienstes nginx -t für Ihre Installation aus. Öffnen Sie die Testseite mit den Entwicklertools: Prüfen Sie, ob die Antwort Content-Security-Policy-Report-Only enthält, und beobachten Sie die Konsole bei der Nutzung. Dieses Beispiel dient zur Beobachtung im Browser und richtet keine serverseitige Berichtssammlung ein.

Zum Sammeln benötigen Sie einen funktionierenden HTTPS-Endpunkt sowie Reporting-Endpoints zusammen mit report-to. Das ältere report-uri hat eine andere Datensemantik und Kompatibilität. Begrenzen Sie die Datenmenge und die Aufbewahrung: Berichts-URLs können Nutzerdaten enthalten. Senden Sie keine Berichte an eine Beispieladresse.

Einen kontrollierten Vorher-nachher-Test verwenden

Unser isolierter Test verwendet ein externes Skript derselben Origin und ein Inline-Skript. Mit diesem Report-Only-Header laufen beide; der Inline-Verstoß wird gemeldet. Wird dieselbe Richtlinie über Content-Security-Policy durchgesetzt, läuft das externe Skript, während das Inline-Skript blockiert wird. Testen Sie Ihre eigenen Seiten: Dieses Beispiel zertifiziert keine Drittanbieterintegrationen.

Erlauben Sie jede erforderliche Quelle bewusst. Verwenden Sie für notwendigen Inline-Code von der Anwendung erzeugte Nonces oder geprüfte Hashes statt weitreichender unsafe-inline-Freigaben. Eine Nonce muss unvorhersehbar sein und für jede Antwort neu erzeugt werden; ein kopierter fester Wert ist keine Lösung.

Schrittweise durchsetzen und die Rücknahme prüfen

Wenn repräsentative Nutzerabläufe funktionieren, übertragen Sie die geprüfte Richtlinie zunächst in der Testumgebung in den durchgesetzten Header. Prüfen Sie Anmeldung, Wiederherstellung, Bezahlung, Einbettungen und Fehlerseiten erneut. Mehrere durchgesetzte Richtlinien kombinieren Einschränkungen; ein neuer Header kann einen bestehenden nicht lockern. Stellen Sie die gesicherte Konfiguration wieder her, wenn benötigte Abläufe ausfallen.

check.uk.app untersucht zurückgegebene Header und führt die Anwendung nicht aus, um die CSP-Abdeckung zu prüfen. Testumgebung: Nginx 1.26.3 und Chromium-basierter Microsoft Edge, 26. September 2026. Für dieses Beispiel wurde keine Produktions-CSP geändert.

Quellen

Website prüfenAlle Anleitungen

Ein Name für deine nächste Idee

Gib deiner Website, deinem Heimserver oder deinem nächsten Projekt eine einprägsame Adresse: yourname.uk.app. Wähle einen Namen und prüfe die Verfügbarkeit vor der Registrierung.

Finde deinen Namen

Partner