Documentatie
CSP Reports — installatie- en integratiehandleiding
SiteGuardian bevat een ingebouwd ingest-endpoint voor Content-Security-Policy-schendingen en Reporting-API-events. Richt je CSP erop en door de browser gerapporteerde schendingen verschijnen binnen enkele seconden op het dashboard van je monitor.
1. Inschakelen op een monitor
Open op de detailpagina van de monitor het tabblad CSP Reports en klik op Inschakelen. We genereren een nieuwe, met HMAC ondertekende URL en een kant-en-klaar header-snippet.
2. Plak de headers
Het snippet bevat drie headers. Browsers vallen netjes terug — je kunt ze alle drie tegelijk uitrollen.
nginx
add_header Content-Security-Policy "default-src 'self'; report-uri https://reports.siteguardian.io/r/{monitor_id}/{hmac}; report-to sg-csp" always;
add_header Reporting-Endpoints 'sg-csp="https://reports.siteguardian.io/r/{monitor_id}/{hmac}"' always;
add_header Report-To '{"group":"sg-csp","max_age":10886400,"endpoints":[{"url":"https://reports.siteguardian.io/r/{monitor_id}/{hmac}"}]}' always;
Apache
Header always set Content-Security-Policy "default-src 'self'; report-uri https://reports.siteguardian.io/r/{monitor_id}/{hmac}; report-to sg-csp"
Header always set Reporting-Endpoints 'sg-csp="https://reports.siteguardian.io/r/{monitor_id}/{hmac}"'
Header always set Report-To '{"group":"sg-csp","max_age":10886400,"endpoints":[{"url":"https://reports.siteguardian.io/r/{monitor_id}/{hmac}"}]}'
Caddy
header {
Content-Security-Policy "default-src 'self'; report-uri https://reports.siteguardian.io/r/{monitor_id}/{hmac}; report-to sg-csp"
Reporting-Endpoints `sg-csp="https://reports.siteguardian.io/r/{monitor_id}/{hmac}"`
Report-To `{"group":"sg-csp","max_age":10886400,"endpoints":[{"url":"https://reports.siteguardian.io/r/{monitor_id}/{hmac}"}]}`
}
3. Controleer
Laad je site in een echte browser. Binnen enkele seconden toont het tabblad CSP Reports de eerste bucket. Blijft het tabblad leeg, dan bevestigt ook onze volgende headers-scan dit — er verschijnt een groene badge zodra we detecteren dat je CSP ons endpoint adverteert.
Report-Only-modus
Gloednieuwe CSP? Rol hem eerst uit in Report-Only-modus — er wordt niets daadwerkelijk geblokkeerd, maar schendingen worden wel gerapporteerd. Verwissel de headernaam en houd dezelfde directives aan:
Content-Security-Policy-Report-Only: default-src 'self'; report-uri https://reports.siteguardian.io/r/{monitor_id}/{hmac}
Wat we opslaan — en wat niet
- Client-IP's worden gehasht met een dagelijks roterende salt. We bewaren alleen een prefix van 16 tekens.
- Querystrings en fragmenten worden vóór opslag uit elke URL verwijderd.
- User-Agent-strings worden teruggebracht tot een familie (chrome/firefox/safari/edge/opera/other).
- Elke bucket bewaart maximaal 3 ruwe samples en 10 getroffen document-URI's.
- Bewaartermijn: 180 dagen (Compliance), 365 dagen (Enterprise). Daarna vervallen buckets via een TTL-index. CSP-ingest vereist een Compliance-abonnement of hoger.
Rate limits en automatisch pauzeren
nginx hanteert aan de edge een rate limit van 200 req/s per bron-IP. Elke monitor heeft een soft cap van 10.000 meldingen per minuut; drie opeenvolgende minuten boven de cap pauzeert ingest automatisch een uur lang en stuurt de eigenaar van de monitor een e-mail. Het roteren van de endpoint-URL is een one-click noodknop op het tabblad.
Andere rapporttypen
Hetzelfde endpoint accepteert NEL-meldingen (Network Error Logging), Deprecation-, Intervention- en Expect-CT-meldingen van de Reporting API van de browser. Geen extra configuratie nodig — voeg ze simpelweg toe aan je Report-To-groep.
API-endpoints
Programmatische toegang voor dashboards en CI:
POST /api/v1/monitors/{id}/csp-reports/enablePOST /api/v1/monitors/{id}/csp-reports/regeneratePOST /api/v1/monitors/{id}/csp-reports/disableGET /api/v1/monitors/{id}/csp-reports?hours=24GET /api/v1/monitors/{id}/csp-reports/{bucket_id}GET /api/v1/monitors/{id}/csp-reports/trend/hourly?hours=24GET /api/v1/monitors/{id}/csp-reports/recommendations
Klaar om te beginnen?
Maak een gratis account aan →