WordPress website beveiligen - tips voor een veilige WordPress website

Tips om je WordPress website veilig te houden

WordPress is het meest gebruikte CMS ter wereld. 34,2% van alle websites wereldwijd heeft WordPress onder de motorkap liggen. Wanneer we alleen kijken naar websites die een CMS gebruiken, is het marktaandeel met 60,9% nog imposanter. Maar hoe zit het met de veiligheid?

Is WordPress veilig?

In de dagelijkse praktijk krijgen we nog wel eens te maken met wat veiligheidsvragen. Zelfs met mensen die twijfelen aan de keuze voor WordPress vanwege de veiligheidsaspecten. Het zal je niet verbazen dat wij daar als WordPress specialist anders over denken. Hoog tijd om daar eens dieper op in te gaan. Dat levert je meteen een paar handige (basis)tips op over het verbeteren van de veiligheid.

WordPress website beveiligen

Het grootste veiligheidsrisico van WordPress?

Populaire CMS’en zijn niet alleen populair bij gebruikers. Ook hackers zijn er vanwege uiteenlopende redenen dol op. Het grootste veiligheidsrisico ligt alleen niet in WordPress, maar bij de manier waarop daarmee wordt omgegaan. Daarom geven we je een aantal handig tips. Tips die je helpen om je WordPress website veilig(er) te houden. Dat betekent niet dat jouw website nooit meer gehackt wordt, maar verkleint wel de kans daarop! De hygiëneregel van ‘kiezen voor een goede hostingpartij’ slaan we daarbij gemakshalve even over. Dat geldt ook voor het gebruik van een SSL certificaat, wat ervoor zorgt dat via de website verstuurde data (dus ook je inloggegevens) versleuteld worden verstuurd. Dat doet overigens niets af aan het belang van deze elementen. Zeker het kiezen van een goede hostingpartij is van een enorm belang. Dat wordt in de praktijk nogal eens onderschat.

Veiligheid in WordPress? Niemand wil mijn website hacken!

Ja, maar wie wil mijn website nou hacken? Ik heb niet zoveel bezoekers / ben niet interessant / vul nog maar een ander excuus in. Laat me je gerust stellen; hackers zijn over het algemeen niet geïnteresseerd in je content. Toch hebben ze voldoende redenen om je website interessant te vinden. Zo worden gehackte websites gebruikt voor het plaatsen van malware, het plaatsen van links naar andere sites, als middel om DDOS aanvallen uit te voeren of om spam te versturen. Nu is dit overzicht ongetwijfeld lang niet compleet, maar het gaat hierom: jouw website is vrijwel altijd een interessant doel.

Overzicht: Tips voor een veilig WordPress website

Je bent er! Het overzicht met tips om je WordPress website veilig te houden. We zetten hier de tips vast op een rijtje. Per tip wordt (bij de tip zelf) aangegeven hoe makkelijk of moeilijk het is om deze uit te voeren:

  • Gebruikersnamen kiezen
  • Gebruikersnamen ‘onzichtbaar’ maken
  • Niet iedereen hoeft ‘administrator / beheerder’ te zijn
  • Kies een sterk wachtwoord
  • Beperk inlog-pogingen
  • Recaptcha op je inlogpagina
  • Update plugins
  • Maak je WordPress versie onzichtbaar
  • Pas je inlogpagina aan
  • Werk met Two-Factor Authentication (2FA)
  • Pas de database prefix aan
  • Bestandsrechten op je server
  • Je hebt geen 214 plugins nodig
  • Hoe veilig is jouw thema?

Vervolgens vind je nog een aantal handige plugins die speciaal gemaakt zijn om je WordPress website veiliger te maken. We staan nog stil bij back-ups en relativeren de stortvloed van WordPress security geweld nog even in de slotsom ;-).

Gebruikersnamen kiezen

Je verwacht het niet, maar een veilige WordPress website begint bij het kiezen van niet-standaard gebruikersnamen. Je wilt niet weten hoe vaak we ‘admin’ nog tegenkomen. Het argument “ja maar dat is toch redelijk standaard” weerleggen we met “klopt, dat weten de hackers ook”. Een bijkomen nadeel is dat deze ‘admin’ vaak de maximale rechten heeft om aanpassingen aan je website te doen. Als je 1 user hebt die je liever niet gehackt ziet, is het deze wel. Kijk eens rond bij het onderdeel ‘gebruikers’, trek je conclusies en voer eventueel aanpassingen door.

