WordPress is verreweg de populairste manier om een website te bouwen. Die populariteit heeft echter een ongelukkig neveneffect. Het maakt het platform een gewild doelwit voor kwaadwillenden van over de hele wereld. En het zou kunnen dat je jezelf daarom afvraagt of WordPress wel veilig genoeg is om deze aanvallen af te slaan.

Eerst maar het slechte nieuws: elk jaar worden honderdduizenden WordPress sites en e-commerce sites gehackt, daarom hebben we een uitgebreide handleiding over e-commerce fraudebestrijding.

Niet best, toch? Nou … het valt gelukkig mee, want er is ook goed nieuws:

Hackers komen niet binnen vanwege kwetsbaarheden in de meest recente software van WordPress core. In plaats daarvan kunnen de meeste sites gehackt worden door problemen die makkelijk voorkomen hadden kunnen worden, zoals het niet bijwerken van bestanden of het gebruik van zwakke wachtwoorden.

Om die reden verdient het antwoord op de vraag of WordPress veilig is enige nuance. Daarom bekijken we de materie vanuit een aantal verschillende invalshoeken:

  • Statistieken over hoe WordPress websites daadwerkelijk worden gehackt, zodat je snapt waar de kwetsbaarheden zich bevinden.
  • Hoe het team achter WordPress core deze beveiligingsproblemen adresseert, zodat je weet wie er verantwoordelijk is voor de beveiliging en wat ze precies aan het beveiligen zijn.
  • Met deze aanbevelingen zorg je dat je WordPress kan beveiligen, waardoor je weet dat je site veilig is.

Hoe WordPress websites worden gehackt (volgens de data)

We weten nu dat er jaarlijks honderdduizenden WordPress websites worden gehackt. Maar, hoe gebeurt dat precies? Is dit een wereldwijd probleem met WordPress? Of wordt het veroorzaakt door het doen en laten – en dan voornamelijk het laatste – van de webmaster?

Dit is waarom de meeste WordPress sites worden gehackt, volgens onze data.

WordPress core wordt niet bijgewerkt

In het Hacked Website Report van Sucuri uit 2017 staat een niet-verrassende correlatie. Van alle gehackte WordPress sites die onderdeel waren van Sucuri’s analyse draaide 39,3% op verouderde WordPress software op het moment van de hack.

Gehackte websites
Gehackte websites (bron: Suruci)

We zien dus meteen al een tamelijk nauwe relatie tussen gehackt worden en gebruikmaken van verouderde software. Dit is echter zeker een verbetering ten opzichte van de 61% uit 2016 👏

Volgens de WPScan Vulnerability Datase heeft ongeveer 74% van de kwetsbaarheden die ze registreren te maken met de de versie van WordPress. Maar hier komt-ie: de versies met de meeste kwetsbaarheden dateren al van WordPress 3.X:

WPScan lijst met bekende beveiligingslekken
WPScan lijst met bekende beveiligingslekken

Helaas draait slechts 62% van de WordPress sites op de meest recente versie, waardoor veel sites onnodig kwetsbaar zijn voor exploits:

Op welke versie draaien WordPress sites?
Op welke versie draaien WordPress sites? (Bron: WordPress.org)

Je kan deze samenhang goed zien bij de grote WordPress REST API-kwetsbaarheid van februari 2017, toen honderdduizenden WordPress websites werden gehackt.

WordPress 4.7.1 bevatte meerdere kwetsbaarheden die uiteindelijk werden gebruikt om die sites te hacken. Het wrange is echter dat – weken voordat de hacks plaatsvonden – WordPress 4.7.2 werd uitgebracht die al deze kwetsbaarheden dichtte.

Alle eigenaren van WordPress sites die automatische beveiligingspatches niet hadden uitgeschakeld of anderszins de update naar 4.7.2 hadden gemaakt, waren veilig. Dat kon niet gezegd worden van degenen die hun site niet op tijd hadden bijgewerkt.

Wat je hiervan moet meenemen: Het beveiligingsteam van WordPress verricht uitstekend werk als het gaat om het snel oplossen van problemen met WordPress core. Als je op tijd alle beveiligingsupdates toepast is het onwaarschijnlijk dat je site problemen ondervindt als gevolg van kwetsbaarheden in WordPress core. Maar als je dat niet doet, loop je een risico zodra een exploit algemeen bekend wordt.

