Skip to main content
Een domein kiezen
Language

CSP Builder

Zet de hosts die cside op je site waarneemt om in een Content-Security-Policy-header die je kunt uitrollen, onder Protection > CSP Builder.

CSP Builder zet de hosts die cside op je site waarneemt om in een Content-Security-Policy-header die je kunt uitrollen. Je vindt het onder Protection > CSP Builder in de sidebar, naast CSP Violations.

Een Content Security Policy met de hand schrijven vraagt dat je elke host kent waarvan je pagina’s laden, inclusief de hosts die je vendors namens jou laden. cside kijkt al naar die loads, dus de builder begint bij wat er echt op je site is gebeurd in plaats van bij een leeg bestand.

Geleidelijke uitrol

CSP Builder wordt geleidelijk uitgerold. Zie je het nog niet in je sidebar, neem dan contact op met support@cside.dev om het voor je team in te schakelen.

cside serveert je policy niet

De builder genereert de header. Hij verstuurt hem nooit voor je en blokkeert nooit iets op je site. Jij kopieert de header naar de configuratie van je eigen server, CDN of framework, en jouw server is wat hem afdwingt.

Een domein kiezen

Als je CSP Builder op teamniveau opent, zie je je domeinen met een kolom Script data. Domeinen met Needs setup hebben nog geen scriptdata, en ze blijven selecteerbaar: die pagina laat zien hoe je het monitoringscript installeert. Selecteer een rij om de builder voor dat domein te openen.

In de builder schakelt het domeinmenu bovenaan tussen domeinen zonder de pagina te verlaten.

De voorgestelde policy

Het blok bovenaan de pagina is het antwoord waarvoor je kwam: de volledige header, live opnieuw opgebouwd terwijl je wijzigingen maakt. Hij bevat twee regels, en je hebt ze allebei nodig:

  • Content-Security-Policy (of Content-Security-Policy-Report-Only), je policy
  • Reporting-Endpoints, waardoor overtredingen in je dashboard terechtkomen

Kopieer ze met de knop naast het blok. Alleen de eerste regel kopieren geeft je een werkende policy die niets terugmeldt aan cside.

Het rapportageadres wordt opgebouwd voor het specifieke domein waarop je zit, en het verschilt naargelang cside dat domein proxyt. Kopieer het altijd van de pagina in plaats van het zelf samen te stellen, anders worden de rapporten verworpen in plaats van verkeerd opgeslagen.

Lange policies worden ingekort tot de eerste regels onder een fade. Selecteer Show om alles te lezen. Kopieren en van modus wisselen werken ook terwijl hij is ingekort.

Eerst report-only, daarna enforce

De schakelaar Report-only / Enforce boven het blok bepaalt welke headernaam je kopieert. De inhoud van de policy is in beide gevallen identiek.

Rol eerst de report-only header uit. Browsers rapporteren dan wat de policy zou hebben geblokkeerd zonder iets te blokkeren, en die rapporten komen binnen in CSP Violations zodat je ziet wat je gemist hebt. Is die weergave eenmaal schoon, kom dan terug, zet hem op Enforce en rol de afdwingende header uit.

Directives beoordelen

cside vult zeven directives op basis van wat het waarneemt: script-src, connect-src, img-src, style-src, frame-src, font-src en media-src. Elke directive krijgt een tab, en je beoordeelt ze een voor een. De telling onder de policy telt altijd de hele header, niet alleen de tab waarop je staat.

Elke tab draagt een markering:

MarkeringWat het betekent
Een stipNog niet beoordeeld. Elke host die cside later op dit domein waarneemt, wordt automatisch toegelaten in deze directive
Een vinkjeBeoordeeld en opgeslagen. De directive ligt vast op de hosts die je hebt goedgekeurd
Grijs, “no data”cside heeft op dit domein geen verkeer van dit type gezien, dus er is niets te beoordelen

Een directive beoordelen is wat voorkomt dat hij nieuwe hosts automatisch toelaat. Daar draait het doorlopen van de tabs om: een niet-beoordeelde directive bouwt zichzelf opnieuw op uit het huidige verkeer, dus een host die volgende maand op je site verschijnt, komt in de header zonder dat iemand hem heeft goedgekeurd. De tab openen en opslaan is genoeg. Je hoeft niets te wijzigen.

Selecteer Save als je klaar bent met een tab. Opslaan verplaatst je niet en behoudt je filter.

Hostgroepen

Binnen een directive worden hosts gegroepeerd op basis van hoe cside ze classificeert, en elke groep heeft een bulkschakelaar in de kop, behalve waar aangegeven.

