Dagelijks worden duizenden WordPress websites gehackt. Ligt dat aan WordPress? Nee, absoluut niet. In principe is WordPress wel veilig, maar de thema’s en plugins die website eigenaren gebruiken niet altijd. Daarnaast is het noodzakelijk dat jij je website extra beveiligd. In onze blogpost over WordPress security vertellen wij hoe je de meeste hacks kan afweren en delen wij een lijst met goede WordPress firewall plugins. 

Waarom is het zo belangrijk om je WordPress website te beveiligen?

WordPress is het meest populaire content management systeem. Deze populariteit heeft zeker zijn voordelen, maar ook nadelen. Een groot open source CMS platform is namelijk bijzonder interessant voor hackers. Naast hackers zijn er ook een aantal bots die voor veel overlast kunnen zorgen. Met dit soort bedreigingen kan je te maken krijgen:

  • Bots die proberen om login gegevens te achterhalen
  • Hackers die bestanden zoeken van onveilige plugins of thema’s
  • Brute force attacks om je website of server onderuit te halen
  • Spambots die je formulieren gebruiken om spam te versturen
  • Personen die proberen om je website te hacken.

Je kan ervan uitgaan dat dit soort aanvallen dagelijks plaatsvinden. Zonder de nodige beveiliging is de kans groot dat een hacker erin slaagt om je website te hacken of spam te versturen. Dit kan zelfs gebeuren terwijl je een blogpost zit te typen… 

Wat je moet weten voordat je begint

Een eigen website met WordPress lijkt heel eenvoudig. Dat is het in principe ook, mits je de regels volgt. Website security is een belangrijk onderdeel van een goede website.

Heb je nog geen idee waar je moet beginnen om je website te beveiligen? Begin dan met de onderstaande punten:

  • Beveilig je webserver – Je eigen VPS kan je vrij eenvoudig (inclusief WordPress) voor minder dan 5 euro per maand installeren. Let op! Meestal zijn zulke setups nog niet beveiligd of geoptimaliseerd. Weet je niet hoe je een webserver moet beveiligen? Kies dan voor managed WordPress hosting.
  • Installeer niet zomaar een plugin omdat het “coole” functies heeft – Meestal is het geen goed plan om voor elke gewenste functie een plugin te installeren. Elk extra plugin kan tot problemen leiden. Een goed voorbeeld is een functie voor het uploaden van bestanden door je bezoekers. Zonder beveiliging kan deze functie een zwakke plek voor je website zijn.
  • Kies zorgvuldig de inloggegevens – Onveilige wachtwoorden, niet actieve accounts en onvoldoende bescherming voor je inlogpagina zijn maar enkele kwetsbaarheden voor je WordPress website. Kies altijd een sterk wachtwoord en beveilig de inlogpagina tegen hackers. 
  • Voer regelmatig de plugin updates uit – Weet je precies wanneer er veiligheidsupdates voor je plugins en thema beschikbaar zijn? Niet? Zorg dan tenminste voor regelmatige updates, zo voorkom je dat een onveilige plugin je website in gevaar brengt.

Heb je dit gedaan? De volgende stap is om bots en hacker tegen te houden. Dit kan je doen met een WAF of een Web Application Firewall. 

Wat is een WAF of Web Application Firewall?

Een Web Application Firewall is bedoeld om schade aan je website of applicatie tegen te houden. Net als bij een server firewall wordt een client (bezoeker of bot) gecontroleerd of hij gevaarlijke requests uitvoert.

Alle benaderingen, die afwijken van het gedrag van een normale bezoeker, worden als gevaarlijk gezien. Op het moment dat een hacker of bot te vaak een verdachte handeling uitvoert, dan wordt deze bezoeker of bot geblokkeerd.

Een andere belangrijke functie voor een WAF is het filteren en onschadelijk maken van aanvallen. Deze houden onder andere SQL injecties en Cross-site scripting (XSS) attacks tegen.

Application level firewall vs. cloud based firewall

