Cloudflare a întâmpinat o defecțiune majoră care a perturbat serviciile la scară globală: un fișier de configurare corupt a fost generat și distribuit în rețea, iar limita internă a sistemului de gestionare a bot-ilor a fost depășită, cauzând creșteri importante ale codurilor de eroare 5xx. Incidentul s-a produs pe infrastructura companiei, ca urmare a unei operațiuni de actualizare a unui cluster ClickHouse folosit pentru generarea fișierelor de caracteristici necesare proxy-ului Cloudflare.
Istoricul evenimentelor de la Cloudflare ne amintește că marile rețele nu sunt imună la probleme: compania a înregistrat deja un incident major în 2019, iar acum o eroare internă de configurare a evidențiat gradul de interdependență dintre componente. Sistemul de gestionare a bot-ilor utilizează un număr limitat de caracteristici de tip machine learning în execuție, limită stabilită la 200. De obicei, utilizarea reală rămâne mult sub acest prag, însă când un fișier corupt care conținea peste 200 de caracteristici a fost propagat pe servere, limita a fost atinsă, sistemul a intrat în panică și erorile au început să apară. Practic, o măsură de siguranță a fost depășită din cauza datelor incorecte, un scenariu care seamănă mai puțin cu un atac extern și mai mult cu o eroare internă.
Pe durata incidentului, volumul răspunsurilor cu cod 5xx, care în mod normal este foarte redus la Cloudflare, a crescut semnificativ. Vârful și oscilațiile ulterioare indicau un comportament atipic: uneori serviciile reveneau temporar la normal, apoi erorile reapăreau. Cauza fluctuației a fost modul de generare al fișierului de caracteristici: o interogare ce rula la fiecare cinci minute pe clusterul ClickHouse. Pe măsură ce clusterul era actualizat gradual pentru îmbunătățirea managementului permisiunilor, anumite noduri produceau date corecte, altele date corupte. Aceasta explica alternanța între configurații bune și rele la fiecare rulare a interogării. Inițial echipa a suspectat un atac, deoarece comportamentul părea similar, dar, în cele din urmă, s-a constatat că fiecare nod ClickHouse a început să genereze fișierul defect, stabilizând rețeaua într-o stare eronată.
Remedierea a presupus oprirea generării și distribuției fișierului corupt, introducerea manuală a unui fișier valid în coada de distribuție a caracteristicilor și forțarea unui restart al proxy-ului principal Cloudflare. Ulterior, echipa a repornit serviciile rămase care intraseră în stare defectuoasă până când volumul erorilor 5xx a revenit la nivelurile obișnuite, în aceeași zi. Răspunsul a fost pragmatic și rapid: când o componentă critică se blochează, se oprește sursa erorii și se repornesc elementele afectate.
Compania a catalogat incidentul drept cel mai sever de la 2019 încoace și a anunțat o serie de măsuri pentru a diminua riscul unor cazuri similare în viitor. Printre acestea se numără consolidarea proceselor prin care sunt prelucrate fișierele de configurare generate intern, tratându-le cu aceeași prudență ca inputurile de la utilizatori; implementarea unor kill switch-uri globale pentru funcționalități; prevenirea situațiilor în care dump-urile de memorie sau rapoartele de eroare pot suprasolicita resursele sistemului; și revizuirea modurilor de eșec pentru condițiile de eroare din toate modulele principale ale proxy-ului. În practică, asta înseamnă mai multe filtre, butoane de oprire și limite de siguranță, nimic poetic, doar inginerie defensivă.
Cloudflare a precizat că nu poate garanta absența unor incidente similare în viitor, dar a subliniat că fiecare incident anterior a condus la dezvoltarea unor sisteme mai rezistente. Aceasta reflectă o logică comună în ingineria infrastructurii: fiecare defect descoperit oferă informații utile pentru crearea unor protecții noi. Un exemplu concret din acest caz: limita de 200 de caracteristici a fost stabilită pentru a preveni consumul excesiv de memorie, dar soluția reală a constat în împiedicarea propagării fișierelor eronate care depășeau această limită și în asigurarea unor controale suplimentare la generare și distribuire.
Cloudflare, ClickHouse, limita de 200 de caracteristici și restartul forțat al proxy-ului reprezintă elementele principale ale incidentului. Următoarea întrebare este cum vor integra inginerii lecțiile desprinse aici pentru a evita situații similare, ținând cont de gradul mare de interconectare al sistemelor moderne și de rapiditatea cu care modificările de configurare se pot răspândi. Ce părere ai despre soluțiile propuse de Cloudflare și consideri că sunt suficiente pentru prevenirea unor incidente viitoare?

Fii primul care comentează