Handleiding
Voordat je begint
Voordat je begint moet je de gewenste site instellen op de endpoint van deze website, hierin is beschreven hoe je dat doet.
1.
Eerst moet je de config van de gewenste site er bij halen, hierin moet je het volgende instellen:
<add name="Content-Security-Policy-Report-Only" value="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; font-src (Url van de betreffende website); report-uri https://csp-portal.bitwise.nl/ReportingEndpoint; report-to csp-endpoint" />
<add name="Reporting-Endpoints" value="csp-endpoint="https://csp-portal.bitwise.nl/ReportingEndpoint"" />
Beide kopiëren:
<add name="Content-Security-Policy-Report-Only" value="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; font-src (Url van de betreffende website); report-uri https://csp-portal.bitwise.nl/ReportingEndpoint; report-to csp-endpoint" />
<add name="Reporting-Endpoints" value="csp-endpoint="https://csp-portal.bitwise.nl/ReportingEndpoint"" />
Dan zou de config er als volgt uit moeten zien (Uitgaand van config die alleen CSP rapporten verstuurt):
<customHeaders>
<add name="Content-Security-Policy-Report-Only" value="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; font-src (Url van de betreffende website); report-uri https://csp-portal.bitwise.nl/ReportingEndpoint; report-to csp-endpoint" />
<add name="Reporting-Endpoints" value="csp-endpoint="https://csp-portal.bitwise.nl/ReportingEndpoint"" />
</customHeaders>
Als Report-To niet werkt kan het er aan liggen dat je niet verstuurt vanuit een HTTPS pagina, als je wel verstuurd vanuit een HTTPS pagina, probeer het dan opnieuw in een incognito venster. Ook is het belangrijk dat je niet Internet Explorer gebruikt maar een modernere browser.
2.
Vervolgens kun je de ontwikkelaarstools openen en controleren of het rapporteren goed is uitgevoerd. Je kunt dit doen via de Reporting API (Report-To) als deze is ingesteld, of via het Network-tab als Report-Uri is ingesteld.
report-uri:
report-to:
Stap 1
Zodra je de gewenste site hebt ingesteld en de applicate opstart, kun je een lijst zien met alle sites die als eindpunt deze applicate hebben bij het rapporteren. Hier kun je de huidige policy zien die gedetecteerd is en deze kan je bewerken door op "Openen" te klikken. Je kan bovenaan ook de website die meest recent gerapporteerd heeft zien.
Stap 2
Wanneer je op "Openen" klikt, zie je een lijst met de domeinen die onze ingestelde CSP blokkeert. Wanneer je op "Toestaan" klikt bij een specifieke rij, verdwijnt die rij en wordt ze verplaatst naar een aparte lijst. De applicatie genereert een nieuwe policy afhankelijk van wat je toestaat. Als je op "Blokkeren" klikt, wordt ook die specifieke rij verplaatst naar een aparte lijst maar dan met alle geblokkeerde domeinen.
Stap 3
Als je tevreden bent met de policy, kun je op "Opslaan" klikken. Hiermee wordt de gegenereerde policy opgeslagen in de database.
Stap 4
Als laatste kun je de policy echt toepassen door de nieuwe gegenereerde policy te kopiëren en in de config van de betreffende site plaatsen.
Plakken in de web.config en vervangen met de regel die je op het begin hebt geplaatst, zo kan je binnen de devtools zien of de bronnen die nog vermeldt worden degene zijn die je wilt blijven blokkeren:
Als je zeker weet dat alle bronnen die je wilt blijven blokkeren nog vermeld worden, en de bronnen die je hebt toegestaan niet (en als je zeker weet dat de geblokkeerde bronnen niets kapot zullen maken), dan kun je de Report-Only, report-to en report-uri uit de header weghalen. Als er al een andere CSP is toegevoegd voordat deze applicatie werd gebruikt, kun je deze na de default-src plaatsen met een ";" erachter. CSP zal nooit werken met twee CSP-headers tegelijk; alleen een CSP en een CSP-Report-Only kunnen samen worden gebruikt.
Nu ben je klaar met het genereren van de policy, en zal deze site een door jou genereerde policy hebben.
Optionele stap
Als je een policy getest hebt, en dan weer verder wil met alleen de rapporten de nieuwe gegenereerde policy blokkeert, dan moet je als eerst de policy opslaan in de database (Stap 3), daarna kan je op de "Rapporten verwijderen" knop klikken:
Vervolgens kan je jouw site weer opnieuw laten rapporteren, dan zie je de rapporten die je al toegestaan hebt, en jouw opgeslagen policy in de database. Onder de "Policy uit database" staat een knop waardoor je verder kan genereren met de policy die je al had:
Je kan nu je header nog verder genereren, zonder de rapporten te hoeven zien die je al had toegestaan.
Bijzondere knoppen
De reset knop:
Deze knop zet alles terug naar de normale tabel, dus alles wat je hebt toegestaan (of geblokkeerd, afhankelijk van bij welke tabel je op de knop klikt) of wordt ongedaan gemaakt.
De verwijderen knop:
Deze knop zal in individuele rapporten terugzetten naar de normale tabel.
De link openen knop:
Via deze knop kan je het betreffende domein wat er naast staat openen in een nieuw tab.
De kopiëren knop:
Deze knop kopieert de betreffende regel die er naast staat naar het klembord.