De application level firewall is in principe een onderdeel van je webapplicatie. Een cloud based firewall daarentegen wordt in principe voor je applicatie geplaatst. 

Op application level moet dus de applicatie het gevaar tegenhouden. Terwijl de cloud based firewall de indringer via een eigen platform in de cloud probeert tegen te houden.

Voor beide versies zijn voordelen te noemen. Waar de cloud based firewall ervoor zorgt dat de server van de website niet wordt belast, is de firewall op applicatie level beter geoptimaliseerd voor je WordPress applicatie. De meest bekende cloud based firewall is Cloudflare. Een andere bekende dienst is Sucuri. Beiden zijn goede opties, maar Sucuri beschikt over meer firewall rules voor WordPress. 

Voor de application level firewall zijn een aantal WordPress plugins beschikbaar.

Waar een goede WordPress security plugin aan moet voldoen

Zoek je in de WordPress repository op WordPress security of firewall, dan kom je een flink aantal plugins tegen. Een aantal functies vind je bij alle plugins en anderen niet. De onderstaande lijst bestaat uit functies die wij het meest belangrijk vinden.

  • Standaard settings – Sommige plugins hebben wel 100 verschillende opties. Voor zoveel functies wil je niet zelf beslissen of je ze wil gebruiken of niet. Je mag ervan uitgaan dat een security plugin developer het denkwerk al heeft gedaan. Een aantal standaard instellingen zijn dus zeker voordelig. 
  • PHP based protection – Wanneer een bot of hacker je website benadert, wil je niet dat voor elke aanval de complete WordPress applicatie wordt geladen. Gebeurt dit wel, dan kan de hacker misschien wel niet inbreken, maar door de extra hack pogingen kan ook je website en server traag worden. Wij zoeken dus firewall plugins die het werk doen zonder daarbij WordPress te laden.
  • Login protection – De inlogpagina en andere scripts die een login mogelijk maken worden dagelijks aangevallen door hackers en bots. Een goede bescherming tegen dit soort aanvallen is dan ook een belangrijke functie voor een goede WordPress security plugin.
  • Support for Nginx – Moderne WordPress hosting bedrijven gebruiken steeds vaker Nginx als webserver software. Nginx is geen hype maar een goede basis voor een snelle website die prima overweg kan met veel bezoekers op je website. Dat een security plugin met Nginx werkt lijkt ons erg belangrijk.
  • Import settings –  Wij noemden het al eerder: WordPress firewall of security plugins beschikken over een groot aantal opties en instellingen. Heb je meer dan 1 website? Dan wil je zeker niet alle opties langslopen. Een import en export functies voor de plugin instellingen vinden wij als online bureau echt een noodzaak.
  • Live Activity logs – Op het moment dat je website wordt aangevallen, wil je natuurlijk ook actie ondernemen. Via (live) activity logs krijg je inzicht in de aanvallen die op je website worden uitgevoerd. Zie je bijvoorbeeld dat een bepaald IP adres steeds terugkomt, dan kan je deze makkelijk (op netwerk niveau) blokkeren. Daarnaast laat de activity log zien dat je WordPress security plugin goed werkt.

Deze WordPress security plugins hebben wij getest

De volgende plugins hebben wij voor deze blogpost getest of worden door ons (vaker) gebruikt. Staat je favoriete firewall plugin er niet bij? Dat kan! Plugins die bij ons helemaal door de mand zijn gevallen, hebben wij uit respect voor de developer niet in onze lijst opgenomen. Plugins die geen firewall functie hebben staan er ook niet bij en ook de plugins die in de gratis versie te weinig bescherming bieden, hebben wij weggelaten. 

Hieronder als eerste een overzicht met de plugins en de 6 belangrijkste eigenschappen. Een gedetailleerde beoordeling voor elke plugin vind onder de tabel. 

  Standaard settings PHP based protection Login protection Support for Nginx Import settings Activity logs
