De onderliggende fundering van de Content Security Policy
De content security policy is redelijk technisch. Om dit te begrijpen, leggen we een aantal belangrijke zaken uit. We schetsen een voorbeeld om het makkelijk te maken:
Een websitebezoeker wil naar de homepagina van jouw webshop. Zij typen in de zoekbalk het internetadres en eindigen op de homepagina. Maar hoe zit dit er onder water uit? De browser van de bezoekers stuurt een HTTP request naar de server. Oftewel, het is een verzoek die de bezoeker naar de homepagina navigeert.
In een verzoek zitten verschillende onderdelen, waarvan een request header. Een request header geeft de server informatie over de bezoeker zijn voorkeuren. Je kan denken aan type browser, de cookie-instellingen en taalvoorkeuren. Met deze informatie stuurt de server een HTTP response. Dit wil zeggen dat de bezoeker op de homepagina land met de juiste instellingen en voorkeuren. De HTTP response stuurt dus de HTML-pagina en een response header terug naar de bezoeker. Wat is een response header? De response header geeft informatie hoe de browser jouw data moet behandelen. Maar hier zitten ook content elementen in en de content security policy. En dit artikel gaat over het laatste onderdeel.
Welk probleem lost content security policy op?
De content security policy is een bescherming tegen hackers. En om meer specifiek te zijn, het beschermt tegen Cross-site scripting (XSS).
Wat is cross-site scripting?
Er zijn verschillende manieren hoe hackers aan de slag gaan. Bijvoorbeeld via ransomware of DDOS. Jouw webshop kan volledig beschermd zijn tegen deze verschillende manieren van hacken. Maar zonder de content security policy kan er een XSS-aanval plaatsvinden.
Bij een XSS-aanval injecteert de hacker schadelijke scripts in de content. Deze scripts worden opgenomen in de content van de website. Alleen kan de browser geen onderscheid maken tussen betrouwbare content en de schadelijke script van de hacker.
Waarom is dit een probleem? De scripts krijgen toegang tot bijvoorbeeld cookies en andere informatie die is opgeslagen in de browser. Maar dat is niet het enige probleem. Er kan malware worden geïnstalleerd, sociaal netwerk verstoren of gegevens stelen van gebruikers. Het grootste doelwit van XSS zijn de gebruikers, niet de applicatie zelf.
Hoe werkt de content security policy
De content security policy is in het leven geroepen om XSS te voorkomen. Zoals eerder genoemd staat de content security policy in de response header. Hoe gaat dit proces in zijn werking? De content security policy praat tegen de response header en zegt:” laad alle scripts en resources van deze specifieke en vertrouwde plekken”. Als er bronnen zijn die niet op deze vertrouwde plekken staan, worden ze automatisch geblokkeerd.
Je hebt dus meer controle over welke bronnen je site mogen gebruiken. Hierdoor voorkom je ongewenste scripts en beperk je het risico dat persoonsgegevens lekken. Er zijn verschillende soorten codes onder content security policy die je kunt inzetten. Een goede start is om de report-only mode eerst te gebruiken. Je krijgt hierdoor een lijst met bronnen die worden geblokkeerd.
Wil je hier meer over weten of heb je hulp nodig? Neem gerust contact met ons op.