How to

Hoe bescherm je jouw WordPress-website tegen hackers?

0

WordPress is veruit het populairste contentmanagement-systeem (CMS) van dit moment. Bij website-eigenaren, maar ook bij hackers! Hou je van techniek en vind je het niet erg om maandelijks een paar uurtjes te besteden aan je eigen WordPress-site, lees dan verder. In dit artikel geef ik je tips over het beveiligen van je site. Denk daarbij aan het maken van de juiste keuzes in hostingprovider, het updaten van WordPress en plugins, firewalls en veiligheidsmaatregelen.

WordPress populair bij hackers

Een kwart van de top 10 miljoen websites gebruikt WordPress als beheersysteem. Deze grote populariteit zorgt ervoor dat WordPress een interessant doelwit is voor hack-aanvallen. In een recente poll bleek 39 procent van de respondenten in het laatste jaar last te hebben gehad van een gehackte WordPress-site.

Cybercriminelen scannen automatisch het web op hackbare sites. Je hoeft dus niet per se een populaire website te hebben. Gehackte sites worden vooral gebruikt om spam te versturen, virussen en malware te verspreiden en gegevens te stelen. Daarom is het van groot belang dat elke WordPress-website goed beschermd is. Gelukkig kun je veel zelf doen. Wil je meer zekerheid, heb je weinig tijd, of heb je te maken met privacygevoelige of financiële gegevens? Laat dan je website door een professional beveiligen.

Hoe selecteer je een geschikte hostingprovider?

WordPress draait altijd op een server. Je hebt hostingpakketten in elke denkbare vorm en prijs. Selecteer je de leverancier op prijs? Of beoordeel je juist op zijn kwaliteiten? Best fijn als je weet waar je op moet letten bij het selecteren van een geschikte partij. Hieronder vind je een aantal tips waarmee je de leverancier kan beoordelen.

  • Back-ups van de website en database: Bij problemen is het fijn als je je site kunt terugzetten naar een back-up. Maakt de provider automatisch back-ups van de website én database? En hoe lang worden deze bewaard? Omdat je een veiligheidsprobleem misschien niet meteen opmerkt, is het fijn als je een oude versie van je site kunt herstellen, bijvoorbeeld van twee of vier weken terug.
  • Up-to-date serversoftware: Zijn de servers van de provider up-to-date? De serversoftware (zoals Linux, PHP, en Apache) moeten regelmatig geüpdatet worden naar nieuwe versies. Vraag dus hoe vaak deze bijgewerkt worden.
  • Interne afscherming van websites: Als meerdere bedrijven gebruik maken van één server kun je te maken krijgen met veiligheidsproblemen van de ‘buren’. Simpelweg omdat zij hun website niet goed updaten. Daarom is het belangrijk om na te gaan of websites intern worden afgeschermd. Dit kan bijvoorbeeld door middel van een virtuele privéserver (VPS) of beveiligingstechnologie als AppArmor.
  • Web-firewall: Een web-firewall of web-applicatie-firewall (WAF) inspecteert het webverkeer vóórdat het je WordPress-site bereikt. De firewall kan bijvoorbeeld pogingen blokkeren om wachtwoorden te achterhalen, het wp-config.php-bestand in te lezen of fouten in plugins te misbruiken.
  • Nederlandse hostingprovider: Een Nederlandse webhost zorgt ervoor dat je gemakkelijk kunt bellen of mailen als er een probleem met je site is.
  • WordPress-ervaring: Last but not least, heeft de hostingprovider ervaring met WordPress? Een provider gespecialiseerd in WordPress heeft een pre.

Heb je een geschikte hostingleverancier gevonden? Goed geregeld! De volgende stap is het realiseren van extra veiligheidsinstellingen in de WordPress-omgeving zelf.

Extra veiligheidsinstellingen met iThemes Security

WordPress heeft een enorm aantal instellingen die de veiligheid kunnen beïnvloeden. Het gaat te ver om deze allemaal te noemen. Gelukkig zijn er een aantal WordPress-plugins die je helpen om je WordPress-website veilig in te stellen. De meest uitgebreide plugin van dit moment is iThemes Security (voorheen Better WP Security).

Als je nog nooit met iThemes Security hebt gewerkt, raden we aan om de plugin eerst uit te proberen op een testsite. Het kan soms gebeuren dat bepaalde opties conflicteren met andere plugins, of met je geïnstalleerde theme. Na het installeren van de iThemes Security-plugin zie je links in je WordPress-dashboard de optie ‘Security’.

