We kunnen het er niet vaak genoeg over hebben: WordPress en veiligheid

WordPress en veiligheid : 5 plugins voor veiligheid van je WordPress site

WordPress en Veiligheid

Het houdt niet op. Berichten over onveilige plugins, berichten over bedrijven waarvan de klantgegevens inmiddels op straat liggen en andere berichten, die je als website eigenaar eigenlijk helemaal niet wilt horen. Maar het is een realiteit geworden, dat websites gehackt worden. En als je denkt dat dit jou niet zal gebeuren, dan ben je één van de velen die vroeg of laat heel ernstig verrast zal worden.

In juni 2026 heb ik een blogpost geschreven met tien regels voor een veilige WordPress Website, en in die blogpost heb ik beloofd ‘binnenkort’ een artikel te schreven over een aantal plugins om je veiligheid te verhogen. Het is nu iets meer dan 2 maanden later. Nog net op de grens van ‘binnenkort’ zou ik zo denken…

In de blogpost van vandaag wil ik een vijftal plugins bespreken die het de mogelijke hacker in ieder geval moeilijker zullen maken jouw site te hacken. En nee, ik ga geen vijf plugins bespreken en die met elkaar vergelijken, maar ik heb een vijftal plugins geselecteerd, die allemaal iets bijdragen aan de veiligheid van je website. Want de veiligheid en onveiligheid vind je op verschillende lagen, en iedere laag van veiligheid heeft zijn eigen problemen.

Hierbij vermijd ik plugins die ik recent al besproken heb. De plugins die je hier in het artikel terug vindt zijn of nog niet eerder door mij besproken, of zo lang geleden, dat je je af mag vragen hoe geldig de bespreking vandaag de dag nog is.

Veiligheid is samenwerken

Veel mensen denken, dat veiligheid een zaak is van één grote security plugin. Wanneer je die installeert is alles veilig. Maar beveiliging bestaat uit verschillende onderdelen:

  • voorkomen dat kwetsbare software blijft staan;
  • aanvallen herkennen en blokkeren;
  • geautomatiseerde aanvallen tegengaan;
  • voorkomen dat aanvallers gemakkelijk informatie verzamelen;
  • ontdekken dat bestanden ongewenst gewijzigd zijn.

Een securityplugin kan een nuttige aanvulling zijn op een veilige WordPress-installatie, maar geen enkele plugin kan alle onderdelen van beveiliging even goed afdekken.

WPVulnerability – De kwetsbaarheden identificeren

Een tijdje terug ben ik WPVulnerability gaan gebruiken. Zowel voor mijzelf als voor klanten heb ik steeds vaker VPS-en te onderhouden. Het probleem met het zelf beheren van een VPS is, dat je niet alleen de WordPress plugins up-to-date moet houden, maar dat je ook het VPS regelmatig moet updaten. WPVulnerability is een plugin die detecteert vanuit WordPress welke plugins mogelijk onveilig zijn. Je krijgt dus niet alleen een lijst met updates van de plugins, maar er wordt ook gekeken naar welke plugins mogelijk onveilig zijn en om welke reden.

En weet je nog, die éne plugin die je vijf jaar geleden had geïnstalleerd? Wist je dat die uit de WordPress repository is verwijderd, juist omdat hij niet (meer) veilig is?

Ook de systeemsoftware

Bij WordPress ligt de meeste aandacht terecht bij WordPress zelf, en vooral bij plugins en themes. Vrijwel alle openbaar gemaakte WordPress-kwetsbaarheden worden daar gevonden. Maar een WordPress-site draait niet op zichzelf: daaronder bevinden zich PHP, een webserver, database-software, het besturingssysteem en soms aanvullende diensten zoals Redis of ImageMagick. Ook daarin worden kwetsbaarheden ontdekt en actief misbruikt. Hoe groot dat aandeel precies is bij gehackte WordPress-sites is niet betrouwbaar vastgesteld, ruwe schattingen variëren van 5 tot 20%.

WPVulnerability rapporteert ook diverse kwetsbaarheden met betrekking tot belangrijke software die op je server draait.

Wat moet ik met de informatie?

De eerste keer dat ik WPVulnerability installeerde, was het even schrikken. Ondanks dat ik zeer regelmatig update, bleek ik maar liefst ‘201 kritieke problemen’ te hebben. Nu hanteert WPVulnerability een ‘stoplicht systeem’ (groen, geel, rood) om de ernst van een probleem aan te geven.

Nu had ik 3 ‘rode’ problemen, en 198 ‘gele’ problemen, waarschuwingen dus.

