← Terug naar Kennisbank
Gepubliceerd: · 8 min leestijd
DoorTekin Uslu·Digitaalnu

WordPress-beveiliging: de checklist uit de officiële hardening-handleiding

De belangrijkste maatregelen voor een veilige WordPress-site zijn: alles actueel houden, ongebruikte plugins verwijderen, sterke wachtwoorden combineren met tweestapsverificatie en iedere gebruiker alleen de rechten geven die nodig zijn. De eerste drie punten komen rechtstreeks uit de hardening-handleiding van WordPress.org; het laatste is ons advies op basis van de rolbeschrijvingen in de WordPress-documentatie. Deze checklist loopt die handleiding af en vertaalt hem naar dingen die je vandaag kunt controleren, zonder dat je er een beveiligingsspecialist voor hoeft te zijn.

Via welke wegen worden WordPress-sites aangevallen?

Eerst: waar komen aanvallen vandaan? De handleiding noemt twee veelvoorkomende categorieën. De eerste is brute-force wachtwoord raden om toegang te krijgen. De tweede is het versturen van speciaal samengestelde HTTP-verzoeken naar je server die kwetsbaarheden misbruiken, waaronder verouderde plugins en software. De eerste vang je op met sterke toegang en tweestapsverificatie, de tweede met bijwerken en minder plugins. Alles wat hieronder staat past in een van die twee vakjes.

Het belang van bijwerken is niet te overschatten. Volgens de handleiding krijgen oudere WordPress-versies geen beveiligingsupdates. Daarbij is de informatie om een kwetsbaarheid te misbruiken vrijwel zeker openbaar zodra er een nieuwe versie uitkomt. Wie niet bijwerkt, geeft aanvallers dus een gebruiksaanwijzing. Hoe je dat veilig doet, met een back-up en een test op een kopie, staat in ons artikel over WordPress-updates veilig uitvoeren.

Welke gebruikers en rollen heb je nodig?

Dan de gebruikers. De WordPress-documentatie beschrijft onder meer deze rollen, die je moet kennen om te begrijpen wie waarvoor mag inloggen. Een Administrator heeft volgens WordPress.org toegang tot alle beheerfuncties binnen een enkele site. Een Editor kan berichten publiceren en beheren, ook die van andere gebruikers. Een Author kan alleen eigen berichten publiceren en beheren. Een Subscriber kan alleen het eigen profiel beheren. Ons advies is eenvoudig: geef iedereen de laagste rol waarmee diegene zijn werk kan doen.

Waarom telt dat zo zwaar? De handleiding waarschuwt dat iemand die toegang krijgt tot een beheerdersaccount kwaadaardige scripts kan installeren die de hele server in gevaar kunnen brengen. Hoe meer beheerders, hoe groter de kans dat één wachtwoord lekt. Loop je gebruikerslijst dus na: wie is beheerder, wie heeft die rol echt nodig, en welke accounts van oud-medewerkers en vroegere bureaus staan er nog? Een account dat niemand meer gebruikt is een open deur die niemand bewaakt.

Let bij het aanmaken van een beheerdersaccount op de naam. De handleiding raadt af om makkelijk te raden gebruikersnamen als "admin" of "webmaster" te gebruiken, omdat die als eerste worden aangevallen. Kies een gebruikersnaam die niet voor de hand ligt en maak een apart beheeraccount voor wie dat nodig heeft, in plaats van één gedeeld account. Een gedeeld account maakt achteraf onzichtbaar wie wat heeft gedaan, en het wachtwoord rolt bij elke personeelswissel mee.

Hoe beveilig je het inloggen?

Het inlogscherm is de voordeur van je site. WordPress.org raadt naast een sterk wachtwoord aan om tweestapsverificatie in te schakelen. De handleiding over meerfactorauthenticatie legt uit dat dit een systeem is waarbij je twee van de drie mogelijke factoren gebruikt om je identiteit te bewijzen, in plaats van één. In de praktijk is dat je wachtwoord plus iets wat je bezit, zoals een code uit een app. Zet het in voor alle beheerders en voor iedereen die publiceert. Gebruik per persoon en per site een uniek wachtwoord, bij voorkeur uit een wachtwoordmanager.

Een extra laag rond het beheergebied is mogelijk op serverniveau. De handleiding noemt server-side wachtwoordbeveiliging, bijvoorbeeld BasicAuth, op /wp-admin/ als een tweede beschermlaag rond het beheergebied, het inlogscherm en de bestanden. Dat is een maatregel voor wie de serverinstellingen kan aanpassen, bijvoorbeeld bij managed hosting, en niet iets wat je zomaar via een plugin regelt. Test na het instellen altijd of de site voor normale bezoekers nog werkt, inclusief je formulieren en, bij een shop, de afrekenstap.