De Security-pagina toont diverse actiepunten die je kunt ondernemen om je WordPress-site veiliger te maken. Klik op ‘Edit’ bij een van de actiepunten of ga naar het tabblad ‘Settings’ om de instellingen aan te passen. De plugin bevat ook een video-tutorial.

iThemes-security-dashboard

Klik op – Edit – bij een van de actiepunten of ga naar het tabblad – Settings – om de instellingen aan te passen.

Belangrijke opties van iThemes Security

Een paar belangrijke opties van iThemes Security om zeker te controleren:

Completely Disable XML-RPC

Deze optie schakelt het ouderwetse XML-RPC-protocol uit, dat regelmatig misbruikt wordt door hackers en steeds minder nut heeft. Sommige plugins en mobiele apps gebruiken dit, dus test de site wel even na het uitschakelen.

Hide Login Area

Geautomatiseerde hack-pogingen krijgen minder kans van slagen als het webadres van je dashboard anders is dan gebruikelijk. Via ‘Hide Login Area’ kun je het webadres van je dashboard van /wp-admin wijzigen naar iets wat je zelf kiest, zoals /admin of /login.

File Change Detection

Met deze functie krijg je periodiek een e-mail als er bestanden op je website zijn gewijzigd. Als iemand in je WordPress-site heeft gerommeld, kom je er zo snel achter.

Change Content Directory

Je vindt deze functie onder het ‘Advanced’-tabblad. Content staat normaal gesproken in de bekende wp-content-map. Omdat veel malware geautomatiseerd zoekt naar verouderde plugins en themes in deze map, is het veranderen van de content-map een echte aanrader. Via ‘Change Content Directory’ kun je de content-map van WordPress (wp-content) verplaatsen naar een zelf te kiezen adres, zoals bijvoorbeeld /content of /stuff. Een nadeel is dat je hiermee het web-adres van bestaande uploads ook verandert. Doe je dit op een bestaande website? Dan moet je dus mogelijk in je posts en pagina’s de links naar afbeeldingen aanpassen.

Change Database Prefix

Maak het moeilijker om van buitenaf in databasetabellen te kijken en voeg via ‘Change Database Prefix’ automatisch een random letterreeks toe aan je database-tabellen. Je vindt deze functie onder het ‘Advanced’-tabblad.

404 Detection

404 detection checkt hoe vaak een gebruiker een groot aantal niet-bestaande pagina’s probeert te benaderen en dus een groot aantal 404 errors krijgt. Dit is vaak een teken dat een hack-tool gebruikt wordt. Met behulp van deze instelling worden deze bezoekers tijdelijk geblokkeerd.

Filter Non-English Characters

Speciale tekens worden soms gebruikt in een hack-poging. Deze functie blokkeert al het verkeer met ‘speciale tekens’. Pas op: gebruik deze instelling alleen als je een Engels- of Nederlandstalige website hebt. Internationale gebruikers kunnen een foutmelding op je site krijgen als ze in een zoekveld een teken als é of ß intypen.

De kracht en de kwetsbaarheden van plugins en themes

De grote kracht van WordPress is het enorme aanbod aan plugins en themes die bijna elke denkbare functie kunnen realiseren. Maar wat beveiliging betreft zijn plugins en themes ook WordPress’ grootste zwakke plek. De WordPress-core zelf zit tegenwoordig vrij stevig in elkaar, al worden ook daarin soms nog kwetsbaarheden gevonden. Veel themes en plugins zijn helaas minder professioneel ontwikkeld dan WordPress zelf. Hieronder vind je een aantal tips om deze veilig te houden:

Update je WordPress, plugins en themes regelmatig

Dit is één van de belangrijkste dingen die je kunt doen. Er worden vaak nieuwe kwetsbaarheden in plugins en themes gevonden. Ruim regelmatig tijd in je agenda in om deze te updaten, bijvoorbeeld elke twee weken.

Update-Themes-Plugins-dashboard

Update al je plugins en themes regelmatig.

Gooi onnodige plugins en themes weg

Een hacker heeft maar één foutje in een regel code nodig om binnen te komen. Hoe minder code, hoe beter. Bekijk de plugin- en themes-pagina’s in je dashboard en check of je alles écht nodig hebt. Heb je meerdere plugins uitgeprobeerd tot je de juiste hebt gevonden? Gooi dan de onnodige plugins meteen weg. Als je niet zeker bent of je een plugin nodig hebt, deactiveer de plugin dan een tijdje, en check of je site nog goed werkt. Elke plugin die je weggooit, maakt je site veiliger.

