Ga naar hoofdinhoud
Terug naar blog
beveiligingwebsitemkbaiwordpress

Draait je website op PHP? Zo check je of het lek van oktober bij jou dicht is

Op 20 oktober kwamen twee kritieke PHP-lekken naar buiten (PHP2Shell) en gingen overheidssites uit voorzorg offline. In vijf stappen weet je of jouw website, webshop of klantportaal veilig is.

23 oktober 20266 min leestijd

Waarom DigiD ineens offline was

Woensdag 21 oktober was een rare dag op internet. DigiD, MijnOverheid en de website van de Tweede Kamer waren volgens de NOS niet bereikbaar. Gemeenten als Zwolle haalden hun site uit voorzorg offline. Er was geen storing en geen aanval: de software waarop die sites draaien bleek een gat te hebben.

Die software heet PHP. Je hebt er waarschijnlijk nooit bij stilgestaan, terwijl je eigen website er vrijwel zeker ook op draait. Elke WordPress-site gebruikt het, net als WooCommerce, Magento en de meeste kant-en-klare CMS'en en klantportalen. De overheid kon de stekker eruit trekken. Jouw webshop kan dat meestal niet, dus je wilt snel weten of het bij jou dicht is.

Wat er precies aan de hand is

Op 20 oktober maakten de makers van PHP twee kritieke kwetsbaarheden bekend, die al snel de bijnaam PHP2Shell kregen. Een dag later verschenen de reparaties. Het gat is ernstig om twee redenen:

  • een aanvaller hoeft niet in te loggen; een speciaal opgesteld verzoek aan je website is genoeg om eigen code op je server te laten draaien;
  • het zit in PHP zelf, dus het maakt niet uit welke plugins of welk thema je hebt.

Het Nationaal Cyber Security Centrum noemde het een weeffout in de software en zag op 21 oktober nog geen misbruik. Dat beeld veranderde snel. Beveiligers als AWS en Patchstack melden inmiddels dat er actief wordt geprobeerd om het gat te misbruiken. Volgens AWS begonnen de eerste pogingen al voor de bekendmaking.

Wat AI hiermee te maken heeft

Volgens Fortune werd het lek gevonden door beveiligingsteams die AI-modellen inzetten, waaronder een team van OpenAI. Dat is goed nieuws: fouten die jarenlang onopgemerkt bleven, komen nu boven water. Het heeft wel een keerzijde. Aanvallers gebruiken dezelfde soort hulpmiddelen om een nieuw lek binnen uren om te zetten in een aanval op duizenden sites tegelijk.

Over die versnelling schreven we eerder al: de tijd tussen lek en aanval is gekrompen tot uren. Een update die je "volgende week even doet", komt dus te laat. Bij dit lek geldt dat extra, omdat er al op grote schaal wordt gescand naar kwetsbare servers.

In vijf stappen weten of jij veilig bent

Je hoeft geen programmeur te zijn om dit te controleren. Reken op een half uur, de meeste tijd zit in wachten op antwoord van je hostingpartij.

  1. Zoek uit waar je website draait en wie hem beheert. Is het gedeelde hosting bij een provider, een eigen server (VPS) of regelt een webbureau het voor je? Dat bepaalt wie de update moet doen.
  2. Kijk welke PHP-versie je site gebruikt. In WordPress vind je dat onder Extra, Sitestatus, tabblad Info, kopje Server. In de meeste hostingpanelen (DirectAdmin, Plesk, cPanel) staat het bij de PHP-instellingen.
  3. Vergelijk met de gerepareerde versies: 8.2.35, 8.3.36, 8.4.27 en 8.5.12 of hoger. Staat er een lager nummer in dezelfde reeks, dan heb je de update nog niet. Let op: sommige hostingpartijen repareren het gat zonder het versienummer te veranderen. Twijfel je, vraag het dan na.
  4. Draai je op PHP 8.1 of ouder? Daarvoor komt geen gewone update meer. Laat je site naar een nieuwere versie overzetten. Dat is meer werk, omdat oude plugins soms niet meedoen, dus plan het nu in.
  5. Vergeet je bijzaken niet. Een oude campagnesite, een testomgeving of een intranet draait vaak ook op PHP en wordt het minst bijgehouden. Weet je niet zeker welke sites je allemaal hebt? Loop dan eerst het lijstje uit ons stuk over vergeten websites na.

Een kort mailtje aan je hostingpartij volstaat vaak, bijvoorbeeld: "Kun je bevestigen dat onze site draait op een PHP-versie met de reparaties van 21 oktober tegen PHP2Shell, en vanaf welk moment dat zo is?" Dat laatste is belangrijk, want het vertelt je hoe lang je open hebt gestaan.

Gedeelde hosting, eigen server of webbureau

Bij gedeelde hosting werkt de provider PHP meestal centraal bij. Veel Nederlandse partijen hebben hun klanten al gemaild of een melding op hun statuspagina gezet. Kijk daar eerst voordat je zelf iets gaat doen.

Heb je een eigen server of een VPS, dan ben jij (of degene die hem voor je beheert) aan zet. Na de update moet de webserver of PHP-FPM opnieuw starten, anders blijft de oude versie gewoon draaien. Dit is precies het stuk dat in de praktijk vergeten wordt: het pakket is bijgewerkt, het lek staat nog open.

Werk je met een webbureau? Vraag dan om een korte bevestiging per site, met de datum waarop de update erop stond. Een goed bureau heeft dat lijstje al klaarliggen.

Wat als je te laat was

Stond je site een paar dagen open, dan is de kans klein dat er iets is gebeurd. Klein is alleen niet nul. Laat je hostingpartij of bureau na de update kijken naar drie dingen:

  • nieuwe beheerders of gebruikers in je CMS die niemand van jullie heeft aangemaakt;
  • onbekende bestanden in de mappen van je site, vooral PHP-bestanden met vreemde namen;
  • doorverwijzingen naar andere sites of pagina's die je niet kent.

Vind je iets, wijzig dan alle wachtwoorden van je site en hosting. Heeft een aanvaller bij klantgegevens gekund, dan geldt de meldplicht: binnen 72 uur melden bij de Autoriteit Persoonsgegevens. Hoe dat precies zit als er ook AI-tools met je klantdata werken, lees je in ons stuk over de AVG en AI.

Maak er een vaste routine van

Dit was niet het laatste lek dat met hulp van AI is gevonden. De les voor de komende maanden is eenvoudig: zorg dat je weet welke sites je hebt, op welke software ze draaien en wie ze bijwerkt. Leg dat vast in een lijstje van een A4'tje. Bij het volgende lek ben je dan in tien minuten klaar.

Wil je dat uit handen geven? Een eenvoudige automatisering kan wekelijks de PHP-versie van al je sites ophalen en je een seintje geven zodra er een achterloopt. Dat kost een paar uur om op te zetten en bespaart je bij elk volgend lek een middag zoeken.

Benieuwd of jouw websites en koppelingen veilig staan? We kijken het graag samen met je door.

KC

Kyan Cordes

Oprichter NOVAITEC