WordPress website veiliger met 3 andere tips

Het beveiligen van een WordPress-installatie blijkt toch niet altijd zo makkelijk. Exploits worden continu ontdekt en razendsnel verspreid. Updates volgen elkaar snel op maar geen enkele update garandeert een veilige omgeving.

Er is een groot verschil tussen WordPress beheren en WordPress gebruiken. Gebruikers verwachten vooral dat alles vanuit de webinterface werkt en willen zo min mogelijk onderbrekingen. Met één klik updaten, is prettiger dan met twee. Uploads moeten gewoon werken. De beheerder maakt zich zorgen over uploaden van ongewenste uitvoerbare code en heeft liever dat het updaten van WordPress iets ingewikkelder is.

De meest voor de hand liggende tip is om alle beschikbare updates zo snel mogelijk te installeren. De volgende drie tips beschrijven een andere laagdrempelige manier om de installatie van jouw WordPress website veiliger te maken.

1. Oude plugins en themes verwijderen

Een onderschat onderdeel van het bijhouden van WordPress zijn niet gebruikte themes en plugins. Als deze worden uitgeschakeld in de WordPress-admin wordt de code niet gedeactiveerd. WordPress zelf zal de code niet langer aanspreken. Maar deze blijft staan in de map /wp-content/themes of wp-content/plugins en is rechtstreeks aanroepbaar. Kwetsbaarheden zijn nog steeds beschikbaar en hebben toegang tot alles waar WordPress toegang tot heeft. Wordt een plugin uitgeschakeld? Verwijder deze ook via de WordPress-admininterface en controleer achteraf of alle bestanden ook daadwerkelijk van het filesystem zijn verwijderd.

2. Ken de kwetsbaarheden en pas de rechten daar op aan

Om WordPress praktisch bruikbaar te maken, moet het programma ergens iets wegschrijven. Met name afbeeldingen om posts op te leuken moeten makkelijk en laagdrempelig kunnen worden toegevoegd. Maar overal waar WordPress mag schrijven, kan mogelijk een ongewenst en kwaadwillend script worden geplaatst. Daarom is het goed om de schrijfrechten van de applicatie te beperken.

Denk goed na waar de applicatie mag schrijven en zie dat als ‘zwakke’ locatie. Dan is het mogelijk hier alternatieve maatregelen op te treffen of de locatie extra in de gaten te houden.

Geef WordPress bijvoorbeeld enkel schrijfrechten in /wp-content/uploads en in het huidige jaar (/wp-content/uploads/2015). Dan is de applicatie in staat uploads te plaatsen, maar is de kans dat een kwaadwillend script tussen andere bestanden wordt verstopt een stuk kleiner.

3. /wp-content/uploads is voor statische bestanden

Als eenmaal is vastgesteld dat de map /wp-content/uploads voor WordPress schrijfbaar moet zijn, is het verstandig om de soort bestanden die hier geplaatst mogen worden te beperken. WordPress zal enkel mediabestanden uploaden (lijst op https://codex.wordpress.org/Uploading_Files) en geeft een foutmelding als een ander bestand wordt aangeboden. Helaas kan bij een fout in een plugin, theme of de WordPress core deze beveiliging mogelijk omzeild worden.

Het is dus verstandig om de uitvoerbaarheid van scripts in de map /wp-content/uploads te beperken. Via een .htaccess voor Apache of een Nginx location block is het mogelijk om alle externe requests naar een script in deze mappen te blokkeren. Dit kan aan de hand van een *blacklist* (voorkom toegang tot .php) of een *whitelist* (enkel toegang tot media-bestandstypen). Het laatste is iets intensiever in onderhoud, maar geeft de meest expliciete controle.

Voorbeelden:

Nginx Blacklist:

# Blocks direct external access (direct http requests) to all .php files in any /uploads and /files directory (for example /wp-content/uploads/1999/malicious.php)

location ~* /(?:uploads|files)/.*.php$ {
 deny all;
}

Nginx Whitelist

# Will deny direct external access (direct http requests) to all files in any /uploads and /files directory, with exception of listed file extentions based on https://codex.wordpress.org/Uploading_Files

location ~* /(?:uploads|files)/.*.(?:jpg|jpeg|png|gif|ico|svg|pdf|doc|docx|ppt|pptx|pps|ppsx|odt|xls|xlsx|psd|mp3|m4a|ogg|wav|mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2)$ {
 allow all;
}
location ~* /(?:uploads|files)/.*$ {
 deny all;
}

Apache .htaccess in /wp-content/uploads Blacklist

# Blocks direct external access (direct http requests) to all .php files in the current directory and all subdirectories (for example /wp-content/uploads/1999/malicious.php)

<Files *.php>
deny from all
</Files>

Apache .htaccess /in /wp-content/uploads Whitelist

# Will deny direct external access (direct http requests) to all files in the current directory and any subdirectory, with exception of listed file extentions based on https://codex.wordpress.org/Uploading_Files

Order deny,allow
Deny from all
<Files ~ “.(jpg|jpeg|png|gif|ico|svg|pdf|doc|docx|ppt|pptx|pps|ppsx|odt|xls|xlsx|psd|mp3|m4a|ogg|wav|mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2)$”>
Allow from all
</Files>
Arne Coomans, Service Manager bij True
Deel dit artikel via sociale media:

Technology - 03.02.2017

WordPress heeft de onthulling van een groot lek een week achterwege gelaten. Dat schrijft Tweakers.net. Vorige week werd bekend dat WordPress drie andere kwetsbaarheden heeft gedicht (bron), maar nu is bekend dat er nog een vierde kwetsbaarheid is die een groot risico met zich meebrengt. De boosdoener in de kwetsbaarheid is de REST API van WordPress, […]

Hosting - 10.11.2016

Jouw website opzetten met WordPress is een simpele manier om snel een strak ogende en interactieve website online te zetten, zonder dat je zelf veel technische kennis over webhosting hoeft te hebben. Juist in deze simpele instap schuilt gevaar. Als je snel een website online wilt zetten, worden de prestaties en de beveiliging van de […]

Technology - 10.04.2014

Canonical, het bedrijf achter Ubuntu, brengt elk halfjaar een nieuwe versie van haar Operating System (OS) Ubuntu uit. Op 17 april 2014 gaat het gebeuren, de langverwachte Ubuntu 14.04 Trusty Tahr LTS komt beschikbaar. Een hele mond vol, zit hier een betekenis achter? Elke Ubuntu-versie komt uit met een nummering die staat voor het jaar […]

Blijf op de hoogte en schrijf u in voor onze nieuwsbrief
Schrijf u in voor de nieuwsbrief

Vraag offerte aan

Vul onderstaand formulier in. True neemt zo snel mogelijk contact met u op.