Een standaard en up-to-date WordPress-installatie met een sterk wachtwoord is redelijk veilig. Wil je echter overleven op het internet, dan is ‘redelijk veilig’ niet genoeg.

Dat is waar File Integrity Monitoring (FIM) zich in de kijker speelt. File Integrity Monitoring-tools en plugins, oftewel tools die bestandsintegriteit bewaken, houden de bestanden van je site in de gaten en geven een waarschuwing bij bestandsuploads, wijzigingen, verwijderingen, enzovoort.

File Integrity Monitoring helpt je om beveiligingsaanvallen voor te blijven en om fouten te identificeren die je website zou kunnen blootstellen aan hackaanvallen.

In dit artikel geven we je een diepgaande inleiding tot File Integrity Monitoring en leggen we uit hoe dit de beveiliging van je site kan verbeteren. Verder zullen we ook een aantal verschillende tools en plugins behandelen die je kan inzetten als beveiligingsoplossing voor je WordPress-site.

Laten we beginnen!

File Integrity Monitoring: een introductie

Als het gaat om het beschermen en onderhouden van de infrastructuur van websites, servers, dan is bestandsintegriteitscontrole van cruciaal belang. Deze oplossing valideert de integriteit van een bepaalde omgeving, of simpeler gezegd: het controleert de inhoud van de bestanden op onverwachtse wijzigingen.

Je kan File Integrity Monitoring gebruiken om bestandswijzigingen binnen besturingssystemen, webservers en webapplicaties (zoals WordPress) te detecteren. Het kan zelfs ingezet worden voor het monitoren van file-based softwareoplossingen zoals databases en configuratiebestanden.

Organisaties die gebruik maken van een File Integrity Monitoring-oplossing hebben een grotere kans om vroegtijdig beveiligingsinbreuken te detecteren, waarmee ze de kans vergroten om online te blijven en grote schade te voorkomen. Om deze reden wordt File Integrity Monitoring voornamelijk als een beveiligingsoplossing beschouwd.

Deze oplossing kan echter ook andere doelen dienen. In het verleden is FIM ingezet om configuratiewijzigingen van software en besturingssystemen te monitoren in:

  • De (open)poortconfiguratie op een server
  • Configuratie van webserver en netwerkservices.
  • Lopende en afgesloten services (daemons) op een server.

Zelfs geplande bestandswijzigingen kunnen soms voor problemen zorgen op je WordPress-site. Door al je wijzigingen bij te houden met File Integrity Monitoring, kan je eenvoudig de mogelijke oorzaken opsporen en uitzoeken welke foutmeldingen verband houden met welke bestandswijzigingen.

Dit zorgt dat problemen sneller opgelost kunnen worden, waardoor je site sneller weer online is.

Hoe File Integrity Monitoring werkt

File Integrity Monitoring werkt door “vingerafdrukken” van de bestanden van je site te nemen en deze vervolgens met elkaar te vergelijken. Als de vingerafdrukken verschillen, dan betekent dit dat de bestanden zijn gewijzigd.

Om een vingerafdruk te maken, scant de File Integrity Monitor (ook wel bekend als een File Integrity Scanner) een bestand en maakt deze een “checksum” aan – een unieke reeks gegevens die specifiek zijn voor wat bestand – door een cryptografische hashfunctie op het bestand uit te voeren.

Vingerafdrukken sitebestanden
Vingerafdrukken sitebestanden

File Integrity Monitoring kan ook bijzonder nuttig zijn bij het checken van andere bestandseigenschappen, zoals machtigingen en wijzigingsdata. Deze checks zijn cruciaal, omdat zelfs de meest kleine wijzigingen aan de machtigingen van een bestand het systeem kan openstellen voor aanvallen.

Het belang van File Integrity Monitoring

Een van de aspecten die van File Integrity Monitoring een onmisbare beveiligingsoplossing maken, is dat het mes aan twee kanten snijdt: het is zowel een reactieve als proactieve beveiligingsoplossing.

File Integrity Monitoring als proactieve beveiliging

