Hoe beschermt jij je WordPress-website tegen hackers?
WordPress is veruit het populairste contentmanagement-systeem (CMS) van dit moment. Bij website-eigenaren, maar ook bij hackers! Hou je van techniek en vind jij het niet erg om maandelijks een paar uurtjes te besteden aan je eigen WordPress-site, lees dan verder. In dit artikel geven wij 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 kan je veel zelf doen. Wil jij 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 vindt je een aantal tips waarmee jij de leverancier kunt beoordelen.
- Back-ups van de website en database: Bij problemen is het fijn als jij 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 jouw site kan 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 kan 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 jij gemakkelijk kan 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 jij 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 jij 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 jij kan 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.
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’ kan jij 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’ kan 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. Doet je dit op een bestaande website? Dan moet jij 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 vindt jij een aantal tips om deze veilig te houden:
Update je WordPress, plugins en themes regelmatig
Dit is één van de belangrijkste dingen die jij kan 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.
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 jij meerdere plugins uitgeprobeerd tot je de juiste had gevonden? Gooi dan de onnodige plugins meteen weg. Als je niet zeker weet of je een plugin nodig hebt, deactiveer de plugin dan een tijdje, en check of je site nog goed werkt. Elke plugin die jij weggooit, maakt je site veiliger.
Pas de code van een theme niet aan
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. Wilt je de CSS van een theme aanpassen? Gebruik een ‘Custom CSS’- plugin waar jij je eigen CSS-code in kan 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 kan jij 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 website voegen. Om dit te voorkomen raden wij aan om alleen themes en plugins te downloaden vanaf officiële WordPress- en theme-sites.
Meer tips!
Kan jij er geen genoeg van krijgen? Dan hebben wij hieronder nog een aantal handige tips waarmee jij je WordPress-site nog beter kan 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 kan 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 jij 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 uw WordPress-dashboard kunt u dit vinden onder ‘Gebruikers’ of ‘Users’.
- Om te voorkomen dat WordPress-gebruikers plugin- en theme-code aanpassen, kan 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.