2. Verouderde plugins of thema’s

Een van de dingen die mensen waarderen aan WordPress is de duizelingwekkende hoeveelheid beschikbare plugins en thema’s. Op het moment van schrijven staan er meer dan 56.000 in de WordPress repository en zijn er duizenden premium varianten te vinden op het web.

Hoewel dit allemaal erg goed van pas komt als je je site wil uitbreiden, betekent elke extra extensie ook meteen een mogelijke gateway voor een kwaadwillende. En hoewel de meeste WordPress ontwikkelaars goed werk leveren als het om code gaat en hun best doen om elke update zo snel mogelijk te patchen, zijn er wel een aantal mogelijke issues:

  • Een plugin of thema kan een kwetsbaarheid hebben en, omdat deze door een relatief klein team bijgewerkt wordt, heeft niemand door dat deze kwetsbaarheid bestaat.
  • Een developer kan gestopt zijn het werken aan deze extensie, maar hij kan nog wel gebruikt worden door mensen.
  • Het kan ook zijn dat de developer het probleem snel heeft gepatcht, maar mensen laten het simpelweg na om de update door te voeren.

Hoe groot is dit probleem?

Nou, in een enquête van Wordfence die rondging onder eigenaren van gehackte websites, legde meer dan 60% van de website-eigenaren die wisten hoe de hacker binnenkwam de schuld bij een plugin of thema.

Wordfence gehackte website-enquête
Wordfence gehackte website-enquête (bron: Wordfence)

Uit het rapport van Sucuri uit 2016 bleek iets soortgelijks, slechts 3 plugins konden 15% van de gehackte websites verklaren.

Lijst sucuri met gehackte plug-ins
Lijst sucuri met gehackte plugins

Dit is echter wat je moet weten:

De kwetsbaarheden in die plugins waren allang gepatcht – eigenaars van sites hadden de plugin simpelweg niet bijgewerkt om hun site te beschermen.

Wat je hiervan moet meenemen: WordPress thema’s en -plugins zorgen voor een extra wildcard en de kans bestaat dat ze je site toegankelijk maken voor kwaadwillenden. Een groot deel van dit risico kan echter worden beperkt door de standaardaanbevelingen op te volgen. Werk je extensies bij en installeer alleen extensies van gerenommeerde bronnen.

We willen hier ook even de GPL-sites vermelden die je misschien wel bent tegengekomen, waar je voor een grijpstuiver elk premium WordPress plugin of -thema kan vinden die je maar wil. WordPress is gelicenseerd onder GPL, wat we zonder meer waarderen, maar dit heeft ook een negatieve kant. Soms kom je deze ook wel tegen als ‘nulled plugins‘.

Door plugins te kopen van deze websites vertrouw je erop dat een derde partij de nieuwste updates van de ontwikkelaar bemachtigt en krijg je bovendien geen ondersteuning. De veiligste route is om de plugin updates rechtstreeks van de developer te krijgen. Daarnaast vinden we het ook belangrijk om developers te ondersteunen, zodat ze beloond worden voor hun harde werken!

3. Gecompromitteerde login gegevens voor WordPress, FTP of hosting

Oké, dit is zeker niet een fout van WordPress. Maar een aanzienlijk percentage van de hacks komt doordat hackers WordPress inloggegevens hebben gemachtigd, of de inloggegevens van de hosting of FTP-accounts.

In dezelfde enquête van Wordfence waren brute force-aanvallen verantwoordelijk voor ~16% van de gehackte sites. Ook wachtwoorddiefstal, workstation, phishing en hacken van FTP-accounts droegen allemaal bij aan de lijst.

Je kan de best beveiligde website hebben van Nederland, maar zodra een hacker de spreekwoordelijke sleutel van je voordeur heeft, is het game over.

Op wachtwoordgebied levert WordPress prima werk door automatisch veilige wachtwoorden te genereren, maar het is aan de gebruiker om deze wachtwoorden ook veilig op te slaan en ook voor hosting en FTP veilige wachtwoorden te kiezen.

