Google-fout DDoS't Gmail en crasht Chrome

Gmail lag maandag plat en enkele andere Google-diensten waren slecht bereikbaar. De storing duurde nog geen half uur, maar de impact was flink. De oorzaak? Google zelf.


Volgens de officiŽle lezing van de cloudaanbieder zelf heeft de grote Google-storing van afgelopen maandag zo'n 18 minuten geduurd, in twee nauw opeenvolgende blokken. Het voornaamste slachtoffer was Gmail, en de gebruikers daarvan. Sommigen konden via bijvoorbeeld de mailapp van Apple's iOS nog wel hun Google-mail bereiken. Vele andere gebruikers waren afgesneden van hun bij Google ondergebrachte mail.

Verkeer afgeknepen

Naast Gmail werden clouddiensten Google Docs, Drive en Apps geraakt door de storing. Die SaaS-platformen (Software as a Service) van zoekreus Google kregen met gedeeltelijke uitval te kampen, of boden hun gebruikers slechts haperende toegang. De oorzaak daarvan zit in het feit dat Google noodgedwongen het dataverkeer met en tussen zijn diensten afkneep.

Die noodmaatregel werd weer afgedwongen door de eigenlijke oorzaak: een configuratiefout bij en door Google zelf. Het blijkt nu dat de grote storing niet slechts toevallig samenviel met de vele gevallen van vastlopende Chrome-browsers wereldwijd. De bewuste 'bug' heeft eigenlijk niets te maken met Gmail, meldt Google-ingenieur Tim Steele in een forumpost over het hernoemen van de bugmelding.

'Chrome-botnet'

Chrome-browsers wereldwijd hebben namelijk de synchronisatieserver van Google overbelast. Een DDoS-aanval (distributed denial of service) dus, zij het onbedoeld en onwetend. In reactie daarop kneep Google de stortvloed aan data richting die machine af. En dŠt zorgde weer - via een programmeerfout in Chrome - voor het crashen van die browsers, die plots hun verbinding met het moederschip kwijt waren.

De sync-server voor Google's webbrowser zorgt voor het synchroniseren van bookmarks, Chrome-apps en andere gebruikersinstellingen. Het koppelt gebruikers los van hun individuele desktops, laptops, smartphones en tablets, legt techmagazine Wired uit die daarbij de vergelijking trekt met de iCloud-dienst van Apple. De Chrome Sync Server vertrouwt voor het opleggen van verkeerslimieten, voor bepaalde datatypes, weer op een kritiek infrastructuurcomponent in Google's backend. Die component, de zogeheten quota-service, was het eigenlijke eindpunt van de Chrome-DDoS.

Kern: load-balancerconfiguratie

Maar dan nu de hoofdoorzaak van de DDoS die Google zichzelf heeft bezorgd: een foute instelling in nog een ander kritiek kernonderdeel van Google's infrastructuur. Een load-balancer. Daarin had een ingenieur van de cloudaanbieder een verkeerde configuratie-aanpassing gedaan. Naast de Chrome Sync Server vertrouwt ook Gmail op die 'verkeersleider', net zoals andere Google-diensten.

Waarom een gewone browser crasht als 'ie tijdelijk wat minder kan synchroniseren? Vanwege datatypes die Chrome (nog) niet herkend.

Gmail lag maandag plat en enkele andere Google-diensten waren slecht bereikbaar. De storing duurde nog geen half uur, maar de impact was flink. De oorzaak? Google zelf.



Ingenieur Steele legt in een forumpost over de grote Google-storing uit dat de reactie van de synchronisatieservers "te conservatief" was. Die machines gaven hun clients, de Chrome-browsers dus, de instructie om Šlle datatypes af te knijpen. Daarbij is "geen rekening gehouden met het feit dat niet alle client-versies alle datatypes ondersteunen".

De niet ondersteunde datatypes betroffen ironisch genoeg de stabiele release van Chrome, waar dus het gros van de gebruikers op zit. Alpha- en bŤtaversies van Google's browser waren niet of minder geraakt door deze fout. Het vervolgens crashen van de browser kwam weer door een programmeerfout voor het afhandelen van afgeknepen datatypes door de browser in het geval van niet-herkende datatypes.

Down was beter geweest

Dus als de Sync-service voor Chrome geheel plat was gegaan, waren de browsers niet gecrasht, meldt techblog Ars Technica. Die conclusie is letterlijk aangedragen door Google-ingenieur Steele. Maar juist het afknijpen van de onhoudbare verkeersstroom heeft een programmeerfout in Chrome aan het licht gebracht, waardoor die browser dus vastliep.

Los van die browsercrashes lag Gmail plat, ook voor gebruikers die via andere browsers hun webmail wilden gebruiken. Dit gold zowel voor consumenten als voor zakelijke gebruikers van Google's maildienst. Saillant detail in het geval van Google is dat de monitoringsystemen van het bedrijf pas zijn aangeslagen toen de tweede ronde van de storing al twee minuten gaande was.

Facebook, Amazon, Microsoft ook

De eerste ronde was volgens Google van 8:54 tot 9:00, waarna een tweede uitviel plaatsvond van 9:04 tot 9:16. De monitoring detecteerde dit om 9:06, schrijft het Google Apps-team in het storingsrapport (PDF). Eerder legden cloudconcurrenten als Facebook, Amazon en Microsoft zichzelf plat door eigen fouten.

Google heeft nu maatregelen genomen om herhaling te voorkomen van deze opeenstapeling van storingen, veroorzaakt door een menselijke fout. Daarvoor zijn zowel de backend-servers als de Chrome-browser nu aangepast. Het bedrijf stelt op zijn statuspagina voor Google Apps dat het vol vertrouwen is dat de root-oorzaak is gevonden en correct aangepakt. Het technische onderzoek loopt nog wel.