en gelukkig waren 141 van de problemen ImageMagick gerelateerd. Want ImageMagick op mijn server is ‘verouderd, en er bestaat een nieuwe versie van’. Dat klopt helemaal. Maar ImageMagick 6.9.x krijgt nog steeds securityupdates… en ImageMagick 7.0.x wil niet zo goed samenwerken met de bestaande PHP libraries voor dit programma. Daarnaast had ik 36 curl gerelateerde problemen (ook allemaal geel) omdat de curl libraries versie 1.5 terug rapporteren als er naar de versie wordt gevraagd, en de plugin naar 1.5.0 zoekt. Exact dezelfde versie, met een net wat ander naampje.

De rest van de ‘problemen’ waren eenvoudig te verhelpen. De meeste verdwenen na de meest verse systeemupdate van de software of een voorgestelde aanpassing aan configuratie scripts.

Wat echter belangrijk is te realiseren dat niet alle ‘waarschuwingen’ fouten zijn. Maar als een ‘kritieke fout’ rood is, is het wel van belang zo snel mogelijk op te lossen.

Uitgebreide systeeminformatie

Onder ‘Tools/Gereedschappen’ vind je de sitediagnose pagina. Met name de ‘Informatie tab’ is nuttig voor beheerders, omdat daar een rijkdom van systeeminformatie te vinden is over onder meer de mappen en groottes (waar ligt de oorzaak van de ‘Disk full’ melding van mijn hosting provider?), gegevens over de architectuur van de server, de webserver, ingestelde limieten, rechten op de folders en meer.

Kortom informatie die -wanneer ik deze op zou moeten zoeken- op verschillende plaatsen gezocht zouden moeten worden voor een totale beeldvorming.

Mijn oordeel

Een nuttige plugin om op je site geïnstalleerd te hebben, indien je ook iets doet met de informatie die geleverd wordt. Wees je ervan bewust, dat de plugin geen problemen oplost, maar slechts de status van je systeem detecteert, en dit in een extreem uitgebreide rapportage laat zien.

BBQ Firewal – Verdachte verzoeken buiten de deur houden

Niet iedere aanval begint bij het inloggen. Bots sturen voortdurend requests naar websites waarin ze proberen bekende kwetsbaarheden uit te buiten.

wordpress en veiligheid | We kunnen het er niet vaak genoeg over hebben: WordPress en veiligheid

Wat doet BBQ Firewall?

Volgens de pagina in de WordPress repository doet BBQ Firewall het volgende:

  • SQL injection attacks
  • Executable file uploads
  • Directory traversal attacks
  • Unsafe character requests
  • Excessively long requests
  • PHP remote/file execution
  • XSS, XXE, and related attacks
  • Protects against bad bots
  • Protects against bad referrers
  • Protects against bad POST content
  • Protects against many other bad requests

Dat is wel een heleboel. Helemaal voor een plugin, waar je eigenlijk niets aan in te stellen hebt. Helaas is het ook een plugin die niets terug rapporteert, dus je hebt geen idee of hij werkelijk werkt.

Het belangrijkste wat deze plugin echter doet/zegt te doen, is pogingen tot misbruik bij de bron te stoppen.

Om je een eenvoudig voorbeeld te geven, wat BBQ Firewall doet, wil ik een standaard voorbeeld van SQL injection geven.

Stel je voor, iemand heeft een onveiligw SQL query in een plugin

SELECT * FROM users
WHERE    username = '$username'
AND      password = '$password';

Wanneer ik op het inlogformulier bij gebruikersnaam en password onderstaande in zou vullen

'OR '1'='1'

zou de uiteindelijke gebruikersnaam geïnterpreteerd worden als

SELECT * FROM users
WHERE    username = '' OR '1'='1'
AND      password = '' OR '1'='1';

Omdat 1 altijd 1 als zijn, zal hier altijd een compleet overzicht van de gebruikers teruggegeven worden.

De reden dat dit niet werkt op een inlog- of enig ander formulier is omdat een goede programmeur altijd gegevens ingegeven uit eerst ‘converteert’ naar veilige data. Als een programmeur het echter zou vergeten, heb je een behoorlijk veiligheidslek in je plugin.

Wat BBQ Firewall doet is post- en get-opdrachten die dit soort trucs bevatten tegen te houden, voor de informatie ook daadwerkelijk bij de plugin aankomt.

Ja… maar werkt het ook?

De plugin is denk ik wel één van de meest eenvoudige beveiligingsplugins die ik ken. Na installatie werkt hij, er valt niets aan in te stellen. Dat is mooi, maar er valt ook niets te zien met betrekking tot de activiteiten van de plugin.

