Meer dan 37% van alle websites maakt gebruik van WordPress. Hiermee is dit het meest populaire content management systeem om je website mee te beheren. Door de populariteit van WordPress, is het ook een doelwit van hackers. Zorg er dus voor dat je jouw WordPress website optimaal beveiligt aan de hand van dit stappenplan met 14 tips.
Meest voorkomende WordPress hacks en beveiligingsproblemen
Het doel van een hack is om als beheerder toegang tot jouw WordPress-site te krijgen. Dit doen hackers op de volgende manieren:
- Brute force-aanvallen - WordPress brute force-aanvallen gebruiken de WordPress-inlogpagina om steeds combinaties van gebruikersnaam en wachtwoord in te voeren totdat een succesvolle combinatie is ontdekt.
- File Inclusion Exploits - Deze vinden plaats wanneer kwetsbare code wordt gebruikt om externe bestanden te laden waarmee hackers toegang tot jouw website kunnen krijgen.
- SQL-injecties - WordPress maakt gebruik van de MySQL database om alle data op te slaan. Met geslaagde SQL-injecties krijgt een hacker toegang tot de WordPress-database en alle websitegegevens. Een hacker maakt dan mogelijk een nieuw gebruikersaccount op beheerdersniveau aan waarmee hij vervolgens kan inloggen en volledige toegang te krijgt tot je WordPress-website.
- Cross-Site Scripting (XSS) - Een hacker vindt een manier om een slachtoffer ertoe te brengen webpagina's te laden met onveilige javascript-code. Deze scripts worden geladen zonder medeweten van de bezoeker en worden vervolgens gebruikt om gegevens uit hun browsers te stelen.
- Malware - Dit is code die wordt gebruikt om onbevoegde toegang tot een website te krijgen om gevoelige gegevens te verzamelen. Een gehackte WordPress-site betekent meestal dat er malware is geïnjecteerd in de bestanden van jouw website.
Gelukkig is WordPress te beveiligen zodat je geen slachtoffer wordt van deze hacks. Hieronder 14 tips:
1. Gebruik een betrouwbare hosting leverancier
Vaak start je met een goedkoop hostingpakket op een shared hosting account. Dit betekent dat er een heleboel websites op de webserver staan, waaronder jouw website. Je loopt dan het risico dat andere websites jouw website in gevaar brengen doordat ze op dezelfde server staan. Als je gebruik maakt van een Virtual Private Server (VPS) hosting beperk je dit risisco al meer omdat je jouw website niet deelt met andere websites op de server: je hebt namelijk toegang tot één (virtuele) server.
Daarnaast kan het voorkomen dat jouw website op een server staat van een hosting leverancier die de eigen infrastructuur niet goed beveiligd heeft. Hoe goed jij jouw WordPress website ook hebt beveiligd maakt dan niet uit: je kunt niets doen tegen een slecht beveiligde (server) infrastructuur.
Zorg dus dat je een betrouwbare hosting leverancier uitkiest voor jouw WordPress website. Vraag hiervoor rond bij kennissen naar hun ervaringen of bekijk online reviews.
2. Gebruik de laatste versie van PHP
WordPress maakt gebruik van de programmeertaal PHP, een van de meest populaire programmeertalen ter wereld. Ook hiervan verschijnen regelmatig nieuwe versies en updates. Deze updates kunnen soms oplossingen voor beveiligingslekken bevatten. Zorg dus dat je de laatste versie van PHP op jouw webserver gebruikt.
3. Maak gebruik van HTTPS
Als je gebruik maakt van een SSL-certificaat, stuur je alle pagina’s van jouw WordPress website via een beveiligde HTTPS verbinding naar de browsers van de bezoekers. Dit is een extra beveiligingslaag waardoor hackers minder kans hebben om toegang te krijgen tot jouw website.
Je kunt hiervoor de gratis Let’s Encrypt open source SSL certificaten gebruiken.
4. Update WordPress, thema en plugins regelmatig
Ook WordPress heeft regelmatig (beveiligings)updates van de software. Dit geldt ook voor jouw thema en de plugins die je gebruikt. Zorg dus dat je hiervan de laatste versies gebruikt. Hackers zijn namelijk op zoek naar kwetsbare WordPress versies, thema’s en plugins om zo toegang te krijgen tot websites.
Overigens: let ook op de keuze van het thema en de plugins die je gebruikt. Zorg dat deze van een betrouwbare leverancier komen want er zijn helaas ook gratis thema’s en plugins die voorzien zijn van malware of backdoors.
5. Installeer een WordPress beveiligingsplugin
Een beveiligingsplugin zorgt voor controles van de bestandsintegriteit, betere algemene beveiliging, het beperken van het aantal inlogpogingen, sterke wachtwoordhandhaving, 404-detecties, brute force-bescherming en nog veel meer. Je kunt hiervoor de plugins van Sucuri of iThemes Security gebruiken.
6. Update WordPress secret keys
WordPress-beveiligingssleutels zijn een reeks willekeurige variabelen die de codering van informatie die in de cookies van de gebruiker is opgeslagen, verbetert.
Als je WordPress installeert dan krijgen deze beveiligingssleutels een willekeurige waarde. Als je echter meerdere migraties hebt doorlopen of een site van iemand anders hebt overgenomen, kan het goed zijn om nieuwe WordPress-sleutels te maken.
WordPress heeft een gratis tool die je kunt gebruiken om willekeurige sleutels te genereren. Je kunt je sleutels aanpassen door ze te vervangen in het wp-config.php-bestand.
7. Verberg de WordPress versie
WordPress laat standaard zien welke versie je gebruikt in de broncode van de pagina’s van jouw website. Dit kan echter problemen veroorzaken, aangezien sommige versies van WordPress kwetsbaar zijn voor hacks en hackers doelgericht aanvallen openen op deze versies.
Om je versienummer te verwijderen uit de broncode, wijzig je het functions.php-bestand door de volgende code toe te voegen:
add_filter ('the_generator', '__return_null');
Je kunt dit met de meeste beveiligingsplugins ook uitzetten.
8. Gebruik geen standaard wachtwoorden
Zwakke wachtwoorden zijn één van de grootste bedreigingen voor de beveiliging van een WordPress-site. Zorg dus voor sterke wachtwoorden:
- lengte tussen de 10 en 50 karakters.
- gebruik een combinatie van kleine letters en hoofdletters, symbolen en cijfers.
- gebruik nooit hetzelfde wachtwoord meerdere keren.
- maak gebruik van een wachtwoordmanager om je wachtwoorden op te slaan zoals 1Password, Bitwarden of LastPass.
- maak gebruik van twee factor authenticatie (2FA) als extra beveiligingslaag. Je kunt hiervoor de 2FA plugin gebruiken.
9. Verander de standaard admin gebruikersnaam
Standaard is de gebruikersnaam van het beheerdersaccount van jouw WordPress site 'admin'. Dit is natuurlijk makkelijk te onthouden alleen hiermee heb je wel een extra kwetsbaarheid. Veel hackers gebruiken 'admin' als login omdat hackers hopen dat site-eigenaren deze gebruikersnaam niet heeft aangepast.
Je kunt deze gebruikersnaam veranderen door een nieuwe gebruiker aan te maken die je vervolgens beheerdersrechten geeft. Meld je daarna aan met je nieuwe beheerdersaccount en verwijder het oude standaard admin-account. Met de meeste beveiligingsplugins kun je dit ook aanpassen.
10. Verander de standaard login folder
Om in te loggen in jouw WordPress-website is het standaardadres 'jouwsite.nl/wp-admin'. Door dit zo te laten, kun je mogelijk het doelwit worden van een brute force-aanval om je gebruikersnaam / wachtwoord-combinatie te hacken.
Om dit te voorkomen, kun je de inlog-URL van de beheerder wijzigen of een beveiligingsvraag toevoegen aan de registratie- en inlogpagina. Je kunt dit via een beveiligingsplugin veranderen. Daarnaast is het aan te raden om voor extra beveiliging je eigen IP adres toe te voegen voor toegang tot deze folder.
11. Verander de standaard tabellen in MySQL
De standaard tabellen van WordPress in de MySQL database beginnen allemaal met wp_. Als je dit bij de installatie van een nieuwe WordPress site verandert in bijvoorbeeld 1y7ab_ kan dit al veel veiliger zijn.
Als je WordPress al hebt geïnstalleerd, kun je een beveiligingsplugin gebruiken om de standaard tabellen aan te passen.
12. Gebruik Akismet om spam te vermijden
Op de meest populaire WordPress-websites zijn er veel spamreacties. In deze spamreacties kunnen soms links staan naar onveilige websites. Voor je bezoekers vormt dit een potentieel risico.
Het modereren van deze reacties kan tijdrovend en vervelend zijn. Met behulp van Akismet kun je dit hele proces gelukkig automatiseren.
13. Voeg security headers toe aan je .htaccess file
Het is aan te raden om gebruik te maken van security headers om jouw WordPress website nog beter te beveiligen. Security headers zorgen o.a. voor dat er niet zomaar externe Javascript en Stylesheets ingeladen worden en dat er geen Cross-Site Scripting (XSS) uitgevoerd mag worden.
Hiervoor kun je jouw .htaccess bestand aanpassen. Meer informatie over security headers vind je in ons artikel "Hoe je je website beter beveiligt met security headers".
14. Maak regelmatig backups
Deze tip mag natuurlijk niet ontbreken: mocht je site toch het slachtoffer van een hack zijn geworden, zonder backups kun je alleen maar helemaal opnieuw beginnen. Zorg dus dat je regelmatig backups maakt. Hiervoor kun je de plugins UpdraftPlus, Duplicator of Jetpack gebruiken.