Met behulp van het Guardian360 platform vinden wij kwetsbaarheden in webapplicaties en dus ook in content management systemen (CMS). Zo nu en dan krijgen wij de vraag welk CMS nu het meest veilige is. Een logische en tegelijkertijd lastige vraag om te beantwoorden. Enerzijds hangt veiligheid namelijk af van het risico dat je wil nemen. Vaak is dit gerelateerd aan de mogelijke schade en de mogelijke impact van een incident, en de kosten die je moet maken om een incident te voorkomen. Anderzijds is het gevaarlijk om uitspraken te doen over wat veilig is. 100% veiligheid bestaat niet en de ontwikkelingen volgen elkaar in hoog tempo op. Daardoor kan iets dat vandaag relatief veilig is, morgen onveilig zijn. In deze bijdrage gaan we in op de zaken die eraan bij kunnen dragen dat je een zo veilig mogelijk CMS implementeert.
Open source
Wanneer een CMS open source is, betekent dit dat de broncode door iedereen bekeken kan worden. Daardoor kan iedereen het zien als er een achterdeurtje of andere onveilige code in het CMS verstopt zit. Bij systemen die niet open source zijn moet je afgaan op de blauwe ogen van de organisatie die het CMS ontwikkeld heeft. Hoewel de meeste CMS leveranciers waarschijnlijk ter goeder trouw zijn, kun je geen programmeerfoutjes ontdekken in die systemen die niet open source zijn.
Grote community
Selecteer een CMS dat door veel mensen gebruikt wordt en waar een grote groep ontwikkelaars aan werkt. Hierdoor vergroot je de kans dat programmeerfouten en andere kwetsbaarheden al door een ander ontdekt zijn. Daarnaast zal een nieuw ontdekte kwetsbaarheid sneller verholpen worden door een grote community, dan bij een CMS waar maar een handjevol ontwikkelaars aan werkt.
Hoeveelheid updates
Wanneer er voor een CMS regelmatig updates worden uitgebracht, dan betekent dit dat er een grote kans is dat kwetsbaarheden tijdens zo’n update verholpen worden. Bij CMS systemen die nauwelijks geupdated worden bestaat de kans dat een kwetsbaarheid lang uitgebuit kan worden.
Zo min mogelijk plugins
Voor de meeste CMS systemen geldt dat zij werken met plug-ins. Onze ervaring is dat plug-ins een CMS onveiliger maken. Eigenlijk geldt voor plug-ins hetzelfde als voor het CMS zelf. Wanneer ze open source zijn, er een grote community aan werkt en er regelmatig updates uitgebracht worden, dan is de kans op kwetsbaarheden relatief laag. Tegelijkertijd is het goed om ernaar te streven om zo min mogelijk plug-ins te installeren, des te minder kwetsbaarheden er geïntroduceerd kunnen worden.
Security headers en content security policy
Bij de selectie van een CMS is het aan te raden om te onderzoeken of de security headers ingesteld kunnen worden. Denk bijvoorbeeld aan headers die het inladen van code van andere websites voorkomen. Ook het gebruik van een content security policy kan de website een stuk veiliger maken. Doordat alleen content van bepaalde domeinen worden goedgekeurd op de webserver, kan voorkomen worden dat kwaadaardige code wordt ingeladen. Om een beeld te krijgen van hoe uw website op deze punten scoort, gebruik dan de Guardian360 Quickscan via https://quickscan.guardian360.eu/nl.
Vermijd standaard installaties
Binnen veel CMS-en is het mogelijk om een aantal standaardinstellingen aan te passen. Denk aan de table prefix, databasenaam en de gebruikersnaam en het wachtwoord voor de database gebruiker. Wanneer de databasenaam een andere naam krijgt en de tabellen in die database een unieke prefix, dan is het voor een hacker lastiger om zijn weg in het CMS te vinden. Uiteraard moeten standaard gebruikersnamen en wachtwoorden altijd direct gewijzigd worden na installatie.
SSL-certificaat
Vanaf 1 januari 2017 gaat Google Chrome websites die alleen via http te benaderen zijn, als onveilig bestempelen. Een SSL-certificaat zorgt ervoor dat het verkeer tussen de website en de bezoeker versleuteld wordt, zodat er geen gegevens buitgemaakt kunnen worden. Denk aan gebruikersnamen en wachtwoorden om in te kunnen loggen op het CMS. Met dit SSL-certificaat wordt de website via https beschikbaar en zal de browser ook een slotje tonen in de adresbalk. Hierdoor zal de website eerder vertrouwd worden.
Veilige hosting
Naast het selecteren van een CMS zal er ook kritisch naar de hostingpartij gekeken moeten worden. Hoe heeft de hostingpartij haar beveiliging geregeld? Zijn er bijvoorbeeld goede firewalls, maatregelen tegen ddos-aanvallen, in informatiebeveiliging gespecialiseerde medewerkers en wordt er proactief gemonitord op kwetsbaarheden en verdacht verkeer? Controleer ook de rechten op de webserver zelf, welke gebruikers krijgen toegang tot de webserver en met welke rechten?