Gebruikersnamen ‘onzichtbaar’ maken

Naast dat je WordPress website gebruikersnamen kent, zijn er ook ID’s gekoppeld aan die gebruikers. Gebruikers zijn hierdoor vrij simpel te achterhalen, meestal is de URL: https://jouwwebsite.nl/?author=1, 2, 3, 4,… al voldoende om op de archiefpagina van de betreffende website gebruiker terecht te komen. En je ziet dan meteen de gebruikersnaam die de auteur gebruikt om in te loggen. Voeg de volgende regel toe aan je .htaccess bestand om dat te voorkomen:

Gebruik je Yoast SEO? Ga naar de plugin, kies voor het onderdeel ‘Zoekweergave’. Daar vind je het tabblad ‘Archieven’, waar de de optie ‘Auteursarchieven’ vervolgens uit kunt zetten.

Beperk rechten voor een veiligere WordPress website

Heeft iedereen het toegangsniveau ‘beheerder’ of ‘administrator’ nodig? Waarschijnlijk niet. Vaak is het standaardniveau ‘auteur’ of ‘redacteur’ voldoende. Wanneer een beheerdersaccount gehackt wordt, is de impact groter dan wanneer een redacteursaccount wordt gehackt. Natuurlijk kunnen dan op paginaniveau ook wel scripts worden toegevoegd aan je website, maar van daaruit is de ‘core’ van WordPress in principe niet toegankelijk.

Kies een sterk wachtwoord

In relatie tot veiligheid is de gebruiker vaak de zwakste schakel. Dat hebben wij ook al eens meegemaakt helaas. Het is een open deur, je weet het al lang, maar… hoe sterk zijn jouw wachtwoorden? En met sterk bedoelen we niet alleen de lengte van een wachtwoord, er komt wel wat meer bij kijken. 7 tips bij het kiezen van je wachtwoord:

  1. Kies een wachtwoord dat lang genoeg is (8+ tekens)
  2. Zorg dat er geen logica in je wachtwoord zit
  3. Vermijd het gebruik van je naam of van bestaande woorden
  4. Combineer letters/cijfers/leestekens (dat draagt ook bij aan de vorige punten)
  5. Hergebruik je wachtwoorden niet
  6. Verander af en toe je wachtwoord
  7. Gebruik eventueel een betrouwbare wachtwoordmanager

Hoe ziet een aanval op je website eruit?
Eigenlijk kun je hier een heel eigen onderwerp van maken. Een veelgehoorde term in de wereld van hackpogingen op websites is de ‘Brute Force‘ attack. Dit is in veel gevallen pas het laatste redmiddel voor een hacker om binnen te komen. Kies je een wachtwoord wat in het woordenboek staat? Dan is de kans op ‘kraken’ veel groter. Dit wordt ook wel een ‘dictionary attack’ genoemd. Computerworld schreef hierover (in 2015) een interessant artikel. Een paar handige do’s and dont’s vind je in deze infographic op Emerce.

Beperk de inlog-pogingen

In het geval van een Brute Force of Dictionary Attack, is de kans niet zo groot dat kwaadwillenden in 1x binnenkomen op je website. Om het ze een stuk lastiger te maken, zijn er oplossingen beschikbaar die het aantal inlogpogingen beperken. Een van die plugins heet Limit Login Attempts Reloaded. Zelf doen we het meestal via WordFence… daarover later meer. Na een aantal foutieve inlogpogingen wordt inloggen voor een bepaalde periode onmogelijk gemaakt.

Gebruik een Recaptcha op je WordPress inlogpagina

Het toevoegen van een (re)captcha op je inlogpagina kan helpen voorkomen dat machines geautomatiseerde inlogpogingen kunnen doen. Sommige hostingproviders stellen dit zelfs automatisch in. Bij het inloggen hoef je in het gunstigste geval alleen maar een vinkje te zetten bij een veld met de tekst ‘ik ben geen robot’. Zoals bij zoveel veiligheidsmaatregelen geldt: het is geen garantie voor succes. En het komt wel de veiligheid ten goede, maar doorgaans niet het gebruiksgemak.

WordPress website beveiligen met recaptcha

Update je WordPress plugins

