‘Defence in depth’ bij WordPress-installaties

Nog niet eens zo lang geleden werden websites noodgedwongen nog beheerd door webmasters, die een dagtaak hadden aan het vullen en bijhouden ervan. Tegenwoordig zijn de content management systemen achter de gemiddelde site zo gebruiksvriendelijk dat iedereen ze kan beheren. Naast gemak brengt dit ook de nodige problemen met zich mee. Voor de verantwoordelijke IT-afdelingen, maar ook voor de provider die voor de hosting zorgt.

Veel bedrijven gebruiken tegenwoordig het populaire WordPress content management systeem. Dit is een opensource-pakket dat actief ontwikkeld en onderhouden wordt. Mede daarom is het populair onder beheerders. Maar zoals Cruijff zou zeggen: “Elk nadeel heb z’n voordeel”. Dat geldt hier ook; omdat het pakket zo populair is, weten de hackers ook hun weg te vinden naar de WordPress-installaties.

Het WordPress-CMS bestaat uit een core, het basisgedeelte dat iedere installatie heeft, en op maat gemaakte plug-ins. Die plug-ins voorzien in allerlei functionaliteiten, van contactformulieren en anti-spam plug-ins tot social networking-toevoegingen. Met name de core van WordPress wordt regelmatig voorzien van updates, maar de custom made plug-ins laten nog wel eens op zich wachten, omdat de levering daarvan volledig afhangt van de opensource community. Zo ontstaat natuurlijk een ideale omgeving voor een hacker die op zoek is naar gevoelige informatie van gebruikers of erop uit is een site of complete server neer te halen.

Hieruit is een discussie ontstaan tussen internet service providers (ISP’s) en ontwikkelaars, hetgeen ertoe geleid heeft dat het op dit moment mogelijk is om een WordPress-installatie op meerdere vlakken te beveiligen (een zogenaamde “defence in depth“, waarbij op meerdere lagen van beveiliging worden gebruikt).

Hieronder de verschillende soorten beveiliging, gecategoriseerd naar de gebruikers:

Eindgebruikers:

*
Better WP Security
Deze plug-in is in staat om alle binnenkomende verzoeken te filteren en deze te onderwerpen aan een controle. Hiermee zijn met name illegale login-pogingen af te vangen (via bijvoorbeeld een brute force methodiek, waarbij talloze keren met verschillende gebruikersnamen of wachtwoorden wordt geprobeerd in te loggen) of de toegang te beperken tot het admin-gedeelte op het IP-adres.

Attackers, zoals ze hier genoemd worden, kunnen enige tijd geblokkeerd worden als ze door de plug-in gezien worden als bedreiging. Daarnaast kan Better WP Security ook een e-mail uitsturen zodat beheerders zelf een blik op de logging kunnen werpen.

* Secure WordPress
Deze plug-in past een aantal zaken aan binnen WordPress die de community al dan niet bewust aan laat staan. Het gaat hierbij met name om foutmeldingen bij inlog-pogingen en versienummers (voor wel en niet ingelogde gebruikers).

ISP’s:

Met name ISP’s zijn gebaat bij een goede oplossing, omdat er meestal meerdere WordPress-installaties op één machine draaien; dat maakt het aantrekkelijk om deze server over te nemen. Daarom zijn ISP’s geïnteresseerd in totaaloplossingen. De volgende zijn beschikbaar:

* WAF (Web Application Firewall)
Een web application firewall is een module die draait binnen de webserver en elk verzoek bekijkt en filtert aan de hand van de ingestelde configuratie. Een goed voorbeeld is mod security voor in de Apache webserver. Deze module filtert alle verzoeken en kan bij het detecteren van een foutief verzoek ingrijpen en het verzoek niet bezorgen. Op dit moment kan mod security 70% van de aanvallen herkennen en blokkeren die naar deze webserver verstuurd worden.

* HIDS (Host-based Intrusion Detection System)
Een HIDS is een softwarepakket dat geïnstalleerd wordt op de onderliggende server en in staat is om een set van log files te monitoren en daarop te acteren. De HIDS packages zijn te gebruiken vanaf één installatie, maar ook  op een complete farm van honderden servers. Zoals hierboven aangegeven kan een HIDS ook log files analyseren, en buiten de standaard logging kan hij logs bijhouden van de webserver (zoals Apache) waarmee de laatste 30% gelogd kan worden naar een centraal punt.

Daarnaast houdt een HIDS ook een snapshot bij van het systeem, zodat het pakket elk gewijzigd bestand als risico kan markeren. Deze files zouden namelijk gewijzigd kunnen raken als een systeem gehacked is en de hacker bijvoorbeeld zelf programma’s gaat installeren, zoals mailservers of andere tools waarmee hij zijn doel kan bereiken.

Bovenstaande pakketten maken een up-to-date omgeving weliswaar veiliger, het is belangrijk te onthouden dat een niet geüpdatete plug-in te allen tijde een risico blijft. Let daarbij dan ook op het uitdelen van rechten bij het installeren van een WordPress-installatie en maak gebruik van de update-notifier, zodat er nooit een outdated versie online staat.


Thijs van Leeuwen is Linux Professional bij Jitscale, een IT-beheerorganisatie die gespecialiseerd is in het ontwerpen, inrichten, beheren en optimaliseren van zeer uiteenlopende bedrijfskritische IT-platformen. Dit artikel was ook te lezen op de corporate blog van Jitscale.

Referenties:
http://en.wikipedia.org/wiki/Defense_in_depth_(computing)
http://en.wikipedia.org/wiki/Host-based_intrusion_detection_system

Over Thijs van Leeuwen