Een voorbeeld van proactieve beveiliging is het identificeren van fouten die door jouw ontwikkelaars zijn gemaakt tijdens het werken aan je website, die mogelijk je site kwetsbaar maakt voor aanvallen. Verkeerde bestandsmachtigingen, per ongeluk achtergelaten bestanden met sensitieve informatie, zoals een databaseback-up of sourcecode-bestand, zijn goede voorbeelden van beveiligingskwesties die proactief door File Integrity Monitoring kunnen worden opgespoord.

File Integrity Monitoring als reactieve beveiliging

File Integrity Monitoring als beveiligingsoplossing kan ook ná een hackaanval aangeven wat er precies is gewijzigd op je site of in welke bestanden de malware is geïnjecteerd.

Verder kan het zelfs wijzigingen in de configuratie van cruciale sitebestanden controleren,  bestanden als wp-config.php en .htaccess.

Dankzij deze essentiële informatie kan je je site terugzetten naar de vorige (veilige) status en kan je malware of “slechte code” in mum van tijd afschudden.

Compliance-vereiste

In sommige gevallen is File Integrity Monitoring zelfs wettelijk verplicht. De Payment Card Industry Data Security Standard (PCI DSS) vereist van haar sites:

“Het implementeren van een mechanisme dat veranderingen detecteert (bijvoorbeeld tools voor het bewaken van bestandsintegriteit) dat personeel waarschuwt bij ongeoorloofde wijziging.”

Het beheren van de gevoelige informatie van bezoekers van je website is een serieuze verantwoordelijkheid. Als je website ook maar iets aan klantgegevens opslaat, met name gegevens van kaarthouders, dan verzeker je jezelf met File Integrity Monitoring ervan dat niemand met deze data heeft geknoeid, naast dat je je aan de wet houdt.

PCI DSS
PCI DSS

Waarom je WordPress-site File Integrity Monitoring moet gebruiken

WordPress is een webapplicatie en bestaat uit twee soorten bestanden: niet-uitvoerbare en uitvoerbare bestanden.

De eerste zijn meestal logbestanden en mediabestanden. Logbestanden worden meestal gegenereerd door plugins en thema’s, terwijl mediabestaden vaak door jou worden geüpload naar je website, zoals afbeeldingen, video’s, PDF’s, enzovoort. Ze zijn niet-uitvoerbaar, omdat de webserver ze niet uitvoert, maar slechts levert.

De meeste niet-uitvoerbare bestanden worden opgeslagen in de WordPress-map /wp-content/uploads. Wijzigingen in niet-uitvoerbare bestanden hebben geen invloed op de beveiliging, prestaties of functionaliteit van je website. De meeste File Integrity Monitoring-oplossingen sluiten deze bestanden standaard uit van hun scans.

Aan de andere kant heb je uitvoerbare bestanden. Hieronder vallen PHP, JavaScript en andere bestanden die de broncode van je site bevatten, zoals de WordPress-core, plugins, thema’s en andere aangepaste webtoepassingen die je misschien hebt. Wijzigingen in uitvoerbare bestanden kunnen optreden, maar alleen wanneer je:

Elke andere wijziging in de uitvoerbare bestanden van je WordPress-site kunnen een teken zijn van een inbraak, malware-injectie of een fout van een ontwikkelaar. Door een plugin voor File Integrity Monitoring op je WordPress-site te gebruiken kan je deze problemen gemakkelijk herkennen, nog voordat ze een echte bedreiging vormen voor de beveiliging of functionaliteit van je website.

Kort samengevat: File Integrity Monitoring kan je helpen met het identificeren van testbestanden die verwijderd hadden moeten worden, de meeste malware-injecties – inclusief backdoors, redirects en Trojans en andere schadelijke bestandswijzigingen.

Wanneer je deze oplossing gebruikt in combinatie met een activiteitenlogboek, geeft File Integrity Monitoring je op elk gewenst moment een volledig beeld van wat er zich op je site plaatsvindt. Je kan post-hack forensisch onderzoek uitvoeren om te bepalen welke bestanden het doelwit waren en door wie, maar ook de beveiliging van deze bestanden verbeteren om toekomstige aanvallen te voorkomen.

Twee verschillende soorten File Integrity Monitoring

In de kern is File Integrity Monitoring altijd hetzelfde: het vergelijken van vingerafdrukken van een enkel bestand dat op verschillende momenten is afgenomen. Er zijn verschillende manieren waarop dit kan worden bereikt.

1. Bestanden vergelijken met een centrale bibliotheek

