Wat is een Content-Security-Policy?
Zonder een Content-Security-Policy laadt een browser alles wat in je HTML staat, ook scripts en afbeeldingen van buiten. Een policy laat je bepalen wat wél mag laden, en van waar.
Een script van buiten draait mee
Zet je een script van een andere dienst op je pagina, dan draait dat met dezelfde rechten als je eigen code. Het kan lezen wat een bezoeker typt, meekijken met wat er op de pagina staat, of de bezoeker omleiden. Wordt die dienst gehackt, of is die dienst zelf kwaadwillend, dan gebeurt dat op jouw pagina, bij jouw bezoekers.
Ook een afbeelding is niet zonder risico
Het hoeft niet eens code te zijn. Haalt je site een afbeelding bij een externe dienst op, dan krijgt die dienst daarbij het IP-adres van je bezoeker en de pagina waarop die zit. Zo ziet die dienst wie jouw site bezoekt, zonder dat er iets zichtbaars gebeurt. En omdat de afbeelding bij die dienst staat, bepaalt die dienst wat erin zit: hij kan hem later vervangen door iets waar je niet mee geassocieerd wilt worden, en dat verschijnt dan op jouw pagina.
Een policy trekt de grens
Met een policy geef je op bij welke bronnen je site onderdelen mag ophalen. De browser houdt zich daaraan en blokkeert de rest. Zo bepaal je zelf wie er meedraait op je pagina, in plaats van dat elke ingesloten dienst dat doet.
Zo stel je er een in
Een strikte policy meteen aanzetten kan je pagina breken, dus je rolt hem in stappen uit. Hoe dat gaat verschilt per platform:
Net als een CSP bepaalt SPF wie er namens jou iets mag. E-mailcontrole: SPF en DMARC