Houd je PHP up-to-date
De twee kritieke PHP-kwetsbaarheden die vorige week het nieuws domineerden, maakten opnieuw duidelijk hoe belangrijk het is om je software up-to-date te houden. Want een website die goed draait, is niet automatisch veilig. Toch wordt het upgraden van PHP-versies vaak uitgesteld. Zolang alles werkt, is er weinig aanleiding om aanpassingen te doen. Een acute kwetsbaarheid maakt die achterstand ineens urgent. Maar laat dat nu niet het ideale moment zijn waarop je voor het eerst uitzoekt of je applicatie klaar is voor een nieuwe PHP-versie.
Een applicatie die werkt, is niet per definitie veilig
PHP-versies doorlopen een vaste ondersteuningscyclus. In de eerste twee jaar krijgen ze actieve ondersteuning, met updates voor bugs en beveiligingsproblemen. Daarna volgt een periode van twee jaar waarin alleen nog kritieke beveiligingsproblemen worden aangepakt. Na die periode bereikt de versie de end-of-life-status (EOL) en stopt de officiële ondersteuning vanuit het PHP-project.
Dat betekent niet dat een applicatie op die versie plotseling niet meer werkt. Integendeel: juist omdat alles nog naar behoren functioneert, krijgt een upgrade in de praktijk vaak weinig prioriteit. Er zijn andere projecten, de website draait stabiel en niemand wil het risico lopen dat een update bestaande functionaliteit breekt. Toch verandert er achter de schermen wel degelijk iets. Nieuwe kwetsbaarheden kunnen worden ontdekt, terwijl de gebruikte versie daarvoor geen officiële beveiligingsupdate meer ontvangt. De applicatie blijft werken, maar de bescherming loopt steeds verder achter.
Het belang van een ondersteunde PHP-versie
Een PHP-versie gebruiken die wordt ondersteund, is om meerdere redenen belangrijk. Het gaat niet alleen om het oplossen van beveiligingsproblemen, maar ook om de prestaties en de verdere ontwikkeling van je applicatie.
- Beveiliging: Zolang een PHP-versie zich in een van de twee ondersteuningsfases bevindt, kunnen er officiële beveiligingsupdates beschikbaar komen. In de eerste twee jaar worden beveiligingsproblemen meegenomen in de reguliere updates. In de daaropvolgende twee jaar worden alleen nog kritieke beveiligingsproblemen aangepakt. Na het einde van de officiële ondersteuningsperiode kun je daar niet meer op rekenen. Een bekende kwetsbaarheid kan daardoor onopgelost blijven, tenzij een andere partij een patch beschikbaar stelt. Een ondersteunde PHP-versie gebruiken, zorgt ervoor dat je kunt blijven profiteren van de beveiligingsupdates die voor die release worden uitgebracht.
- Prestaties: Nieuwe PHP-versies bevatten verbeteringen die ervoor kunnen zorgen dat code efficiënter wordt uitgevoerd. Afhankelijk van de applicatie kan dat leiden tot kortere laadtijden en minder benodigde servercapaciteit. De daadwerkelijke winst verschilt per applicatie en is onder meer afhankelijk van de gebruikte code, frameworks en andere componenten.
- Compatibiliteit en doorontwikkeling: PHP ontwikkelt zich door, net als de software die ervan afhankelijk is. Frameworks, libraries en andere componenten worden aangepast aan nieuwere versies van PHP. Daardoor kan een verouderde PHP-versie op termijn de mogelijkheden beperken om je applicatie en de bijbehorende software bij te werken. Door tijdig te upgraden, voorkom je dat een steeds grotere achterstand ontstaat en een toekomstige migratie complexer wordt.
Zo voorkom je dat een upgrade een noodproject wordt
Je kunt niet voorspellen wanneer een nieuwe kwetsbaarheid wordt ontdekt. Je kunt wel zorgen dat je voorbereid bent wanneer het gebeurt.
- Weet welke PHP-versies je gebruikt
Breng in kaart welke versies op je websites en applicaties draaien. Controleer ook welke frameworks, plugins en andere afhankelijkheden daarbij horen. Zonder dat overzicht is het lastig om de impact van een kwetsbaarheid snel te bepalen.
TIP! In ons dashboard vind je onder ‘Instellingen’ per project welke PHP-versie je draait. - Houd de ondersteuningsperiodes in de gaten
Wacht niet tot een versie EOL is voordat je over een upgrade nadenkt. Bekijk de officiële PHP-ondersteuningskalender en plan een overstap ruim voordat de ondersteuning eindigt. - Test een upgrade voordat je deze doorvoert
Controleer of je applicatie compatibel is met de beoogde versie. Test belangrijke functionaliteiten en zorg dat je weet hoe je kunt terugvallen als er iets misgaat. Zo verklein je de kans op onverwachte problemen. - Maak onderhoud een terugkerend onderdeel van je planning
Een upgrade is niet alleen nodig wanneer er een kritieke kwetsbaarheid wordt ontdekt. Door regelmatig te beoordelen of je software nog wordt ondersteund en welke wijzigingen eraan komen, voorkom je dat achterstallig onderhoud zich opstapelt.
Veiligheid begint voordat er iets misgaat
De recente kwetsbaarheden onderstrepen hoe belangrijk het is om beveiligingsupdates serieus te nemen. Ze laten ook zien dat je niet altijd kunt terugvallen op een officiële patch wanneer je software buiten de ondersteuningsperiode valt. Dankzij de inzet van de open-sourcecommunity zijn er soms aanvullende patches beschikbaar. Dat is waardevol, maar geen vervanging voor structureel onderhoud.
Een applicatie kan jarenlang probleemloos draaien en toch steeds kwetsbaarder worden doordat de software eronder veroudert. Daarom is het verstandig om PHP-upgrades niet te zien als iets wat je pas oppakt wanneer het echt moet.