Wat je hiervan moet meenemen: beveilig je account door de accountgegevens veilig op te bergen, zodat kwaadwillenden niet zomaar naar binnen kunnen. Gebruik en eis van andere gebruikers dat ze voor alle WordPress accounts complexe wachtwoorden gebruiken en beperk het aantal aanmeldingspogingen om brute force-aanvallen te voorkomen (Kinsta managed WordPress hosting doet dit standaard 👍)

Gebruik voor hostingaccounts twee-factor-authenticatie – indien beschikbaar – en bewaar je FTP-wachtwoord nooit in leesbare tekst (zoals sommige FTP-programma’s wel doen).

Als je kan kiezen tussen FTP en SFTP (SSH File Transfer Protocol), gebruik dan altijd SFTP (Leer het verschil tussen FTP en SFTP zodat je begrijpt waarom). Als je host alleen FTP aanbiedt, dan raden we aan om te vragen naar SFTP ondersteuning of over te schakelen naar een host die wel SFTP ondersteunt. Dit zorgt ervoor dat er nooit makkelijk te onderscheppen tekstwachtwoorden of bestandsgegevens worden overgedragen. Hier bij Kinsta maken we voor bestandsoverdrachten uitsluitend gebruik van SFTP.

4. Supplychain-aanvallen

Onlangs zijn er enkele gevallen geweest waarin hackers toegang kregen tot sites door middel van een doordachte truc die ook wel een supplychain-aanval wordt genoemd. Feitelijk komt het op het volgende neer:

  • Een kwaadwillende hacker koopt een populaire en kwalitatief goede plugin van WordPress.org op
  • Vervolgens voegt hij een backdoor toe aan de code van de plugin
  • Hij wacht daarna tot mensen de plugin updaten, waarmee hij de backdoor activeert

Als dit je interesseert, dan kan je bij Wordfence een gedetailleerdere uitleg vinden. Ook al komt dit soort aanvallen niet vaak voor, zijn ze wel moeilijker te voorkomen omdat ze het gevolg zijn van iets dat je zou moeten doen, namelijk het bijhouden van een plugin.

Dat gezegd hebbende, het team van WordPress.org heeft deze problemen vaak snel in de gaten en de plugin zal snel uit de bibliotheek worden verwijderd.

Wat je hiervan moet meenemen: het kan lastig zijn om deze aanval te voorkomen, omdat we aanraden om altijd zo snel mogelijk een plugin bij te werken naar de meest recente versie. Om je te helpen, kunnen beveiligingsplugins zoals WordFence je waarschuwen wanneer een plugin is verwijderd uit WordPress.org, zodat je snel actie kan ondernemen. En een goede back-upstrategie kan je helpen om permanente schade te voorkomen, omdat je altijd je site kan herstellen.

5. Slechte hosting-omgeving en verouderde technologie

Afgezien wat er zich afspeelt op je WordPress site zelf, spelen je hostingomgeving en de bijbehorende technologie ook een rol van betekenis. Ondanks dat PHP7 veel beveiligingsverbeteringen biedt ten opzichte van PHP 5, gebruikt slechts ~33% van de WordPress sites PHP 7 of hoger.

WordPress PHP-gebruik
WordPress PHP-gebruik (bron:  WordPress.org)

De beveiligingsondersteuning van PHP 5.6 is officieel eind 2018 verlopen. En eerdere versies van PHP 5 hebben al jaren geen beveiligingsondersteuning gehad.

Gebruik je dus PHP 5.6 of lager, dan stel je jezelf bloot aan een groot aantal potentiële kwetsbaarheden.

En ondanks dit gegeven gebruikt nog maar liefst ~28% van de WordPress websites een PHP-versie van 5.6 of lager. Dit is een enorm probleem, helemaal als je je bedenkt dat de afgelopen jaren recordjaren waren wat betreft het aantal ontdekte PHP-kwetsbaarheden.

Behalve dat een goede host je toegang geeft tot de laatste technologie, zorgt deze ook voor een goede beveiliging, omdat deze je kan helpen met het automatisch afslaan van aanvallen door middel van:

Wat je hiervan mee moet nemen: als je een veilige hostingomgeving gebruikt in combinatie met de meest recente versies van belangrijke technologie, zoals PHP, zorg je dat je je WordPresssite veilig houdt.