Hoe houd je plugins en thema’s veilig?

Plugins en thema’s verdienen extra aandacht, en de handleiding is hier duidelijk. Zorg dat je plugins altijd up-to-date zijn en verwijder een plugin die je niet gebruikt van het systeem. Haal plugins en thema’s niet uit onbetrouwbare bronnen: beperk je tot de WordPress.org-repository of bekende bedrijven. Een uitgeschakelde plugin die nog op de server staat, kan nog steeds een kwetsbaarheid bevatten. Hoe je een plugin beoordeelt voordat je hem installeert, lees je in ons artikel over plugins kiezen en beheren.

Een instelling die weinig mensen kennen: standaard kunnen beheerders in het WordPress-dashboard PHP-bestanden van plugins en thema’s bewerken. Volgens de handleiding is dat in veel gevallen het eerste gereedschap van een aanvaller die kan inloggen, omdat het code-uitvoering mogelijk maakt. WordPress heeft een constante om het bewerken van bestanden vanuit het dashboard uit te zetten. Ons advies: gebruik je die functie niet, zet hem dan uit. Je laat een ontwikkelaar of beheerder wijzigingen via een kopie doorvoeren in plaats van live in het dashboard.

Welke serverinstellingen helpen mee?

Bestanden kopiëren naar de server doe je liever via SFTP dan via gewone FTP. De handleiding legt uit dat SFTP werkt zoals FTP, maar dat je wachtwoord en andere data tijdens het versturen worden versleuteld. Gebruik ook voor de rechten op de server de lijn die de handleiding trekt: voor het beheergebied /wp-admin/ geldt dat de bestanden alleen schrijfbaar moeten zijn voor je eigen gebruikersaccount. Hoe je dat instelt, hangt af van je hosting. Vraag het je host als je het niet zeker weet.

Vergeet het menselijke deel niet. Schakel een medewerker die vertrekt meteen uit, gebruik geen gedeelde wachtwoorden en wees terughoudend met het installeren van "gratis" varianten van betaalde plugins. Een goed onderhoudsproces vangt dit op omdat iemand er structureel naar kijkt. Dat is het verschil tussen een checklist die je eenmalig afvinkt en een site die ook over een jaar nog veilig is. Beveiliging is geen toestand die je bereikt, maar een gewoonte die je volhoudt, net als back-ups maken of de boekhouding bijwerken. Wie dat structureel inplant, hoeft zich bij een melding over een nieuw gat niet af te vragen of zijn site geraakt wordt. Daarom maakt Digitaalnu dit onderdeel van WordPress-onderhoud, vanaf €45 per maand.

Wat doe je als het toch misgaat?

Kijk ook naar de tekenen dat er iets mis is. WordPress.org noemt ongeautoriseerd gedrag, zoals het aanmaken van nieuwe gebruikers, als teken van een hack. Zie je een beheerder die je niet kent, dan werk je niet met een checklist maar met een incident. Het stappenplan voor een WordPress gehackt-situatie staat in een eigen artikel, en WordPress-hulp helpt als je liever hebt dat iemand meekijkt, vanaf €95 per storing.

Print deze checklist niet uit om hem te vergeten: plan in je agenda een vast moment om gebruikers, plugins en updates na te lopen, en leg vast wie dat doet. Loop daarbij dezelfde vragen langs: wie heeft beheerrechten, welke plugins zijn ongebruikt, is alles bijgewerkt en is tweestapsverificatie overal aan. Zo blijft beveiliging een gewoonte in plaats van een eenmalige actie, en hoef je bij een melding over een nieuw gat niet te twijfelen of je site geraakt wordt.

Startprijzen van Digitaalnu
DienstVanafDoorlooptijd
Website voor vakmensen€750 per project2 weken
Webshop op maat€2.500 per projectongeveer 6 weken
Webapplicatie of maatwerk software€2.000 per projectongeveer 6 weken
Mobiele app€5.000 per projectongeveer 6 weken
WordPress-onderhoud€45 per maanddoorlopend
Managed hosting€25 per maanddoorlopend

Vaste prijs vooraf, geen maximumbedrag: de definitieve prijs volgt na een gratis intakegesprek.

Laatst bijgewerkt op

Veelgestelde vragen

Hoe beveilig ik mijn WordPress-site het beste?

Begin met bijwerken: houd WordPress, thema en plugins actueel en verwijder wat je niet gebruikt. Gebruik daarna sterke wachtwoorden met tweestapsverificatie, geef iedereen alleen de rol die nodig is en haal plugins alleen uit betrouwbare bronnen. Op het rollenadvies na komen deze punten uit de hardening-handleiding van WordPress.org.

Wat is tweestapsverificatie en moet ik het aanzetten?

