
Mi történt pontosan?
Dél előtt nem sokkal, 11:20-kor (UTC) kezdtek tömegesen jelentkezni a hibák: a felhasználókat a Cloudflare-hálózaton keresztül elérhető oldalakon 5xx HTTP hibák fogadták, vagyis a tartalom helyett csak hibaüzenetek jelentek meg. Ennek oka nem kibertámadás vagy rosszindulatú akció volt, hanem egy belső jogosultságkezelési változtatás a cég adatbázis-rendszerében, amelynek következtében a Bot Management rendszer egyik konfigurációs fájlja a megszokottnál jóval nagyobb lett. A hibás fájlt villámgyorsan szétküldték a teljes szerverhálózaton, és ezzel gyakorlatilag a fél Cloudflare kiiktatta önmagát.
A hiba kiindulópontja az volt, hogy egy adatbázis-lekérdezés miatt a konfigurációs fájl duplikált adatokat tartalmazott, így a mérete a megszokott kétszeresére nőtt. A hálózatot működtető szoftverek nem tudtak ekkora fájlt kezelni, ezért elkezdtek hibát dobni és szolgáltatásokat leállítani.
Nem támadás, hanem belső malőr
Bizonyos jelek arra utalnak, hogy az incidens első látványos jeleit hibásan DDoS (elosztott szolgáltatásmegtagadási) támadásnak vélték, mire azonban kiderült a valódi ok, addigra már jelentős volt a káosz. A mérnökök gyors beavatkozással leállították a hibás konfigurációs fájl terjesztését, visszaállították a régi, működő verzióját, és újraindították a hálózati szolgáltatásokat. Így helyreállt a forgalom: az első javulás 14:30 körül jelentkezett, a teljes rendszerstabilitást pedig 17:06-kor sikerült elérni.
A Cloudflare mérnökei ugyanakkor később hangsúlyozták: ilyen kiesés még egyszer nem történhet meg, az ügyfelek és az internet megbízhatósága ugyanis elsődleges.
Mely szolgáltatásokat érintette a leállás?
A hibából eredően a következő szolgáltatások álltak le vagy működtek hibásan:
- Az alap CDN- és biztonsági szolgáltatásoknál tömegesen jelentek meg 5xx hibakódok, amelyeket a végfelhasználók is érzékeltek.
- A Turnstile, a Cloudflare bejelentkezési védelme, nem töltődött be.
- A Workers KV szélsőségesen sok hibát adott vissza, mivel a proxy leállása miatt a forgalmat nem tudta kezelni.
- A vezérlőpult akadozott, a felhasználók többsége nem tudott bejelentkezni, részben a Turnstile hiánya miatt.
- E-mail-biztonság: nem volt jelentős hatás, de átmenetileg csökkent a spamszűrés pontossága.
- Access: széles körű hitelesítési hibák, amelyek egészen a visszaállításig kitartottak, így sok felhasználó egyáltalán nem jutott be a céges alkalmazásokba.
Emellett jelentősen megnőtt a válaszidő a CDN-szolgáltatásnál, ami a hibakereső rendszerek extra CPU-használatának volt köszönhető.
Hogyan állt össze a hibalánc?
A fő ok az volt, hogy a Bot Management modul új konfigurációs fájlja nemcsak nagyobb, hanem hibás is lett: duplikált sorokat tartalmazott, amelyeket a rendszer nem tudott kezelni. Ez dominószerűen váltott ki szolgáltatásleállásokat, különösen amiatt, hogy minden két-három percben automatikusan frissült a konfiguráció. Furcsa mód időnként néhány jó fájl is bekerült a körforgásba, így néha átmenetileg helyreállt a szolgáltatás, de aztán megint kudarcot vallott – ez példátlan viselkedés volt.
Maga a hiba egy adatbázismodul (ClickHouse) új jogosultságkezelési kódjánál jelentkezett: mivel a fejlesztők előre nem gondoltak rá, hogy az alapértelmezett adatbázison kívüli táblákon is megjelennek majd az adatok, a lekérdezés rengeteg duplikált sort eredményezett. Ez végül tartósan hibás állapotot okozott a Cloudflare teljes FL (Frontline) proxy rendszerében.
Külön csavart adott az eseményeknek, hogy eközben a Cloudflare a régi (FL) és a már fejlesztés alatt álló új (FL2) proxy-motort is használta – az újabb rendszereken hibakódok jelentek meg, a régi rendszereken viszont a Bot Management pontszámai helytelenek lettek, így a szolgáltatás funkciója sérült.
Ennek fényében: tanulságok és következmények
A novemberi incidens világosan megmutatta, mennyire érzékeny az internet egy háttérrendszer hibáira. Bár szerencsére nem rosszindulatú támadás okozta a bajt, a hétköznapi felhasználó számára mindez láthatatlan és értelmezhetetlen – egyszer csak nem működik a web, ami néhány órára a digitális világ alapszolgáltatásait is hátráltatta.
A Cloudflare a történtek után átfogó vizsgálatot ígért, és hangsúlyozta, hogy ilyen többé ne fordulhasson elő – új protokollokat, ellenőrzéseket és monitoringot vezetnek be. Ez az eset emlékeztet bennünket arra, hogy a modern internet infrastruktúrája mennyire összetett, és hogy egyetlen programozói döntés is meglepő láncreakciókat indíthat el.