Een veelgebruikte methode is het vergelijken met een vingerafdruk met die uit een “bibliotheek”, oftewel uit een centrale repository. Hierbij maak je gebruik van een WordPress-plugin (hieronder meer daarover). In dit geval vergelijkt de plugin de vingerafdruk van het index.php-bestand van je site met de vingerafdruk van het nieuwste index.php-bestand dat is uitgegeven door WordPress.

Het voordeel van deze methode is dat je eenvoudig kan kijken of de bestanden identiek zijn aan de originele bestanden. Omdat je de gegevens vergelijkt met die uit een centrale bibliotheek, zijn er echter wel enkele tekortkomingen:

  • De oplossing kan geen wijzigingen identificeren in uitgegeven configuratiebestanden zoals .htaccess en wp-config.php.
  • Je krijgt dus veel false-positives wanneer je de code van je eigen site wijzigt.
  • De plugin kan alleen bestanden van bekende applicaties (WordPress-core) en soms van populaire plugins vergelijken.
  • De oplossingen kunnen geen wijzigingen detecteren in op maat gemaakte applicaties of plugins, omdat er simpelweg geen vergelijkingsmateriaal voor handen is.
  • De beveiliging van je website is afhankelijk van hoe snel de leverancier de originele vingerafdrukken bijwerkt of van de beschikbaarheid van de centrale bibliotheek.
Bestanden vergelijken
Bestanden vergelijken

2. Bestanden vergelijken met zelf gegenereerde data

Vanwege de beperkingen van bovenstaande methode, is het vergelijken van twee sets zelf-gegenereerde gegevens de methode die de voorkeur geniet en ook de methode die door professionals wordt aangeraden. Deze methode detecteert bestandswijzigingen door vingerafdrukken te vergelijken met die uit eerdere scans.

Dit betekent dat de plugin meteen al na installatie de eerste vingerafdrukken genereert. Wanneer het vervolgens de bestanden opnieuw scant, vergelijkt het de nieuwe vingerafdrukken met die van de originele scan. En wanneer er een bestandswijziging wordt gedetecteerd, kan je de plugin configureren om die wijziging automatisch te accepteren of je een waarschuwing te sturen.

Deze methode heeft de voorkeur boven de vorige vanwege de volgende voordelen:

  • Het kan veranderingen in aangepaste code detecteren.
  • Het systeem past zich aan je website aan (het kan wijzigingen valideren en vingerafdrukken bijwerken, waardoor het continue aanpassen van je site wordt ondersteund).
  • Het rapporteert aanzienlijk minder false-positives.

Om deze redenen, wanneer je op zoek bent naar een File Integrity Monitoring-tool of plugin, wil je idealiter een kiezen die zich baseert op zelf-gegenereerde gegevens.

3 soorten File Integrity Monitoring tools die je kan gebruiken om je site te beschermen

Er zijn verschillende File Integrity Monitoring-oplossingen beschikbaar. We hebben ze onderverdeeld in drie categorieën hieronder: Laten we beginnen bij het begin!

1. Softwareoplossingen op serverniveau

Deze oplossingen worden geïnstalleerd op de webserver van het besturingssysteem en controleren alle bestanden op de webserver. Dit betekent ook meteen dat je ze alleen kan gebruiken als je je eigen webserver of VPS hebt.

Er zijn een aantal beschikbare opties op de markt, zoals:

Als oplossingen op serverniveau richten ze zich niet specifiek op WordPress-sites. De kans is dus aanwezig dat ze veel false-positives genereren. Bovendien zijn ze vrij prijzig en vereisen ze specialistische kennis om ze op te zetten en te beheren.

2. WordPress plugins

Als je WordPress-specifieke File Integrity Monitoring-oplossing zoekt, dan zijn er een aantal plugins die deze taak voor je kunnen uitvoeren.

Website File Changes Monitor

Website File Changes Monitor is een plugin die zich volledig richt op het monitoren van bestandsintegriteit van WordPress-sites. De plugin is gratis en stuurt je een waarschuwing via e-mail als het bestandswijzigingen detecteert.

Overzicht bestandswijzigingen met menu
Overzicht bestandswijzigingen met menu