Dus ik heb via PostMaster (een tool voor programmeurs en webbeheerders om webverkeer te testen) een aantal duidelijk kwaadaardige posts richting mijn eigen testwebsite gestuurd. Iedere poging werd geweigerd. Mocht je aan meer behoefte hebben, dan iemand die stilletjes het werk op de achtergrond doet, zonder echt ooit iets te zeggen, is er overigens ook een Pro versie van de plugin die helemaal instelbaar is en wel veel informatie geeft.

Overigens, BBQ staat voor ‘Block Bad Queries’. In een heel grijs verleden heb ik hem ooit besproken, maar tegenwoordig doet hij meer -vandaar waarschijnlijk ook de naamsverandering- dan het blokkeren van ‘foute queries’.

Mijn oordeel

Het is een eenvoudige plugin… maar werkt hij ook? Helaas is er behalve zelf te testen geen andere manier om erachter te komen, dan de Pro versie aan te schaffen. Dat al mijn pogingen om mijn test-site te ‘hacken’ werden stuk voor stuk tegengehouden door BBQ Firewall. Overigens, de ‘Pro’ versie kost slechts 30 dollar per jaar, of 50 dollar voor ‘lifetime’ gebruik op één site. Kijk op de site van BBQ Firewall for meer informatie.

Simple Cloudflare Turnstile – Stop de bot!

wordpress en veiligheid | We kunnen het er niet vaak genoeg over hebben: WordPress en veiligheid

Cloudflare Turnstile is een dienst van Cloudflare om menselijke bezoekers te verifiëren, zonder dat er allerlei puzzels opgelost hoeven te worden.

‘Hé,’ zal je zeggen, ‘dat is Google’s reCaptcha v3 toch ook’?

En daar heb je helemaal gelijk in. Toch is er een aantal grote verschillen.

  1. Cloudflare Turnstile gebruikt de gegevens niet voor marketing doeleinden.
  2. Cloudflare Turnstile is en blijft gratis: Voor Google reCaptcha moet je bij meer van 10.000 aanvragen per maand gaan betalen, Cloudflare Turnstile is gratis
  3. Je hoeft zelf geen ‘risico score’ te bepalen. Bij het instellen van je reCaptcha moet je zelf een risicoscore tussen de 0 en 1 ingeven, om aan te geven hoe ‘streng’ Google oordelen. Omdat vrijwel niemand weet wat een goede balans is, vinden de meeste mensen dit lastig en ‘gokken’ dat ‘eerlijk alles delen’ (0,5) misschien wel een goede waarde is
  4. Voor ontwikkelaars: Testen met Turnstile is makkelijk, omdat Turnstile ook speciale ‘testsleutels’ voor de API uitgeeft.

De plugin ‘Simple Cloudflare Turnstile’ is een eenvoudige manier om Turnstile op je WP site te implementeren. De pluginmaker beweert, dat de plugin goed samenwerkt met ondermeer:

WordPress:

  • Login Form
  • Registration Form
  • Password Reset Form
  • Comments Form

WooCommerce

  • Checkout
  • Pay For Order
  • Account Details Form
  • Login Form
  • Registration Form
  • Password Reset Form

Formulieren plugins

  • WPForms
  • Fluent Forms
  • Contact Form 7
  • Gravity Forms
  • Formidable Forms
  • Forminator Forms
  • Jetpack Forms
  • Kadence Forms
  • SureForms

Overige plugins

  • Elementor Pro Forms
  • Easy Digital Downloads Forms
  • Paid Memberships Pro Forms
  • Mailchimp for WordPress Forms
  • MailPoet Forms
  • BuddyPress Registration Form
  • bbPress Create Topic & Reply Forms
  • MemberPress Forms
  • Ultimate Member Forms
  • WP-Members Forms
  • WP User Frontend Forms
  • WP User Manager Forms
  • wpDiscuz Comments Form
  • CheckoutWC & Flux Checkout
  • Sunshine Photo Cart

Mijn oordeel

Om de eerder genoemde redenen (privacy, geen lastige ‘tests’, blijvend gratis) en inmiddels ook de nodige ervaring hiermee te hebben opgedaan, zou de enige reden voor mij zijn niet voor deze plugin te kiezen als een Captcha oplossing een gebrek aan comptabiliteit met een door mij gebruikte formulieren plugin. Gelukkig is dat hier niet van toepassing.

Stop User Enumeration – Vertel een aanvaller niet teveel!

wordpress en veiligheid | We kunnen het er niet vaak genoeg over hebben: WordPress en veiligheid

