Websites offline door een PHP-lek.
Dit doe je nu.

Overal in Nederland haalden organisaties hun website uit voorzorg offline, van DigiD tot de Tweede Kamer. Wat er aan de hand is, hoe je checkt of jouw site op PHP draait en wat je nu het beste kunt doen.

Op woensdag 21 oktober gingen overal in Nederland ineens websites op zwart. DigiD, de Tweede Kamer, het RIVM en de ANWB haalden hun site uit voorzorg offline, en in Friesland deden gemeenten, webshops en culturele organisaties hetzelfde. De oorzaak: twee ernstige lekken in PHP, de programmeertaal onder een groot deel van het internet. Wat is er aan de hand, hoe weet je of jouw website op PHP draait en wat doe je nu? Ik zet het rustig voor je op een rij.

Wat er op 21 oktober gebeurde

Op woensdag 21 oktober haalden organisaties door heel Nederland hun website of delen ervan uit de lucht, meldden landelijke media. Onder hen DigiD, de Tweede Kamer, het RIVM en de ANWB. Ook in Friesland gingen gemeenten, webshops en culturele organisaties offline. Veel van hen volgden het advies van het Nationaal Cyber Security Centrum, het NCSC: ga ervan uit dat elk systeem met PHP dat vanaf internet bereikbaar is kwetsbaar is, tot de update erop staat. Beveiligingsbedrijf Cloudflare zag al pogingen om de lekken te misbruiken.

De makers van PHP brachten de update dezelfde middag uit. Volgens php.net dichten PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35 twee kritieke lekken waarmee een buitenstaander zijn eigen code op een server kan laten draaien. Voor versies ouder dan 8.2 komt geen update; draait jouw site daarop, vraag je hostingpartij dan om over te stappen. Tot de update er was, luidde het advies: haal pagina's die op PHP draaien liever even offline. Lees dit artikel als een eerste stand van zaken en kijk voor het laatste nieuws bij je hostingpartij.

Wat is PHP, en waarom raakt dit lek zoveel sites?

PHP is een programmeertaal die op de server draait. Bij elk bezoek zet PHP de pagina in elkaar: het haalt teksten uit een database, plakt het menu erbij en stuurt het resultaat naar de browser van je bezoeker. Volgens W3Techs draaien ruim zeven op de tien websites waarvan bekend is waarmee ze gebouwd zijn, op PHP. Dat komt vooral door de bekende systemen die erop draaien:

  • WordPress: goed voor ruim vier op de tien websites, inclusief webshops met WooCommerce.
  • Joomla en Drupal: veel gebruikt door verenigingen, organisaties en instellingen.
  • Magento en PrestaShop: voor grotere webshops.
  • Maatwerk: veel systemen die bureaus de afgelopen twintig jaar zelf hebben gebouwd.

Een lek in PHP zelf is daarom anders dan een lek in één plugin. Het maakt niet uit hoe netjes je site is gebouwd: zit het gat in de taal eronder, dan loopt elke site op die versie risico tot de update erop staat. Dat verklaart waarom zoveel organisaties tegelijk de stekker eruit trokken.

Draait jouw website op PHP? Zo check je het

Je hoeft geen programmeur te zijn om dat te weten. Een paar snelle aanwijzingen:

  • Je logt in via /wp-admin: dan heb je WordPress, en dat draait op PHP.
  • Je site is gebouwd met Joomla, Drupal, Magento of PrestaShop: ook PHP.
  • Adressen eindigen op .php: bijvoorbeeld contact.php. Dan weet je het eigenlijk al.
  • Je site staat bij Wix, Shopify of Squarespace: daar regelt het platform de techniek en hoef je zelf niets bij te werken. Je eigen wachtwoorden op orde houden blijft wel jouw taak.

Twijfel je, stel je bouwer of hostingpartij dan één vraag: draait mijn site op PHP, en staat de update van 21 oktober erop? Een goede partij weet dat meteen. Weet je niet eens wie je site bijhoudt, dan is dat eigenlijk het grotere probleem. In mijn artikel over eigenaar blijven van je website lees je hoe je dat op orde brengt.

Wat je nu doet als je site op PHP draait

