Een installatiebedrijf uit Goes belde me in februari. Hun site stond vol spamlinks naar een goksite. De oorzaak was geen ingewikkelde exploit. Er stonden zeven beheerdersaccounts in WordPress, waarvan vier van oud-medewerkers. Tweefactor stond nergens aan. Het herstel kostte geld. De preventie had nul euro gekost. Dat is precies het punt: gratis website beveiliging mkb is geen tweederangs oplossing.
Alles hieronder zit al in WordPress of in je browser. Je hebt er geen jaarlijkse licentie voor nodig. Samen kost het je ongeveer een uur. Daarna ben je een stuk minder interessant voor de scanners die automatisch het hele internet aflopen.

1. Zet tweefactor aan op elk beheerdersaccount
Begin hier. Van alle stappen in dit stuk levert deze het meeste op per minuut. Een gelekt wachtwoord is dan niet genoeg meer om binnen te komen. De aanvaller heeft ook de code van je telefoon nodig.
De plugin Two Factor wordt onderhouden door mensen uit het WordPress-kernteam en kost niets. WP 2FA van Melapress is een goed alternatief als je het voor meerdere gebruikers wilt afdwingen. Beide werken met een gewone authenticator-app.
Doe het voor iedereen met beheerdersrechten, niet alleen voor jezelf. Print de back-upcodes en leg ze ergens fysiek neer. Ik heb te vaak meegemaakt dat iemand zijn telefoon verving en daarna zijn eigen site niet meer in kwam. Reken op tien minuten per account.
De controle is simpel. Log uit en log opnieuw in met een tweede browser. Word je alleen om een wachtwoord gevraagd, dan staat het uit voor dat account. Doe die test ook voor accounts die je zelden gebruikt.
Meer detail staat in mijn stuk over twee factor authenticatie in WordPress instellen.
2. Stop met wachtwoorden hergebruiken
Het wachtwoord van je site is vaak niet via je site gelekt. Het is gelekt bij een forum waar je in 2016 een account maakte. Aanvallers proberen die combinaties daarna overal.
Een wachtwoordmanager lost dit op. Bitwarden heeft een gratis laag die voor een eenmanszaak prima volstaat. De browser van je telefoon en laptop kan het ook. Welke je kiest maakt me eerlijk gezegd niet uit. Dat je stopt met hergebruiken wel.
Genereer voor je site een nieuw wachtwoord van minstens twintig tekens. Je hoeft het nooit meer te onthouden. Doe daarna hetzelfde voor je hostingpaneel en je domeinregistrar. Die twee zijn belangrijker dan je site zelf, want daar kan iemand je domein wegkapen.
De controle duurt een minuut. Zoek je zakelijke mailadres op bij Have I Been Pwned. Staat het in een oud datalek, en gebruik je dat wachtwoord nog ergens, dan is dat je eerste klus.
3. Haal beheerdersrechten weg bij wie ze niet nodig heeft
Kijk in Gebruikers hoeveel beheerders je hebt. Bij de meeste mkb-sites die ik open zijn dat er drie tot acht. Eén of twee is genoeg.
WordPress kent zes standaardrollen, waarvan er vijf op een gewone site zichtbaar zijn; de zesde, Supergebruiker, bestaat alleen in een multisite. Een tekstschrijver heeft genoeg aan Auteur. Iemand die alleen pagina’s redigeert heeft genoeg aan Redacteur. Wat elke rol precies mag staat in de officiële documentatie over rollen en rechten.
Dit is geen wantrouwen richting je team. Het is risicospreiding. Een beheerder kan plugins installeren, en dus ook per ongeluk een besmette plugin installeren. Een redacteur kan dat niet. Verlaag rollen waar het kan. Dat duurt vijf minuten en het kost niets.
Vraag je hosting of webbouwer ook of hun account nog beheerder moet zijn. De uitzondering: een externe bouwer die nu aan je site werkt, heeft die rechten tijdelijk nodig. Zet er dan een einddatum op in je agenda. Rechten die “even” blijven staan, blijven jaren staan.

