Wanneer is Tweakers een tijdje bewust offline geweest? In 2012 bij de release van 'Tweakers 7', jaren eerder bij de serververhuizingen en dat was het wel zo'n beetje. En toch ging de site van Tweakers urenlang offline op woensdagmiddag 21 oktober om 12:22:29. Wat gebeurde er bij Tweakers?
De lunchtafel op de redactie van Tweakers is een gezellige boel tussen twaalf en half een. Iedereen eet een broodje, een salade of iets anders lekkers. Veel mensen zitten met elkaar te praten, anderen zijn aan het kaarten. Het was een heel normale woensdagmiddag tot het ineens over de redactievloer gonste: wij zijn offline.
Op dat moment was het nieuws over PHP-lekken al even bekend. Het bericht over de lekken van die ochtend was al meer dan 90.000 keer gelezen. Maar dat we onze eigen site offline zouden trekken, dat hadden veel mensen niet zien aankomen.
Even later stond hoofdredacteur Wout ineens bij de lunchtafel met iets dat leek op een officiële mededeling. Het bericht? Geen idee hoelang het duurt, maar vermoedelijk zullen we urenlang offline zijn. De laatste happen smaakten bij veel mensen toch nét even anders.
Hoe de beslissing tot stand kwam
Die beslissing is ingrijpend en die neem je niet zomaar. Ze komt niet van de redactievloer, waar alleen de redactie, het testlab en Pricewatch zitten. Onze systeembeheerder Kees Hoekzema haalde de site daadwerkelijk offline om acht minuten voor half een. "Woensdagochtend werd ik wakker met het nieuws dat mensen al exploits en proof-of-concepts (poc's) voor de lekken hadden gemaakt. Daar heb ik eerst mitigaties voor gemaakt." Niet voor niets, want Tweakers werd al snel bestookt met door AI gemaakte poc's.
Er was een interne meeting bij moederbedrijf DPG Media rond twaalf uur. "Met de chief information security officer (CISO). En de boodschap was eigenlijk: jullie zijn impacted. Overleg of de website offline kan." Dat overleg met de leiding duurde niet lang. "Liever een middag offline dan morgen met de database op straat", zegt Kees.
Tweakers is vrijwel altijd online, maar er zijn momenten dat we de hele site hebben vervangen door een statische pagina. Dat doen we bijvoorbeeld tijdens de dodenherdenking op 4 mei om 20.00 uur. Hoe haal je de site offline? "Ik heb de loadbalancers aangepast, zodat er geen verkeer naar de servers meer gaat."
De eerste pagina bevatte alleen een korte mededeling. Kees paste de statische HTML-pagina in de loop van de middag aan met informatie die nieuwsredacteur Jasper Bakker schreef. Hij was al bezig met een achtergrondverhaal over de PHP-lekken toen de site offline ging. Sterker nog: het verhaal was al zo goed als klaar.
Een redactie vol adrenaline
In elke baan zijn er momenten die leuker en spannender zijn dan andere. Voor artsen zullen dat spoedoperaties zijn, voor voetballers zijn dat finales. Voor nieuwsredacteuren is dat breaking news. Dat zijn de momenten die het minst voorkomen en waarop ons werk het belangrijkst voelt.
De site was offline en ook onze backend was niet bereikbaar. We zaten dus met een probleem: hoe publiceren we iets? Instagram, TikTok en YouTube werkten wel, dus we besloten in elk geval daar video's op te zetten, zoals een eerste mededeling en een uitlegvideo.
Er was een mogelijke eindtijd: PHP had beloofd om vier uur met mogelijke patches te komen. De taken waren snel verdeeld. En toen was het ineens zover, om ongeveer kwart voor vier. Kees: "Ik had al een 'apt update' in een loopje draaien om te zien of er updates waren. Zodra die beschikbaar waren, heb ik één server geüpdatet en direct daarna alle andere servers." De servers waren, mogelijk als eerste in Nederland, bijgewerkt en een paar minuten later weer online. Zo kwam na 3,5 uur een einde aan de meest memorabele downtime van Tweakers in decennia.
/i/2008468322.png?f=imagenormal)
/i/2008468324.png?f=imagenormal)
:strip_icc():strip_exif()/u/355633/crop611ab17eb2582_cropped.jpg?f=community)
/u/8/oog3.png?f=community)
/u/2466866/crop69a1fc114accf_cropped.png?f=community)
/u/354/crop65cb4a8488664_cropped.png?f=community)
/u/401000/Image1.png?f=community)
/u/720496/crop61fff5a721b3b_cropped.png?f=community)
:strip_icc():strip_exif()/u/71641/crop5f96ef1c371f3_cropped.jpeg?f=community)
/u/1957000/crop66602807e34a1_cropped.png?f=community)
/u/452542/crop57b8a2dd1446b_cropped.png?f=community)