De plugin gebruikt zelf-gegenereerde data om bestandsvergelijkingen te maken en je kan zelfs on-demand scans laten maken. Deze File Integrity Monitoring-oplossing voor WordPress is volledig naar eigen hand te configureren en je kan naar wens bestanden en mappen uitsluiten, de planning van scans instellen en nog veel meer.

Wat deze plugin zo speciaal maakt is dat het de enige WordPress-plugin is die volledig op de hoogte is van de WordPress-core, plugins en thema’s en alle wijzigingen daaromtrent.

WordPress File Monitor

Ook WordPress File Monitor is een plugin die zich uitsluitend richt op het maken van zelf-gegenereerde data om File Integrity Monitoring mogelijk te maken. Het is echter niet op de hoogte van de WordPress-core, plugins en themawijzigingen dus je krijgt mogelijk veel waarschuwingen rond false-positives.

Waarschuwing false-positive
Waarschuwing false-positive

False-positives kunnen je site zeer negatief beïnvloeden omdat een gebruiker die het verschil niet kent tussen serieuze en valse meldingen ook niet kan bepalen of iets een veilige bestandswijziging is of een aanval is waar meteen op gereageerd moet worden.

Andere plugin-opties

Bovenstaande plugins zijn de enige plugins die voor WordPress de integriteit van bestanden kunnen bewaken. Er zijn wel andere plugins die soortgelijke bewakingsmogelijkheden aanbieden, maar deze maken deel uit van alles-in-één beveiligingsoplossingen, zoals Sucuri Security, iThemes Security en Wordfence.

Alle drie de plugins gebruiken de methode waarin bestanden worden vergeleken met die uit een centrale bibliotheek en zijn dus niet op de hoogte van wijzigingen in de structuur van je site. Met andere woorden: ze identificeren alleen wijzigingen in de WordPress-core en enkele populaire plugins.

3. Opensource File Integrity Monitoring tools

Als plugins niet helemaal je ding zijn, dan kan je een van de vele opensource tools overwegen die je helpen met het monitoren van je bestanden. Tripwire biedt bijvoorbeeld een opensource versie van zijn platform met gratis beveiligingsfuncties, waaronder bestandscontrole. Dat gezegd hebbende, deze versie is niet zo effectief als de betaalde tegenhanger.

Een ander opensource platform die je kan overwegen is OSSEC:

Het OSSEC platform
Het OSSEC platform

Dit is een populaire gratis beveiligingsoplossing en kan ook bestandscontroletaken uitvoeren. Zoals veel van de andere tools die we hebben genoemd, werkt het echter op serverniveau. Hoewel het kan worden gebruikt met WordPress, is het alleen mogelijk als je een dedicated server of VPS hebt.

Als je voor OSSEC kiest, moet je een aantal geavanceerde configuraties uitvoeren, maar zelfs dan is dit misschien niet de meest nauwkeurige oplossing voor je site.

Het meest interessante aspect van opensource beveiligingsplatforms is dat, als je bekend bent met code, je deze tools kan aanpassen om uitgebreide functionaliteiten mogelijk te maken en de site aan jouw voorkeuren en behoeften aan te passen.

Samenvatting

WordPress-beveiliging is een serieuze zaak. Het nemen van preventieve maatregelen om je website, content, bedrijf en gebruikersgegevens te beschermen is van cruciaal belang. File Integrity Monitoring is wat ons betreft hier onlosmakelijk mee verbonden. Verder is het belangrijk om een goed WordPress-back-upsysteem te hebben voor het herstellen van je bestanden, voor het geval er een aanval plaatsvindt.

In dit artikel hebben we aangetoond hoe File Integrity Monitoring aan beide behoeften kan voldoen en hebben we drie File Integrity Monitoring-oplossingen met je gedeeld, die je kan inzetten op je WordPress-site:

  1. Softwareoplossingen op serverniveau zoals Tripwire (effectief, maar erg prijzig).
  2. Gratis WordPress-plugins zoals Website File Changes Monitor.
  3. Opensource tools zoals OSSEC.

Heb jij nog vragen over File Integrity Monitoring? Laat het ons hieronder in de reacties weten!

Robert Abela

Robert Abela is the founder of Melapress, developers of high-quality niche WordPress security & admin plugins. Robert has over 18 years experience in the software industry and his work has been featured on leading security websites. Learn more about his work and latest articles on Twitter.