Stel dat een inbreker eerst door een straat loopt en opschrijft welke huizen een alarmsysteem hebben, waar de achterdeuren zitten en wie er woont. Hij breekt nog nergens in, maar verzamelt informatie die een latere inbraak makkelijker maakt. Bij een website gebeurt iets vergelijkbaars: een aanvaller probeert eerst te ontdekken welke gebruikersnamen bestaan, welke software wordt gebruikt of welke onderdelen bereikbaar zijn. In IT-termen noemen we dat enumeration.

Bij user enumeration probeert een aanvaller te achterhalen welke gebruikersnamen op een website bestaan. Dat is op zichzelf nog geen hack, maar het maakt een aanval wel eenvoudiger. Als iemand bijvoorbeeld al weet dat de gebruikersnaam beheerder bestaat, hoeft hij bij een aanval alleen nog het wachtwoord te raden.

In mijn eerdere blogartikel ‘Hoe makkelijk laat jij je WordPress website hacken?‘ heb ik al aangegeven, dat WordPress mogelijkheden biedt om langs slinkse weg gebruikersnamen op te halen. De plugin die ik destijds noemde om dit te voorkomen bestaat nog steeds, maar is al drie jaar niet meer geupdate. Bovendien dekt deze plugin slechts een deel van de lading.

De plugin Stop User Enumeration geeft je de mogelijkheden om verschillende manieren waarop een hacker gebruikersnamen op kan halen te blokkeren en bovendien, wanneer je op een VPS werkt, waar fail2ban actief is, de mogelijkheid om de gebruiker zijn IP in de banlist op te nemen, waardoor ieder contact met de server wordt geweigerd.

Het verbergen van gebruikersnamen is echter geen beveiliging tegen het gebruik van slechte passwords. Wanneer om welke reden dan ook het verbergen van gebruikersnamen geen optie is, bijvoorbeeld omdat mensen met hun email in moeten loggen, is het altijd goed om veilige passwords af te dwingen en 2FA (Two Factor Authentication) verplicht te stellen.

Mijn oordeel

Een makkelijk te installeren en onderhouden plugin, die een deel van de ‘information gathering’ voor een hack een stuk lastiger maakt. Een mooie bijkomstigheid is dat het mogelijk is om een potentiële hacker ook direct voor het complete systeem kan blokkeren, indien je een eigen VPS hebt. Op deze manier voorkom je ook, dat de hacker het ook nog eens via andere achterdeurtjes gaat proberen.

Melapress File Monitor – Veranderingen detecteren

wordpress en veiligheid | We kunnen het er niet vaak genoeg over hebben: WordPress en veiligheid

Al weer enige tijd geleden (september 2019) heb ik in het blogartikel ‘De Health Check van je WordPress Site’ de plugin ‘Health Check and Trouble Shooting‘ besproken. Enkele jaren later werd er in WordPress zelf een ‘health check’ ingebouwd, die in grote lijnen deed wat de belangrijkste functie van de Health Check plugin was. Omdat het ‘trouble shooting’ deel van de plugin grotendeels ook overlapte met de nieuwe ingebouwde ‘health check’ functie, heb ik hem destijds gedeactiveerd.

Toen ik twee maanden geleden opnieuw op zoek ging naar deze plugin zag ik, dat er in twee jaar geen updates meer zijn geweest. En hoewel er wel een paar nieuwe functies zijn toegevoegd sinds 2019, zag ik onvoldoende reden om een plugin te bespreken, waarvan 80% van de functionaliteit overlappend is met core functionaliteiten van WordPress. De plugin was zeer nuttig, maar heeft inmiddels zijn tijd gehad.

In mijn blogartikel beschreef ik ook een beperking van de plugin… En diezelfde beperking vinden we ook terug in de ‘core health check’ functie in WordPress zelf: Hoewel het goed is om te weten of de WordPress core-code nog ‘healthy’ is, is de kans dat er iets fout gaat in de plugins vele malen groter.

En dat is precies waar Melapress File Monitor om de hoek komt kijken. Melapress File Monitor scant de complete codebase van je website en berekent over ieder bestand een controle getal. Wanneer het bestand een onderdeel van de WordPress core is, of een plugin of bestand uit de WordPress repository, vergelijkt de plugin het controle getal van het bestand op de website, met het controle getal van de plugin in de repository. Zijn die getallen niet gelijk, of komen er bestanden voor, die er niet thuishoren, wordt het gerapporteerd.

Plugins die niet uit de repository komen (Maatwerk en commerciële plugins)) worden ook gescand. En omdat er geen centraal punt is, om het controle getal te controleren, wordt het berekende controle getal in de database opgeslagen. Bij een volgende scan, worden de waarden in de database met de gescande waarden vergeleken. Ook hier worden toegevoegde of verwijderde bestanden ook gerapporteerd.