Wordt er een beveiligingslek ontdekt in een plugin? Dan is het uitbrengen van een update een logisch gevolg. Die moet je dan doorgaans nog wel even zelf doorvoeren. Doe je dat niet? Dan zit de ontdekte kwetsbaarheid dus nog in je plugin. Het regelmatig updaten van zowel de WordPress core als de plugins is dus geen luxe maar pure noodzaak. Laat je een nieuwe website bouwen? Informeer dan of de bouwer van je website ook WordPress hosting en technisch beheer kan aanbieden. Dat maakt het leven een stuk makkelijker en zorgelozer.

Maak je WordPress versie onzichtbaar

Zitten er zwakke plekken in de (niet meest recente) WordPress versie waarop jouw website draait? Dan vinden kwaadwillenden het wel lekker om makkelijk achter jouw WordPress versie te komen. Dat maakt het uitbuiten van de kwetsbaarheid namelijk een stuk makkelijker.

De WordPress versie van je website komt op meerdere plaatsen terug. Met een stukje script, wat toegevoegd wordt aan het functions.php bestand, kun je de versienummers verwijderen.

Pas eventueel je WordPress inlog-pagina aan

Hackers zijn dol op ‘standaard’. Je kunt het ze nog wat lastiger maken door je inlogpagina /wp-admin/ te hernoemen naar iets wat minder logisch is. Ook hiervoor geldt: geen garantie voor succes, maar wel een verkleining van het risico.

Werken met Two-Factor Authentication (2FA)

Two-factor authentication wordt momenteel als een van de meest veilige manieren van inloggen gezien. Zelfs als een hacker erin slaagt om je inloggegevens te slim af te zijn, is er nog een extra beveiligingslaag. Werken met 2FA is op verschillende manieren in te richten. Zo kun je werken met e-mail validatie (wat in mijn ervaring vrij irritant is) of via een app, zoals Google Authenticator.

Ook hiervoor geldt dat er de nodige losse plugins voor beschikbaar zijn, maar het zit ook als functie in een aantal ‘veelzijdigere’ security plugins.

Database Prefix van WordPress aanpassen

Standaard is de database ‘prefix’ van je WordPress website wp_. Het stuk wat daar achteraan komt en vanuit de WordPress core wordt geladen, is eigenlijk altijd hetzelfde. Door de prefix aan te passen, verklein je de kans op een (succesvolle) SQL Injection. Vind je het interessant om hier meer over te lezen? Dan verwijzen we je graag naar dit artikel.

Bestandsrechten op de server

Een ander ‘ding’ wat zijn de bestandsrechten / folder permissions op de server. Die worden uitgedrukt in een getal. Zo staat bij toekenning van de waarde 777 de map volledig open (lezen, schrijven en uitvoeren). Niet alleen voor jou, maar ook voor mensen die niet het beste voorhebben met je WordPress website. Als vuistregel kun je aanhouden dat je mappen minimaal op de waarde 755 moeten worden ingesteld en individuele bestanden op 644. In de praktijk blijkt dat dit in de basis al wel goed voor elkaar is, wanneer je uiteraard met een goede hostingpartij werkt.

Je hebt echt geen 214 plugins nodig

OK, dat is misschien wat overdreven. De recordhouder die wij in de praktijk zijn tegengekomen had niet minder dan 100 plugins geïnstalleerd staan, waarvan er ruim 40 ‘actief’ waren. In de eerste plaats is het niet echt wenselijk om je website op te bouwen uit een web van plugins. Daarnaast is iedere plugin een ‘potentiële kwetsbaarheid’.

Helemaal geen plugins gebruiken? Ook dat is wat overdreven. We gebruiken ze zelf ook, niets mis mee. Maar je mag daar best selectief in zijn. Als je plugins gebruikt, kies dan betrouwbare plugins. Natuurlijk is op voorhand lastig te bepalen of een plugin veilig en betrouwbaar is, maar er zijn wel indicatoren. Zo is security bij veel ‘premium’ (lees betaalde) plugins een standaard onderdeel van de workflow. De plugin is ‘business’ en geen ‘hobby project’. Kijk je naar de gratis plugins bij WordPress zelf, check dan even:

  1. Het aantal actieve installaties
  2. Wanneer deze het laatst is bijgewerkt
  3. Wat de waardering is van de plugin
  4. Check bij ‘ondersteuning’ hoe actief supportvragen worden opgepikt.

Geen garantie voor succes, maar wel een kleinere kans op toekomstige drama’s.