Geen paniek: een lek is nog geen hack. Dit zijn de stappen, in deze volgorde:

  • Vraag je hostingpartij om de update: bij gedeelde hosting werkt de hostingpartij PHP bij, vaak zonder dat je het merkt. Heb je een eigen server, een VPS, dan moet jij of je bouwer dat zelf doen.
  • Werk ook je systeem en plugins bij: het lek zat in PHP, maar de meeste inbraken bij WordPress-sites lopen nog altijd via een verouderde plugin of een verouderd thema. Nu is een goed moment om alles bij te werken en plugins die je niet gebruikt te verwijderen.
  • Maak een back-up die ergens anders staat: een back-up op dezelfde server als je site helpt je weinig als juist die server het probleem is.
  • Controleer je site na afloop: was je site offline, kijk dan of formulieren, je webshop en betalingen weer werken. Let ook op vreemde dingen, zoals onbekende gebruikers, pagina's die je niet kent of doorverwijzingen naar andere sites. Hoe je een hack herkent, lees je in website gehackt? Zo herken je het.

Twijfel je of jouw site risico liep?

Stuur me je webadres. Ik kijk gratis waar je site op draait en wie hem moet bijwerken, zodat je weet waar je staat.

Vraag het Peter→

Waarom mijn sites op 21 oktober gewoon online bleven

Geen van de websites die ik bouw draait op PHP. Op 21 oktober hoefde ik dus niets uit de lucht te halen, en mijn klanten hoefden niets te doen. Dat is geen geluk van die dag, maar een keuze die ik bij elke site maak.

De meeste sites die ik bouw zijn vooraf gebouwde pagina's: gewone bestanden die vanaf het netwerk van Vercel naar je bezoeker gaan. Er draait geen programma dat bij elk bezoek een pagina in elkaar zet, er hangt geen database achter waar een bezoeker bij kan en er zijn geen plugins om bij te houden. Heeft een site meer nodig, zoals een webshop, een agenda of een eigen beheeromgeving, dan draait dat als kleine losse functies op Vercel, niet als PHP op een eigen server.

  • Minder dat open kan staan: geen PHP, geen plugins en geen inlogpagina op een standaardadres als /wp-admin.
  • De servers houdt Vercel bij: het netwerk en de servers eronder krijgen hun updates daar. De code van de site zelf houd ik bij.
  • Elke wijziging staat vast: alles staat in versiebeheer, dus een vorige versie zet ik binnen een minuut terug.
  • Elke dag een controle: mijn klantdashboard kijkt elke dag of de site bereikbaar is en of het certificaat in orde is.
Geen enkele website is onkwetsbaar. Maar hoe minder er op een server draait, hoe minder er open kan staan.

Ook mijn sites krijgen updates, want de onderdelen waarmee ik bouw hebben net zo goed onderhoud nodig. Het verschil is dat het er veel minder zijn.

Conclusie: moet je nu van WordPress af?

Nee, niet door dit lek. Een goed bijgehouden WordPress-site bij een goede hostingpartij is prima, en zodra de update erop staat, is dit gat dicht. Het echte risico zit zelden in één groot lek, maar in sites die niemand bijhoudt.

Gebruik dit nieuws wel als reden om drie dingen na te gaan: weet je waar je site op draait, wie hem bijhoudt en waar je back-up staat? Ga je je site toch al vernieuwen, kies dan bewust voor zo min mogelijk bewegende delen. Het verschil tussen de twee aanpakken lees je in WordPress of maatwerk, en wat een nieuwe site bij mij kost, staat bij mijn prijzen. Wil je gewoon weten hoe jouw site ervoor staat? Stuur me een berichtje, dan kijk ik met je mee.

Veelgestelde vragen

Niet per se. Veel sites gingen uit voorzorg offline, vaak door de hostingpartij zelf. Vraag je hostingpartij wat er is gebeurd en of de update erop staat. Controleer daarna of je site weer doet wat hij moet doen en let op vreemde dingen, zoals onbekende gebruikers, pagina's die je niet kent of doorverwijzingen naar andere sites.

PHP zelf bijwerken doet bij gedeelde hosting meestal de hostingpartij. Het systeem van je site, zoals WordPress, en de thema's en plugins zijn meestal jouw verantwoordelijkheid of die van je bouwer. Werk die ook bij, verwijder plugins die je niet gebruikt en zorg voor een back-up die niet op dezelfde server staat.

Nee. De sites die ik bouw zijn grotendeels vooraf gebouwde pagina's op het netwerk van Vercel, zonder PHP en zonder plugins. Heeft een site meer nodig, zoals een webshop of een beheeromgeving, dan draait dat als losse functies op Vercel. Onkwetsbaar is geen enkele site, maar er staat een stuk minder open.

Klaar voor een website die zichzelf terugverdient?

Gratis kennismaking, eerlijk advies en een vaste prijs vooraf. Je zit nergens aan vast.

Reactie binnen 24 uur, vaak sneller.