4. Verwijder accounts van mensen die weg zijn
Dit is de saaiste tip en tegelijk de tip die bij mijn klant in Goes het probleem was. Oud-medewerkers houden hun account. Stagiairs houden hun account. De bouwer van drie jaar geleden houdt zijn account.
Zo’n account krijgt geen updates, geen tweefactor en geen aandacht. Het wachtwoord staat waarschijnlijk nog in een oude mail. Dat is een open deur met een matje ervoor.
Ga de lijst één keer langs. Verwijder wie er niet meer werkt. WordPress vraagt bij het verwijderen wat er met hun berichten moet gebeuren. Kies dan voor toewijzen aan een bestaande gebruiker, zodat je geen content kwijtraakt.
Zet daarna in je agenda dat je dit elk kwartaal herhaalt. Vijf minuten per keer.
Bij het installatiebedrijf in Goes stonden vier verlopen accounts. Het opruimen kostte tien minuten. Het opschonen van de spamlinks kostte drie uur, dus 210 euro excl. btw. Dat verschil is dit hele artikel in één zin.
5. Zet XML-RPC uit als je het niet gebruikt
XML-RPC is een oude koppeling waarmee externe programma’s op je site kunnen posten. Bijna geen enkele mkb-site gebruikt het nog. Aanvallers gebruiken het wel, omdat je er honderden wachtwoordpogingen in één verzoek doorheen kunt duwen.
Uitzetten kan gratis. Sommige hosters hebben er een knop voor. Anders regel je het met een kleine regel in je serverconfiguratie of met een plugin die je toch al hebt.
Let op één ding. Gebruik je de WordPress-app op je telefoon, of Jetpack, dan heb je XML-RPC nog nodig. Test daarom na het uitzetten of alles nog werkt. In wanneer je XML-RPC wel en niet uitschakelt leg ik de uitzonderingen uit.
De controle: zet /xmlrpc.php achter je domeinnaam. Krijg je een melding dat de methode niet wordt ondersteund, dan staat het aan. Een foutcode 403 of 404 betekent dat het dicht zit.
Combineer dit met het beperken van loginpogingen.
6. Gratis website beveiliging mkb: updates aan en één ronde per maand
De laatste stap is een gewoonte, geen instelling. Zet automatische updates aan voor WordPress zelf en voor je plugins. Dat kan per plugin, in het pluginoverzicht. Voor een gewone bedrijfssite is dat verstandig. Bij een webshop laat ik core-updates liever handmatig, omdat een mislukte update daar direct omzet kost.
Plan daarnaast een kwartier per maand. Je kijkt dan naar drie dingen. Staan er nieuwe gebruikers in de lijst. Draaien er plugins die je niet meer gebruikt. Werkt je contactformulier nog.
Zet die ronde op een vaste dag, bijvoorbeeld de eerste dinsdag. Een kwartier per maand is drie uur per jaar. Uitbesteed is dat 210 euro excl. btw, zelf gedaan kost het je niets.
Wil je weten waar je staat, doe dan de Basisscan Cyberweerbaarheid van het NCSC. Die is gratis, bestaat uit 25 stellingen en duurt vijf tot tien minuten. Voor de techniek erachter is de hardening-handleiding van WordPress de bron waar ik zelf naar terugval.
| Maatregel | Tijd | Wat het tegenhoudt |
|---|---|---|
| Tweefactor aanzetten | 10 min per account | Gelekte en geraden wachtwoorden |
| Wachtwoordmanager gebruiken | 20 min eenmalig | Hergebruik uit oude datalekken |
| Rollen verlagen | 5 min | Schade door één besmet account |
| Oude accounts verwijderen | 5 min per kwartaal | Vergeten toegangsdeuren |
| XML-RPC uitzetten | 10 min | Massale inlogpogingen |
| Updates en maandronde | 15 min per maand | Bekende lekken in plugins |

Liever één keer samen doorlopen?
Je kunt dit lijstje zelf afwerken. Dat is ook de bedoeling van dit stuk. Kom je er niet uit, of wil je zeker weten dat er niets is blijven staan, dan loop ik je site met je door. Beveiligingswerk valt onder standaardwerk: 70 euro per uur excl. btw. Je krijgt vooraf een offerte met bovengrens.
Is je site al gehackt, kijk dan bij herstel en beveiliging. De eerste scan is gratis. Bellen mag ook, ik reageer binnen vier uur op werkdagen. Stuur een bericht via contact.