Naast dat je goed kijkt naar de betrouwbaarheid van je plugins, zou je ook eens door de lijst van geïnstalleerde plugins heen kunnen lopen. Wat gebruik je nog? En wat niet? Ga je die plugins die je niet gebruikt naar verwachting ook in de nabije toekomst (in internetland is dat: de komende maand) niet gebruiken? Weg ermee!

Het is echt niet zo dat alle plugins slecht zijn voor de beveiliging van je WordPress website, maar het draagt zeker niet bij aan de veiligheid (tenzij het security plugins zijn natuurlijk).

Hoe veilig is jouw thema?

In de praktijk komen we nog wel eens wat standaard thema’s tegen… vaak van wisselende kwaliteit. Zelf bouwen we websites op maat. We noemen dat objectgeoriënteerde WordPress websites. Zo maken we niet alleen je websitebezoeker blij, maar ook wordt het beheren en aanpassen van je website een stuk leuker en eenvoudiger.

Kies je er toch voor om je website op basis van een standaard thema te bouwen? No hard feelings. Let er alleen bij je keuze op dat je een betrouwbaar thema uitzoekt. Kies daarbij voor een standaardthema wat WordPress zelf aanbied of koop er een van een betrouwbare ‘marktplaats’. Ook hier geldt dat de populariteit (het aantal keer dat een thema is verkocht), beoordeling en update-historie goede indicatoren kunnen zijn.

Plugins voor een veilige WordPress website

Je hoef het niet allemaal zelf te doen ;-). Er zijn een aantal plugins die je helpen om je WordPress website zo veilig mogelijk te houden. Dat betekent natuurlijk niet dat je zelf niets meer hoeft te doen. Ze helpen je bijvoorbeeld met beveiligingsfuncties al een firewall, het scannen op malware en beperken van het aantal inlogpogingen. Sommige van deze plugins kun je ook gebruiken voor het instellen van reCAPTCHA meldingen, Two-factor authentication en het instellen van een verloopdatum voor wachtwoorden. Hoewel er ongetwijfeld meer oplossingen zijn, noemen we er 4:

Zoals binnen het hele thema veiligheid, kun je het bij de ene plugin nog gekker maken dan bij de andere. Daarnaast geldt dat ze, behalve de onderste, allemaal ook een premium variant bieden met meer mogelijkheden. Ook de (gratis) instapvariant biedt echter vaak al behoorlijk wat mogelijkheden.

WordPress website beveiligen met de Wordfence WordPress plugin

Niet vergeten: Maak back-ups van je WordPress website!

Voorkomen is altijd beter dan genezen. Maar als ‘voorkomen’ niet lukt, is het lekker dat je de optie ‘genezen’ hebt om op terug te vallen. Zorg daarom dat je regelmatig een back-up maakt van je website en database. Mocht er dan wat gebeuren, dan kun je altijd nog een oude versie van je website herstellen. Nog een kleine tip: sla die backup ergens anders op dan op dezelfde omgeving als waar je website ook op draait. Als het goed is een open deur, maar belangrijk genoeg om even te noemen.

Een veilige WordPress website: de slotsom

Hopelijk heb je er wat aan gehad. Voor onszelf geldt in ieder geval dat we weer aan het denken zijn gezet. We hebben in de zoektocht, waarvan dit artikel het resultaat is, weer nieuwe ideeën opgedaan om de websites die we zelf opleveren weer iets veiliger te maken. Ook zullen we een aantal maatregelen de komende tijd doorvoeren op websites die we voor klanten in beheer hebben.

De veiligheidsdiscussie is er eentje die alleen maar vaker gevoerd gaat worden. Het blijft waarschijnlijk ook een discussie waarbij het vooral zoeken wordt naar de balans tussen veiligheid, comfort / gebruiksgemak en de investering die nodig is om de maatregelen te treffen.

WordPress website beveiligen: kat en muisspel

Helemaal voorkomen kun je een hack(poging) niet. Het blijft een spel tussen kat en muis. Of tussen kat en vogel ;-). De kans op een gehackte website kun je wel verkleinen door een aantal maatregelen te nemen. Sommige maatregelen zijn extreem simpel, andere maatregelen hebben wat meer impact. Voor je bestaande WordPress website hoef je ook echt niet alles in één keer te doen.

WordPress onderhoud

WordPress website onderhoud

Loop je wel eens tegen een probleem aan? Kun je af en toe wel wat hulp gebruiken van een WordPress specialist? We staan ook op afroep klaar om je te helpen met je website!

Bekijk de mogelijkheden

Ook interessant