Wie is verantwoordelijk voor de beveiliging van WordPress?

Nu vraag je je misschien af wie er precies verantwoordelijk is voor het bestrijden van alle bovenstaande problemen.

Officieel valt die verantwoordelijkheid bij het WordPress Security Team (hoewel individuele contributors en developers van over de hele wereld ook een rol spelen in het veilig houden van WordPress).

Het WordPress Security Team bestaat uit ’50 experts waaronder hoofdontwikkelaars en beveiligingsonderzoekers’. Ongeveer de helft van deze experts werkt bij Automattic. Anderen werken in webbeveiliging, en het team overlegt ook met beveiligingsonderzoekers en hostingbedrijven.

Als je meer wilt weten over hoe het WordPress Security Team functioneert, kan je kijken naar Aaron Campbell’s 48-minuten durende presentatie die hij hield voor WordCamp Europe 2017. In het algemeen kan je stellen dat het WordPress Security Team:

  • Bugs en potentiële problemen detecteert en oplost, gedeeltelijk met behulp van tools als HackerOne’s bug bounties
  • Een adviserende rol heeft bij kernreleases van WordPress

Het WordPress Security Team heeft een beleid van openbaarheid, wat betekent dat ze elk gevonden en opgelost probleem openbaar maken (dit is een van de redenen waarom zoveel sites er publiekelijk van langs kregen in 2017 – ze hadden de update niet toegepast, zelfs niet nadat het beveiligingsteam publiekelijk waarschuwde voor de bug.

Wat het WordPress Security Team niet doet, is alle thema’s en plugins controleren op WordPress.org. De thema’s en plugins op WordPress.org worden handmatig beoordeeld door vrijwilligers. Maar die beoordeling is “geen garantie dat ze geen beveiligingslekken bevatten.”

Dus – is WordPress veilig als je de best practices volgt?

Als je de data en feiten hierboven beschouwt, kan je een algemene trend waarnemen:

Hoewel geen enkel contentbeheersysteem 100% veilig is, kent WordPress een solide beveiligingsapparaat voor de kernsoftware en worden de meeste hacks veroorzaakt als een direct gevolg van het niet opvolgen van basale beveiligingsmethoden.

Als je het volgende doet…

  • WordPress core, plugins en thema’s bijwerken.
  • Op een verstandige manier plugins en thema’s uitkiezen en alleen extensies installeren van gerenommeerde ontwikkelaars. Oppassen voor GPL-sites en nulled plugins/thema’s.
  • Voor SFTP kiezen als je de keuze moet maken tussen FTP en SFTP.
  • Sterke wachtwoorden gebruiken – niet alleen voor WordPress, maar ook voor je hosting- en SFTP-accounts (en twee-staps authenticatie indien beschikbaar)
  • Niet ‘admin’ gebruiken als gebruikersnaam.
  • Een firewall instellen die voor je site staat. Alle Kinsta sites worden beschermd door onze gratis Cloudflare integratie, waaronder de zeer degelijke firewall met ingebouwde DDoS bescherming. Als je niet wordt gehost door Kinsta, kan het toevoegen van Cloudflare or Sucuri’s WAF je site veiliger maken.
  • Je computer vrijhoudt van virussen.
  • De login URL van je WordPress site wijzigt om bruteforce-aanvallen te verminden.
  • Een TLS-certificaat (HTTPS) gebruiken, zodat alleen communicatie met je WordPress site (zoals inloggen op je dashboard) is gecodeerd. Kinsta biedt gratis HTTPS-certificaten!
  • SSH-sleutels gebruiken. Dit biedt een veiligere manier om in te loggen op een server en maakt een wachtwoord overbodig.
  • Een host kiezen met een veilige omgeving en met de nieuwste technologieën zoals PHP 7+.

… is WordPress veilig en zou je site hackvrij moeten zijn, zowel nu als in de toekomst. En als je klant van Kinsta bent, hoef je je helemaal geen zorgen te maken. Als je site  toch wordt gehackt, repareren wij deze gratis!

Brian Jackson

Brian heeft een enorme passie voor WordPress, gebruikt het al meer dan tien jaar en heeft zelfs al aantal premium plugins ontwikkeld. Brian houdt van bloggen, films en hikes. Kom in contact met Brian op Twitter.