Zijn er bestanden toegevoegd, veranderd of verwijderd, en het is niet het gevolg van een installatie of update, dan is de kans huizenhoog, dat je malware hebt ‘opgelopen’.

Met betrekking tot plugins en thema’s die niet in de repository voorkomen, is het belangrijk te realiseren, dat wanneer je plugin of thema voor de eerste scan al geïnfecteerd is, dit niet gedetecteerd zal worden. De plugin heeft immers geen ‘baseline’ om te kunnen vergelijken. Daarom is het eigenlijk het best deze plugin als eerste bij het bouwen van een nieuwe site te installeren.

Melapress detecteert. Melapress repareert niet!

Wat belangrijk is om te realiseren, is dat Melapress niets ‘repareert’. Vind je veranderingen, dan is het beste wat je kan doen het geïnfecteerde onderdeel direct te overschrijven met de oorspronkelijke code (bijvoorbeeld een verse download direct van de leverancier van een plugin).

Mijn oordeel

Op het moment dat Melapress iets rapporteert en het is echt malware, dan betekent dat, dat de eerdere plugins die ik heb besproken gepasseerd zijn. Met goede procedures zoals in mijn recente blogartikel over veiligheid besproken en plugins als de plugins hierboven besproken, zou je Melapress niet nodig hebben.

Maar reëel gesproken, shit happens. En websites worden gehackt. En als je site eenmaal gehackt is (en niet alle hackers laten bewust sporen achter), wil je ook graag weten dat het is gebeurd, zodat je in ieder geval de schade kan herstellen. Wanneer het weken of maanden duurt voor je het merkt, is het waarschijnlijk zo, dat ook al je backups geïnfecteerd zijn. En dan wordt het herstellen van je website een langdurige en pijnlijke procedure.

Een toepassing die bestanden vergelijkt met de ‘oorspronkelijke bestanden’ is feitelijk onmisbaar.

Wat deze plugins niet oplossen

Geen van deze plugins vervangt:

  • tijdig updaten;
  • sterke unieke wachtwoorden;
  • 2FA;
  • goed gebruikers- en rechtenbeheer;
  • veilige hosting;
  • back-ups;
  • HTTPS;
  • een goed update- en herstelproces.

Beveiligingsplugins zijn een aanvulling, geen vervanging voor verantwoord computergebruik. De adviezen in het artikel met de ‘tien tips‘ blijven onverminderd van toepassing.

De plugins die ik hier genoemd heb zijn ook niet zaligmakend. Het zijn voorbeelden voor jouw ‘line of defense’ tegen hackers.

  • WPVulnerability vind de bekende kwetsbaarheden in je webconfiguratie.
  • BBQ Firewall blokkeert vijandige requests.
  • Simple Cloudflare Turnstile blokkeert bots bij het invullen van formulieren
  • Stop User Enumeration beperkt het verzamelen van informatie voor kwaadaardige doeleinden
  • Melapress File Monitor detecteert -als het allemaal fout is gegaan- vroegtijdig de schade.

Voor iedere plugin hier besproken kan ik denk ik vier of vijf andere vinden die hetzelfde doen. Maar het gaat hier niet om een specifieke plugin, maar om methoden om je website veilig te houden.

Nog niet uitgelezen?

Vind je dit artikel interessant? Mooi! Want ik heb nog veel meer te bieden. Op deze site vind je letterlijke honderden artikelen over WordPress, marketing, e-commers, e-learning en nog veel meer onderwerpen. Op zoek naar meer informatie? Kies één van de trefwoorden hieronder of tik een zoekopdracht in.

Meest populaire blogposts
Enkele trefwoorden om vergelijkbare posts te vinden:

Voeg je koptekst hier toe

Word je website de baas. Neem vandaag nog contact op!

Contact Informatie

WordXPression 

Aardoliestraat 14-I 7553GT Hengelo

KVK : 75580152 

Stuur een bericht
programmer, programming, code

Wordt WordPress Developer. September 2026 start er weer een nieuw traject. Wees er op tijd bij, want vol=vol!

Lees meer

Deze post rapporteren

Wanneer deze post niet meer relevant is of verouderde informatie bevat, zou ik het op prijs stellen wanneer je dit door wilt geven., zodat ik dit eventueel bij kan werken. De persoonlijke gegevens die je hieronder invult worden alleen gebruikt om de mail te versturen en zal niet voor marketingdoeleinden worden gebruikt.