SecuPress nee nee ja ja pro nee
NinjaFirewall ja ja ja ja ja ja
Shield Security ja nee ja ja pro nee
Wordfence Security ja ja ja ja ja ja
iThemes Security ja nee ja ja* pro nee
All In One WP Security nee nee** ja nee ja nee
Cerber Security ja nee*** ja ja ja ja

* Nginx wordt ondersteund, maar de gebruiker moet de security rules handmatig aan het Nginx configuratie bestand toevoegen.

** Een groot aantal beveiligingen worden via het .htaccess bestand toegepast. 

*** De plugin heeft een functie waardoor bij bepaalde instellingen geen WordPress pagina wordt getoond. Bijvoorbeeld de 404 pagina voor een “verborgen” wp-admin map.

NinjaFirewall

NinjaFirewall

Plugin developer: NinTechNet
Licentie: Freemium

Met meer dan 40.000 actieve installaties is deze WordPress firewall plugin minder populair dan de bekende plugins uit onze lijst. Dat is iets wat wij niet begrijpen, omdat zelfs de gratis versie over ruim voldoende functionaliteiten beschikt. Zo is NinjaFirewall naast Wordfence de enige plugin die een bot of hacker tegenhoudt zonder dat de WordPress applicatie wordt geladen. Deze functie is voor Apache, maar ook Nginx gebaseerde websites beschikbaar.

Dagelijks wordt er gecontroleerd of er nieuwe firewall rules zijn uitgegeven en deze worden dan ook automatisch geïnstalleerd. Vind je de gratis versie niet voldoende, dan kan je voor $45 per jaar de Pro versie aanschaffen (je krijgt korting wanneer je meerdere licenties nodig hebt). Voor de e volgende functies kiezen wij de Pro versie:

  • Spamfilter voor registratie en reactieformulieren
  • Shared memory voor interne processen (gegevens kunnen via het RAM geheugen worden uitgewisseld)
  • Rate-limiting (beperk het maximale aantal requests per client)
  • Landcode en IP adres restricties
  • Centrale logs voor alle websites die de Pro versie gebruiken

Beheer je niet alleen WordPress websites? NinjaFirewall heeft ook een web application firewall voor andere soorten PHP applicaties.

Wordfence Security

Wordfence Security

Plugin developer: WordFence
Licentie: Freemium

Met meer dan 3 miljoen actieve installaties is Wordfence de meest populaire WordPress security plugin. 3 jaar geleden waren wij nog niet helemaal overtuigd, omdat een website die zwaar wordt aangevallen, door Wordfence nog meer in de problemen kon komen. Intussen beschikt Wordfence Security over de optie waar de attacker of bezoeker buiten de WordPress applicatie wordt gecontroleerd. Naast een duidelijk en mooi dashboard heeft Wordfence nog veel meer te bieden:

  • Automatische plugin updates – Dit is een belangrijke functie omdat op deze manier nieuwe filters en rules vanzelf worden toegepast.
  • Rate limiting – Deze functie voor het beperken van overmatig gebruik van je website vind je bij andere plugins alleen in de Pro versie. Bij Wordfence is rate limiting een functie van het eerste uur en deze is dus ook in de gratis versie beschikbaar.
  • Firewall via PHP – Zoals eerder genoemd, worden de meeste bots en hackers tegengehouden voordat WordPress wordt geladen. Hierdoor wordt bij een aanval de webserver veel minder belast.
  • Learning Mode voor firewall – Op het moment dat je Wordfence installeert wordt de firewall in learning mode gezet. Gedurende een aantal dagen zal Wordfence het gedrag van je website analyseren en zo de juiste instellingen toepassen.
  • Security scan – Wij zijn niet zo’n grote fan van deze functie, omdat je de resultaten met een korreltje zout moet nemen. De scan is vrij algemeen en je website is misschien toch net iets anders dan Wordfence “verwacht”.

Op het moment dat een populaire plugin onveilig is, wordt (meestal) door Wordfence vrij snel een security patch ontwikkeld, waardoor de zwakheid wordt gefixed. Op deze manier is je website ook veilig wanneer je de onveilige plugin nog niet hebt bijgewerkt.

