De meest recente versie van Magento 2.3.5. heeft een nieuwe beveiligings functionaliteit geïntroduceerd: De Content Security Policy (CSP). Deze nieuwe functionaliteit is een mooie toevoeging aan de beveiligingsopties die Magento al biedt, en wordt gezien als een best practice voor het beveiligen van je shop. Maar wat is een CSP en waarom moet je het toepassen?
Wat is Content Security Policy (CSP)
Een website bevat (veel) verschillende scripts. Deze scripts zorgen voor extra functionaliteiten in je webshop, zorgen ervoor dat de customer journey op de website gemeten wordt of houden bij hoeveel van je advertenties converteert. Het meten van je website via Google Analytics gaat bijvoorbeeld via een script dat wordt ingeladen.
De meeste scripts worden voor goede doeleinden ingezet. Helaas zijn er ook scripts die je in je webshop moet weren. Een voorbeeld is een script die creditcard gegevens en wachtwoorden doorsluist naar hackers. Deze scripts kunnen alleen geplaatst worden wanneer een hacker toegang heeft verkregen tot de webshop via gelekte admin gegevens of via een exploit in een extensie, het template of een bug in Magento zelf.
De kans dat dit gebeurt is natuurlijk minimaal wanneer je de webshop en extensies goed up-to-date houdt. Echter zijn er voorbeelden uit het verleden van aanvallen die succesvol zijn geweest. De meest bekende aanval is die van de Magecart groep die op grote schaal persoonlijke gegevens wisten door te sluizen via scripts.
Hierbij komt een CSP goed van pas. Een CSP is een regel op de website waarmee je de browser instrueert welke scripts er geladen mogen worden. Scripts die niet in het CSP zijn opgenomen zullen ook niet ingeladen worden door de browser. De CSP is een Last line of defense omdat het script wel al geplaatst is op de website maar simpelweg niet geactiveerd kan worden bij de bezoeker. Je voorkomt hiermee dat data onterecht van je website weggesluisd kan worden. Naast dat een CSP scripts tegenhoudt die niet toegestaan zijn, stuurt het ook een melding wanneer een scripts niet in de CSP is opgenomen. Hierop kan vervolgens snel geacteerd worden om het script zo snel mogelijk te verwijderen.
Wat houdt dit in voor jouw webshop?
CSP’s zijn niet nieuw en wordt al op veel websites toegepast. Echter heeft Magento deze functionaliteit met versie 2.3.5. pas geïntroduceerd en zet dit standaard aan bij het updaten. Standaard staat CSP op report-only modus, dat wil zeggen dat het alleen de scripts die nog niet aan de CSP zijn toegevoegd rapporteert. In je browser console zie je de foutmeldingen terug komen, zie de bijlage voor een voorbeeld van de foutmeldingen. Er wordt verder nog niets geblokkeerd. Logisch, anders zou een deel van je website niet meer werken wanneer de CSP nog niet (goed) is ingericht.