PHP is de techniek onder heel veel websites. WordPress draait erop, en de websites die wij bouwen en hosten ook: deze site, de dorpswebsites en de sites van klanten bij Lodewijk Hosting. Op 20 oktober meldden de makers van PHP dat er twee ernstige lekken in zaten. De reparatie zou de volgende dag komen.
Daar hebben we niet op gewacht.
Wat er aan de hand was
Via de lekken kon iemand van buiten, zonder in te loggen, zijn eigen opdrachten op een webserver laten uitvoeren. Lukt dat, dan kan zo iemand in principe bij alles. Hij kan bestanden lezen en gegevens meenemen, of de website aanpassen. De makers van PHP gaven beide lekken een 9,2 op een schaal van 10.
Het bleef ook niet bij theorie. Beveiligingsbedrijf Cloudflare zag op 21 oktober vroeg in de ochtend al de eerste aanvalspogingen, en er ging aanvalscode rond op internet. Volgens de makers van PHP lost alleen de nieuwe versie het echt op. Een tijdelijke maatregel verkleint de kans, meer niet.
Wat wij deden
- 12:05 Op al onze servers zetten we het onderdeel van PHP uit waar de bekendste aanval via liep. Dat onderdeel houdt bij hoe ver een upload is. Onze websites gebruiken het nergens, dus niemand merkt er iets van. Het blijft ook uit.
- 12:16 Volgens onderzoekers was er nog een tweede weg naar binnen, via het uploaden van bestanden. Dus zetten we uploaden via een website tijdelijk dicht. De webserver weigerde zo'n upload al voordat PHP hem te zien kreeg.
- Daarna liepen we onze servers na op sporen van een inbraak. Vreemde bestanden of nieuwe gebruikers vonden we niet, en er waren geen geplande taken bijgekomen. Er draaiden geen onbekende programma's. PHP was ook nergens vastgelopen, en dat gebeurt bij een mislukte aanval vaak wel. Die controle hebben we die middag elk kwartier herhaald.
- 15:36 De reparatie kwam uit, iets eerder dan aangekondigd. Voor PHP 8.5 is dat versie 8.5.12.
- 15:55 De reparatie stond op al onze servers. Eerst hebben we hem op een testserver gezet, daarna op de servers met websites. Toen ging het uploaden weer open.
Zolang uploaden dicht stond, weigerde de webserver tientallen pogingen van scanners die het internet afzochten naar dit lek. Er is er geen enkele doorgekomen.
Daarbij draait elke website op onze servers onder een eigen gebruiker, in een eigen afgesloten map. Gaat het bij één site toch mis, dan kan een indringer niet zomaar bij de andere websites.
Wat je ervan merkte
Weinig. Websites bekijken werkte de hele dag gewoon, en een formulier zonder bijlage versturen ook. Alleen bestanden uploaden lukte van 12:16 tot ongeveer 16:00 even niet. Inmiddels werkt alles weer zoals altijd.
Staat je website ergens anders?
Draait je website bij een andere partij, zeker als het WordPress is? Vraag dan na of de PHP-update van 21 oktober erop staat. Dit zijn de gerepareerde versies:
- PHP 8.5.12 of nieuwer
- PHP 8.4.27 of nieuwer
- PHP 8.3.36 of nieuwer
- PHP 8.2.35 of nieuwer
Zit je site nog op PHP 8.1 of ouder? Die versies krijgen van de makers geen gewone updates meer. Er is wel een kleine noodreparatie voor uitgebracht, maar overstappen naar een versie die nog onderhouden wordt, is echt verstandiger.
Vragen over je website of je hosting? Bel of mail ons gerust.