De gratis versie is compleet en beschermt goed je WordPress website. Wil je meer functies? Dan kan je alsnog voor $99,00 per jaar de Pro versie aanschaffen.

iTmemes Security

iThemes Security

Plugin developer: iThemes
Licentie: Freemium

IThemes Security is met meer dan 900.000 installatie een bijzonder populaire WordPress Security plugin. De installatie is bijzonder eenvoudig. Met maar 1 klik worden alle belangrijke standaardinstellingen voor je website geconfigureerd.

Wat bijzonder opvalt is het overzichtelijke dashboard dat voor een groot deel de UI elementen van WordPress gebruikt. Elke optie heeft een duidelijk dialoog in het Nederlands. iThemes Security lijkt een functionele firewall plugin, maar er zijn wel wat nadelen:

  • Firewall en filter rules worden compleet via .htaccess geconfigureerd. Dat werkt goed voor Apache gebaseerde servers, maar voor Nginx moeten deze rules handmatig in de configuratie worden verwerkt.
  • Import /export functie voor de instellingen is alleen via de Pro versie beschikbaar.
  • De IP adres filter werkt via een externe IP adres database. Dat is geen ramp, maar wel een nadeel i.v.m. privacy regels.

iThemes Security is een mooi plugin voor het beveiligen van je WordPress website. De prijs voor iThemes Security is met $80 iets hoger dan de voor andere plugins, maar wanneer je licentie voor meerdere websites koopt, wordt het al snel wat voordeliger.

All In One WP Security

All In One WP Security

Plugin developer: Tips and Tricks HQ
Licentie: Gratis

Met 800.000 actieve installaties is All In One WP Security de enige firewall plugin die compleet gratis is. Na de installatie van de plugin kom je terecht in een mooi en overzichtelijk dashboard. Op basis van een score kan je dan zien “hoe veilig” je website momenteel is.

Per onderdeel vertelt de plugin je wat je kan doen voor een betere WordPress beveiliging. Dat betekend ook dat er geen standaard instellingen zijn en dat je alles zelf moet configureren. Heb je meerdere websites? Dan kan je de instellingen wel exporteren en opnieuw importeren.

De aanpassingen voor de beveiliging worden in het .htaccess bestand geschreven. Dat betekend ook dat je deze security plugin niet voor een Nginx gebaseerde website kan gebruiken.

Helaas is er geen log functie waar je kan zien welke “bezoekers” voor overlast zorgen en welke attacken de plugin heeft tegengehouden.

Is je website gebaseerd op Apache (de kans is groot) dan is All In One WP Security een goede en gratis plugin met veel functies.

Cerber Security

Cerber Security

Plugin developer: Cerber Tech Inc.
Licentie: Freemium

Cerber Security richt zich vooral op het beveiligen van formulieren. Denk hierbij vooral aan de inlogpagina, registratie en reactieformulieren. Voor het login gedeelte gaan zij nog iets verder: je eigen URL voor de inlogpagina definiëren, filters voor de XML-RPC en REST API zetten en de omleiding voor het dashboard uitzetten.

In het geheel gaat Cerber Security met het verzamelen van verdachte gegevens een stuk verder dan de meeste andere firewall plugins. Je ziet dan ook snel wat er verdacht is en wat niet. Een andere interessante functie is de Citadel Stand, hiermee kan je het WordPress dashboard beperken voor een aantal IP adressen.

Helaas worden alle functies binnen WordPress uitgevoerd. Waardoor je website bij een aanval nog steeds onderuit kan gaan. Gelukkig zijn belangrijke  functies zo geprogrammeerd dat dit in het algemeen nog meevalt.

De gratis functie heeft dan ook voldoende functies om indringers buiten te houden. De Pro versie is verkrijgbaar voor $99,00 per jaar / website en biedt onder andere de volgende extra functies:

  • Firewall en Antispam via de Cloud
  • Cloudflare add-on waarmee de IP adressen van indringers tussen Cerber en Cloudflare worden uitgewisseld
  • Geïnfecteerde bestanden en malware kunnen automatisch worden verwijderd
  • Blokkeer bezoekers op basis van land van herkomst
  • Live overzicht van de verdachte handelingen op je website