GroepWat het betekentStandaard aan
First partyJe eigen domeinJa
Known vendorsEen vendor die cside herkent als een groot, gerenommeerd merkJa
Approved by youEen hostname die je team heeft goedgekeurd in Resources InventoryJa
UnvettedAlles wat cside niet kon toewijzen. Dit is de groep waarvoor de beoordeling bestaatJa
Blocked by youJe team heeft deze host geblokkeerdNee
Flagged maliciouscside heeft deze host voor alle klanten geblokkeerdNee

Unvetted, Blocked by you en Flagged malicious hebben geen bulkschakelaar. De meeste hosts op de meeste domeinen belanden in Unvetted, dus een enkele schakelaar zou bijna je hele policy herschrijven zonder dat iemand ernaar keek, en een geblokkeerde of kwaadaardige host weer aanzetten hoort een beslissing te zijn die je host voor host neemt met de waarschuwing voor je.

Een groep inklappen verbergt alleen de rijen. De hosts houden de stand waarin je ze achterliet, tellen nog steeds mee in de telling en gaan nog steeds mee in de opgeslagen policy. Zoeken klapt elke groep uit, dus een host die je zoekt zit nooit verborgen achter een ingeklapte kop.

Alertaantallen naast een host zijn ter informatie. Een alert verandert nooit of een host aanstaat.

*.csidetm.com en *.csidefd.com staan altijd in de policy en kunnen niet worden uitgezet. Een policy die het script van cside zou blokkeren, stopt de monitoring waaruit hij is opgebouwd.

Policy options

Boven de hostlijst schakelt Policy options de bron-keywords die een directive kan dragen. Welke verschijnen hangt af van de directive die je bewerkt:

KeywordWat het doet
'self'Staat resources toe die vanaf je eigen origin worden geserveerd. Standaard aan en beschikbaar op elke directive
'unsafe-inline'Staat inline blokken toe. Alleen aangeboden op style-src, waar inline styles gebruikelijk zijn. Het wordt niet aangeboden op script-src, want inline script toestaan is precies wat een CSP moet tegenhouden
'report-sample'Neemt een fragment van de geblokkeerde code op in elk violation-rapport. Aangeboden op script-src en style-src, waar het helpt te achterhalen wat er is geblokkeerd

Een host toevoegen die cside niet heeft gezien

Selecteer Add a host in de werkbalk boven de lijst om met de hand een hostname toe te voegen. Gebruik dit voor een host waarvan je weet dat je site hem nodig heeft maar die nog niet in het verkeer is verschenen, zoals een vendor die je op het punt staat te lanceren of iets dat alleen laadt op een pagina die cside niet monitort.

Invoer wordt gevalideerd tegen de directive die je bewerkt. Hostnames worden overal geaccepteerd, met een *.-wildcard vooraan als je die nodig hebt. data: en blob: worden alleen geaccepteerd onder img-src, font-src en media-src. Poorten, paden, schema’s en keywords tussen aanhalingstekens worden geweigerd.

Als je al een CSP verstuurt

Wanneer cside een Content-Security-Policy-header op het domein heeft waargenomen, verschijnt er boven de policy een melding met de header die de afgelopen 30 dagen het vaakst is gezien.

Voeg onze policy samen met de jouwe in plaats van je header te vervangen. De builder vult alleen directives die hij met waargenomen verkeer kan onderbouwen, dus een policy die hier wordt gegenereerd zegt niets over frame-ancestors, form-action, base-uri of object-src. Je hele header hierdoor vervangen laat elke directive vallen die je al afdwong en waarvoor wij geen suggestie doen.

De policy in de melding is wat cside heeft waargenomen, niet je serverconfiguratie. Nonces en querystrings worden genormaliseerd naar wildcards, en de header kan afwijken van de echte header van een specifieke pagina. Vergelijk hem dus met je configuratie in plaats van hem te kopieren.

Voordat je uitrolt

  • Rol eerst de report-only header uit en volg CSP Violations voordat je gaat afdwingen
  • Loop elke directive-tab door. De waarschuwing onder de hostlijst vertelt je hoeveel er nog niet beoordeeld zijn en hoeveel hosts daardoor in de header meeliften
  • Kopieer beide regels, de policy en Reporting-Endpoints
  • Voeg hem samen met je bestaande header in plaats van die te vervangen

Gerelateerde pagina’s

  • Je CSP aanpassen: rapportage van CSP-overtredingen, bewaartermijnen en het exporteren van rapporten
  • cside toevoegen aan je CSP: wat je moet aanpassen in een policy die je al beheert zodat het cside-script blijft werken
  • Resource-inventaris: beoordeel en keur hostnames goed. Goedgekeurde hostnames komen hier terecht in de groep Approved by you
Was this page helpful?