Pas de code van een theme niet aan

Screenshot WP-Plugin

Screenshot van een WordPress plugin-pagina. Deze plugin wordt vaak bijgewerkt en heeft goede recensies.

Codewijzigingen in themes maken het moeilijker om het theme te updaten. Bij een update gaan de aanpassingen namelijk verloren. Dit leidt ertoe dat veel mensen met verouderde themes werken. Wil je de CSS van een theme aanpassen? Gebruik een ‘Custom CSS’- plugin waar je je eigen CSS-code in kunt plakken. Wil je de HTML- of PHP-code van het theme aanpassen? Dan is het beter om een Child Theme aan te (laten) maken waarin je puur jouw aanpassingen doorvoert. Vervolgens kun je het originele theme bijwerken.

Download plugins en themes alleen van officiële WordPress- en theme-sites

Met name premium themes worden vaak illegaal gekopieerd. Illegale versies van premium themes bevatten regelmatig malware en kunnen reclame en black-hat SEO-spam aan je websitevoegen. Om dit te voorkomen raden wij aan om alleen themes en plugins te downloaden vanaf officiële WordPress- en theme-sites.

Check de betrouwbaarheid voordat je een plugin installeert

Je kunt een goed idee krijgen van de betrouwbaarheid van een plugin op de officiële WordPress plugin-site. Bezoek, voordat je een plugin installeert, deze site en controleer of de plugin vaak wordt bijgewerkt, goede recensies heeft, en lees eventueel de reviews en ervaringen van gebruikers.

Meer tips!

Kun je er geen genoeg van krijgen? Dan heb ik hieronder nog een aantal handige tips waarmee je je WordPress-site nog beter kunt beschermen.

  • Kies altijd een moeilijk WordPress-wachtwoord. Nieuwe WordPress-versies hebben een invoerhulp die controleert hoe moeilijk je wachtwoord is.
  • Gebruik nooit hetzelfde wachtwoord op meerdere sites. Mocht een wachtwoord in verkeerde handen komen, zorg dan in ieder geval dat je andere accounts veilig blijven.
  • Overweeg om automatische achtergrond-updates voor de WordPress-core en -plugins aan te zetten. Hiermee werkt WordPress automatisch bij als WordPress of een plugin een beveiligings-update heeft. Het fijne is dat je hiermee bepaalde urgente problemen kunt ondervangen. Aan de andere kant bestaat er een kans dat een automatische update iets kapot maakt. Als je WordPress automatisch naar ‘minor releases’ laat updaten, is de kans op dit soort problemen klein.
  • Zorg er altijd voor dat automatische updates aan staan op je eigen computer en mobiele devices. Gebruik het liefst een veilige browser zoals Chrome. We zien regelmatig dat klanten een virus op hun computer krijgen, waarna het virus de wachtwoorden uit de browser onderschept en de websites infecteert met malware.
  • Wanneer je meerdere gebruikers hebt, geef dan zo weinig mogelijk mensen de Administrator- of Beheerder-rol. We zien vaak dat uit gemak beheerdersaccounts worden gebruikt. Voor veel gebruikers is de Editor- of Schrijver-rol voldoende om hun taken uit te voeren. Dit verkleint de gevolgen als een wachtwoord gestolen wordt, en voorkomt ook dat zij per ongeluk een site-instelling veranderen.
  • Verwijder onnodige WordPress-gebruikersaccounts. In je WordPress-dashboard kun je dit vinden onder ‘Gebruikers’ of ‘Users’.
  • Om te voorkomen dat WordPress-gebruikers plugin- en theme-code aanpassen, kun je de volgende regel toevoegen aan je wp-config.php-bestand: define(‘DISALLOW_FILE_EDIT’, true); Dit verkleint de gevolgen van een gestolen wachtwoord.
  • Houd sites en mailinglists met beveiligingsnieuws goed in de gaten. Een goede site waar problemen in WordPress-plugins worden gemeld is WpVulnDB. Deze site heeft een RSS-feed waarop de meeste WordPress-beveiligingsproblemen worden gemeld.

Dit artikel is geschreven in samenwerking met Walter Hop, technisch directeur van Internetbureau Slik.