» »

Zakaj je internet minuli teden klecnil

Zakaj je internet minuli teden klecnil

Cloudflare - V začetku meseca so imele številne popularne spletne strani težave z dosegljivostjo. Nevšečnosti je zakuhal Cloudflare, ki ponuja gostovanje številnim stranem in skrbi za njihovo zaščito pred napadi DDoS. Toda če se zalomi Cloudflaru, so posledice globalne. Ko je 2. julija Cloudflare napravil napako, smo to občutili po vsem svetu. John Graham-Cumming iz Cloudflara v odkritem opisu pojasnjuje, kaj je šlo napak in kako so se odzvali. To je bil prvi globalni Cloudflarov izpad v zadnjih šestih letih.

Težave so se začele, ko so 2. julija ob 13.42 v svoj WAF (Web Application Firewall) dodali novo pravilo, ki ni bilo pravilno zapisano. Zaradi nepravilno zapisanega pravila v obliki regex (regular expression)
(?:(?:\"|'|\]|\}|\\|\d|(?:nan|infinity|true|false|null|undefined|symbol|math)|\`|\-|\+)+[)]*;?((?:\s|-|~|!|{}|\|\||\+)*.*(?:.*=.*)))
so preobremenili procesorje, ki so dosegli 100-odstotno obremenjenost. Šlo je za napako backtrack. To pomeni, da je Cloudflare izgubil sposobnost streči strani prek HTTP/HTTPS, kar od njega pričakujejo stranke. Ob obisku spletnih strani so zato obiskovalci dobili le obvestilo o napaki 502 Bad Gateway. Toda čeprav je bil to sprožilec, je celotna zgodba bistveno kompleksnejša.

Tri minute pozneje je prva stran PagerDuty, ki predstavlja sintetični test za WAF, že klecnila. Kasneje je klecnila še vrsta drugih strani, ki so povezani z ostalimi testi. Kmalu so začele padati tudi strani strank in ob 14.00 je bilo jasno, da ima WAF težavo. Ob 14.07 so globalno ugasnili WAF (global WAF kill). Ob 14.52 so imeli pripravljen in distribuiran popravek.

Izpad je povzročilo zaporedje več dogodkov. Napačni izraz regex, ki se mu je pridružil po naključju izključen sistem za preprečevanje preobremenitve procesorjev, test, ki ni meril preobremenitev CPU, globalna sprovedba spremembe namesto stopenjske ipd. Več podrobnosti pa je v izčrpnem opisu, ki ga je pripravil Cloudflare.

12 komentarjev

dexterboy ::

Khm... ne vem, kakšna so ponavadi opravičila drugih ponudnikov, ampak, ko sem to prebral, sem si rekel, uf uf, hvala bogu, da je še nekdo, ki napiše opravičilo lepo, jasno in razločno. Kolikor se spomnim velikih konglomeratov, kjer v dveh stavkih opišejo, da so imeli "notranje težave"... no, jaz bi jih tudi imel, če bi pojedel kozarec pekočih čilijev...
Ko ne gre več, ko se ustavi, RESET Vas spet v ritem spravi.

yukkuri ::

Težav s katastrofalnim backtrackingom ne bi bilo, če bi uporabljali regex engine, ki regex prevede v končni avtomat... Te imajo seveda svoje omejitve, npr. ne morejo podpirati backreferences, ampak v praksi zadoščajo za skoraj vse regexe.

c3p0 ::

Enostavni test, ki bi rule temeljito pretestiral, preden gre v produkcijo, bi problem preprečil. Me čudi, da ne uporabljajo t.i. canary releases ali kaj podobnega.

d3m1g0d ::

Se mi zdi čudno, da so delali popravke direkt na produkcijo. Kaj ni nobenega testiranja?
Je pa lepo, da so tako transparetno pojasnili izpad in napako.
Gott ist tot! Gott bleibt tot! Und wir haben ihn getötet!

crniangeo ::

d3m1g0d je izjavil:

Se mi zdi čudno, da so delali popravke direkt na produkcijo. Kaj ni nobenega testiranja?
Je pa lepo, da so tako transparetno pojasnili izpad in napako.


včasih na testnem okolju vse špila, treba je pa vedeti da na testnem okolju ni toliko obremenitve, ker tam ni "obiskovalcev" in seveda tudi toliko strani
Convictions are more dangerous foes of truth than lies.

WhiteAngel ::

Internet nič ni "klecnil".

Markoff ::

Kakšen internet? Kot bi rekli, da je zaradi padca Google search storitve padel internet. Kar nekaj.
Antifašizem je danes poslednje pribežališče ničvredneža, je ideologija ničesar
in neizprosen boj proti neobstoječemu sovražniku - v zameno za državni denar
in neprofitno najemno stanovanje v središču Ljubljane. -- Tomaž Štih, 2021

Phantomeye ::

Markoff je izjavil:

Kakšen internet? Kot bi rekli, da je zaradi padca Google search storitve padel internet. Kar nekaj.


Samo, da klecniti ne pomeni pasti.

Spura ::

Tudi jaz sem presenecen da na obremenjenih obmocjih uporabljajo regex engine ki podpirajo backreferences in so implementirani z backtrackingom. Cista neumnost.

Glugy ::

kr mal noro kolikšen del interneta je odvisen od enega podjetja

MrStein ::

Kolikšen točno? V novici nič ne piše.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

nekikr ::



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Cloudflare predstavil brezplačni DNS in VPN: 1.1.1.1

Oddelek: Novice / Omrežja / internet
138241 (5355) AštiriL
»

Dve domeni z istim IPjem

Oddelek: Omrežja in internet
212501 (1678) c3p0
»

Github Pages

Oddelek: Izdelava spletišč
101248 (706) espacious
»

Zaradi hrošča iz Cloudflara več mesecev curljalo

Oddelek: Novice / Varnost
64889 (3374) čuhalev
»

Prestopna sekunda tudi letos ponagajala

Oddelek: Novice / Omrežja / internet
65319 (4067) AndrejO

Več podobnih tem