Hopp til innhold
SilktideHjelp

Content Security Policy

Silktide kontrollerer at hver side erklærer en Content Security Policy, et standard sikkerhetstiltak som forteller nettlesere hvilke kilder til skript, bilder og annet innhold siden har tillatelse til å bruke.

En Content Security Policy (CSP) leveres som en eller en metatagg, for eksempel:

Content-Security-Policy: default-src 'self'; script-src 'self' scripts.example.com

Dette eksempelet forteller nettleseren å laste innhold bare fra ditt eget domene, samt skript fra én klarert vert.

Hvorfor dette er viktig

Uten en CSP kjører en side hva enn den blir gitt. Hvis en angriper klarer å injisere et skript – gjennom en kompromittert tredjepartstagg, et sårbart kommentarfelt eller et kapret annonsenettverk – kjører nettleseren det med full tilgang til siden, inkludert alt de besøkende skriver inn. Denne typen angrep, skriptangrep på tvers av nettsteder, er fortsatt en av de vanligste måtene nettsteder blir kompromittert på.

En CSP er sikkerhetsnettet på nettlesersiden: injisert innhold fra en ikke godkjent kilde lastes ganske enkelt ikke inn. Den dokumenterer også hvilke tredjeparter sidene dine kommuniserer med, noe som er nyttig når du skal demonstrere samsvar med personvernforordninger som .

Slik løser du det

  1. List opp de legitime kildene sidene dine laster innhold fra: ditt eget domene, din , Analytics, skrifttyper og innebygde medier.
  2. Skriv en policy som bare tillater disse kildene. Start strengt, for eksempel default-src 'self', og legg til spesifikke kilder per innholdstype (script-src, img-src, style-src) etter behov.
  3. Konfigurer webserveren, vertsplattformen eller CDN-en din til å sende policyen som Content-Security-Policy-header på hver side. Hvis du ikke kan endre headere, fungerer også en <meta http-equiv="Content-Security-Policy">-tagg i sidens head, selv om headeren foretrekkes.
  4. Test før du håndhever policyen: send policyen som Content-Security-Policy-Report-Only først, og følg med i nettleserens konsoll etter innhold som ville ha blitt blokkert. Merk at denne kontrollen ser etter headeren som håndhever policyen, så en report-only- policy består ikke kontrollen.

Slik tester Silktide dette

  1. Last inn hver side og samle inn HTTP-headerne sammen med eventuelle http-equiv-metatagger på siden, som nettlesere behandler på samme måte.
  2. Se etter en Content-Security-Policy-verdi ett av stedene.
  3. Rapporter siden hvis ingen av delene finnes, eller hvis verdien er tom.
  4. Silktide vurderer ikke kvaliteten på policyen – bare at det finnes en.

Feilsøking

Jeg har angitt en policy, men kontrollen mislykkes fortsatt

Bekreft at headeren vises på de nøyaktige sidene som skannes – policyer er noen ganger bare konfigurert for hjemmesiden eller én virtuell vert. Du kan se headerne en side returnerer, i nettleserens utviklerverktøy under Nettverk-fanen.

Vil en CSP ødelegge nettstedet mitt?

En policy som er for streng, kan blokkere dine egne skript eller stiler. Det er derfor det på det sterkeste anbefales å teste med Content-Security-Policy-Report-Only først – den rapporterer brudd uten å blokkere noe.

Les mer

Sist oppdatert

Var denne siden nyttig?