WordPress.org omschrijft het als een systeem waarbij je twee van de drie mogelijke factoren gebruikt om je identiteit te bewijzen, in plaats van één. De hardening-handleiding raadt aan het naast een sterk wachtwoord in te schakelen. Zeker voor beheerders is het een verstandige extra drempel.

Welke gebruikersrol geef ik een medewerker?

De laagste rol waarmee diegene zijn werk kan doen. Een Editor kan berichten van alle gebruikers publiceren en beheren, een Author alleen eigen berichten, een Subscriber alleen het eigen profiel. Een Administrator heeft toegang tot alle beheerfuncties van de site en hoort bij zo min mogelijk mensen.

Is een beveiligingsplugin genoeg?

Nee. Een beveiligingsplugin kan helpen, maar de basis blijft bijwerken, sterke toegang en minder plugins. De handleiding van WordPress.org beschrijft vooral die basismaatregelen. Een plugin die zelf verouderd is, vergroot bovendien het risico in plaats van het te verkleinen.

Wat doe ik als mijn site is gehackt?

Documenteer eerst wat je ziet en maak een snapshot, wijzig daarna alle toegangspunten en vernieuw de geheime sleutels in wp-config. Zo log je ook actieve sessies uit. Het hele stappenplan staat in ons artikel over een gehackte WordPress-site in de eerste 24 uur.

Waar dit op gebaseerd is

  1. WordPress.org (Developer Resources): Hardening WordPress – Advanced Administration Handbook | Developer.WordPress.org, geraadpleegd op
    “Older versions of WordPress are not maintained with security updates.”
    “If a vulnerability is discovered in WordPress and a new version is released to address the issue, the information required to exploit the vulnerability is almost certainly in the public domain.”
    “In addition to using a strong password, it’s a good idea to enable two-step authentication as an additional security measure.”
    “A hacker who gains access to your administrator account is able to install malicious scripts that can potentially compromise your entire server.”
    “First of all, make sure your plugins are always updated. Also, if you are not using a specific plugin, delete it from the system.”
    “Do not get plugins/themes from untrusted sources. Restrict yourself to the WordPress.org repository or well known companies.”
    “Using SFTP is the same as FTP, except your password and other data is encrypted as it is transmitted between your computer and your website.”
    “The WordPress Dashboard by default allows administrators to edit PHP files, such as plugin and theme files. This is often the first tool an attacker will use if able to login, since it allows code execution.”
    “When creating an administrative account, avoid easily guessed terms such as admin or webmaster as usernames because they are typically subject to attacks first.”
    “Adding server-side password protection (such as BasicAuth) to /wp-admin/ adds a second layer of protection around your blog’s admin area, the login screen, and your files.”
    “WordPress has a constant to disable editing from Dashboard.”
    “Attempting to gain access to your blog by using “brute-force” password guessing.”
    “Sending specially-crafted HTTP requests to your server with specific exploit payloads for specific vulnerabilities. These include old/outdated plugins and software.”
    “The WordPress administration area: all files should be writable only by your user account.”
  2. WordPress.org (Developer Resources): Two Step Authentication – Advanced Administration Handbook | Developer.WordPress.org, geraadpleegd op
    “Two-step authentication, by definition, is a system where you use two of the three possible factors to prove your identity, instead of just one.”
  3. WordPress.org: Roles and Capabilities – Documentation – WordPress.org, geraadpleegd op
    “Administrator (slug: ‘administrator’) – somebody who has access to all the administration features within a single site.”
    “Editor (slug: ‘editor’) – somebody who can publish and manage posts including the posts of other users.”
    “Author (slug: ‘author’) – somebody who can publish and manage their own posts.”
    “Subscriber (slug: ‘subscriber’) – somebody who can only manage their profile.”
  4. WordPress.org: FAQ My site was hacked – Documentation – WordPress.org, geraadpleegd op
    “Notice behavior that was not authorized (i.e., creation of new users, etc…)”
    “Remember that this includes changing all access points. When we say access points we mean things like FTP / SFTP, WP-ADMIN, CPANEL (or any other administrator panel you use with your host) and MYSQL.”
    “You also want to clear any users that might be actively logged into WordPress. You do this by updating the secret keys in wp-config.”
    “Regardless, before you move into the next phase of cleaning, it is recommended you take one more snapshot of the environment.”
    “The first actionable step you should take post-compromise is documentation.”

Over de auteur

Tekin Uslu is oprichter van Digitaalnu en van moederbedrijf DigiHand (Haarlem, sinds 2009). Hij werkt sinds 2006 in data engineering, geo-informatie en IT-architectuur. Meer over Tekin Uslu →

Wil je hier meer over weten?

Neem contact op voor een vrijblijvend gesprek of bekijk onze diensten.

Plan een gratis gesprekBekijk WordPress-onderhoud →