Cerber Security is een interessante plugin en de Pro functies lijken sterk. De vraag blijft of € 99,- per jaar wil betalen.

Een de winnaar is: Wordfence en NinjaFirewall

De keuze is eigenlijk vrij eenvoudig, omdat deze twee WP security plugins als enige je WordPress website beveiligen op PHP niveau. Alle andere moeten (voor een groot deel) eerst WordPress laden om je website te beveiligen. Deze werkwijze vinden wij niet voordelig. Vandaar de voorkeur voor Wordfence Security en NinjaFirewall. 

Qua functionaliteit vinden wij beiden geweldig. Dus welke moet je dan nemen? Het grootste verschil is dat aan Wordfence meer mensen werken. Dit zie je terug in design, marketing, support, maar ook in de prijs voor de plugin. 

Wanneer je het beste Wordfence kan gebruiken

Wordfence is bijzonder geschikt voor de website eigenaar die op zoek is naar een eenvoudig en functioneel interface. Heb je meerdere websites, dan kan je via Wordfence Central de veiligheid van meerdere websites testen en monitoren. 

Hét Wordfence alternatief: NinjaFirewall

Wij gebruiken voor alle websites NinjaFirewall. De betaalde versie van WordFence heeft een klein aantal functies die de Pro versie van NinjaFirewall niet heeft, maar dat is ook terug te vinden in de prijs. Je betaalt voor de extra functies in Wordfence Security Pro meer dan het dubbele ten opzichte van NinjaFirewall Pro. Het prijsverschil tussen beide security plugins wordt nog groter wanneer je licenties voor meerdere websites wil afnemen.

Voor een extra ‘laag’ aan website beveiliging gebruiken wij Cloudflare als host voor de DNS van alle domeinnamen die wij beheren. Op deze manier kunnen wij snel de WAF van Cloudflare inschakelen wanneer de filters op netwerk level en van NinjaFirewall niet voldoende zijn. Cloudflare en NinjaFirewall werken perfect samen.

Laatste tips voor het beveiligen van je website

  • Host je website(s) bij een WordPress specialist – Bespaar niet op hosting en zoek een bedrijf dat gespecialiseerd is in WordPress hosting. Dat wil niet zeggen dat algemene hostingbedrijven minder veilige hosting leveren, maar de WordPress specialist kan je wel beter helpen bij o.a. WordPress security problemen.
  • Scan je website regelmatig op veiligheidsproblemen – Je kan alleen maar de problemen fixen die je ook werkelijk hebt ontdekt. Wij gebruiken de WordPress security scan van Sucuri. Deze is o.a. geïntegreerd in het WordPress management panel ManageWP (GoDaddy is de eigenaar van beide diensten).
  • Beperk het aantal websitebeheerders – Voor de meeste websites is één WordPress beheerder voldoende. Beperk de rechten van de andere gebruikers. Vraagt de support medewerker van je thema of een plugin om een beheerdersaccount? Overweeg dan of het niet beter is om eerst een testlocatie in te richten. 
  • Update je website regelmatig – Heb je meer dan 10 plugins in je website, dan kan je misschien wel elke dag een update uitvoeren. Vergeet niet dat elke update je website kan breken. Maar stel de updates ook niet te lang uit.
  • Beperk het aantal plugins dat je gebruikt – De installatie van een plugin betekent dat er extra code aan je website wordt toegevoegd. Deze code wordt niet altijd op dezelfde manier getest of gecontroleerd zoals bijvoorbeeld WordPress. Dat wil niet zeggen dat plugins onveilig zijn, maar fouten zijn altijd mogelijk. Door minder plugins te gebruiken, verklein je ook de kans op onveilige code. 

Werken met WordPress is erg plezierig en voordelig. Gebruik een WordPress security plugin en onze andere tips voor een veilige website.

Gepubliceerd in: Plugins en templates