{"id":109043,"date":"2025-11-19T17:09:10","date_gmt":"2025-11-19T17:09:10","guid":{"rendered":"https:\/\/www.europesays.com\/pl\/109043\/"},"modified":"2025-11-19T17:09:10","modified_gmt":"2025-11-19T17:09:10","slug":"wiemy-co-spowodowalo-wczorajsza-globalna-awarie-cloudflare-w-skrocie","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/pl\/109043\/","title":{"rendered":"Wiemy co spowodowa\u0142o wczorajsz\u0105 globaln\u0105 awari\u0119 Cloudflare. W skr\u00f3cie"},"content":{"rendered":"<p>Pe\u0142en <a href=\"https:\/\/blog.cloudflare.com\/18-november-2025-outage\/\" rel=\"nofollow noopener\" target=\"_blank\">opis wielogodzinnego incydentu opracowa\u0142 sam Cloudflare<\/a> \u2013 szacunek za bardzo szybk\u0105 reakcj\u0119 powi\u0105zan\u0105 z wysok\u0105 szczeg\u00f3\u0142owo\u015bci\u0105 tego wpisu.<\/p>\n<p>Zatem co by\u0142o \u017ar\u00f3d\u0142em ca\u0142ego zamieszania?<\/p>\n<ul>\n<li>Miliony b\u0142\u0119d\u00f3w HTTP 500 w core infrastruktury Cloudflare, a dok\u0142adniej:<\/li>\n<li>Awaria systemu wykrywaj\u0105cego\/blokuj\u0105cego boty webowe<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1999\" height=\"846\" src=\"https:\/\/www.europesays.com\/pl\/wp-content\/uploads\/2025\/11\/BLOG-3079_4-kopia.png\" alt=\"\" class=\"wp-image-53201\"  \/>\u0179r\u00f3d\u0142o: Cloudflare. \u0179r\u00f3d\u0142o strza\u0142ek: sekurak<\/p>\n<p>OK, o co chodzi z tymi b\u0142\u0119dami 500? Cloudflare zmieni\u0142 uprawnienia na pewnej, wewn\u0119trznej bazie danych. W wyniku tego pewne zapytanie SQL, kt\u00f3re by\u0142o uruchamiane w kontek\u015bcie podsystemu wykrywania bot\u00f3w, nagle zacz\u0119\u0142o zwraca\u0107 ponad dwa razy wi\u0119cej wynik\u00f3w ni\u017c normalnie (zapytanie sz\u0142o z automatu po dodatkowej, drugiej bazie danych, kt\u00f3ra w wyniku zmiany uprawnie\u0144 nagle zacz\u0119\u0142a by\u0107 dost\u0119pna).<\/p>\n<p>Teraz kiedy wynik SQLa zosta\u0142 wys\u0142any do przetworzenia przez systemy corowe Cloudflare, trafia\u0142o to na twardy limit 200 wynik\u00f3w, powy\u017cej kt\u00f3rego serwer og\u0142asza\u0142 \u201epanik\u0119\u201d. Ten \u201eficzer\u201d jest ustawiony celowo \u2013 tak \u017ceby nie sko\u0144czy\u0142a si\u0119 pami\u0119\u0107 na serwerach (pami\u0119\u0107 jest prealokowana dla max 200 wierszy wyniku).<\/p>\n<p>When the bad file with more than 200 features was propagated to our servers, this limit was hit \u2014 resulting in the system panicking.<\/p>\n<p>Sk\u0105d ten \u201epanic\u201d \u2013 st\u0105d, \u017ce kod w Rust sprawdzaj\u0105cy limit generowa\u0142 nieobs\u0142u\u017cony wyj\u0105tek.<\/p>\n<p>\u201eThe FL2 Rust code that makes the check and was the source of the unhandled error is shown below\u201e:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" width=\"1000\" height=\"310\" src=\"https:\/\/sekurak.pl\/wp-content\/uploads\/2025\/11\/rBLOG-3079_7-1000x310.webp\" alt=\"\" class=\"wp-image-53206\"  \/><\/p>\n<p>Cloudflare planuje mi\u0119dzy innymi:<\/p>\n<ul>\n<li>Zaimplementowa\u0107 wi\u0119cej tzw. globalnych killswitch\u00f3w, wy\u0142\u0105czaj\u0105cych konkretne ficzery (w razie grubej awarii)<\/li>\n<li>Mo\u017cliwo\u015b\u0107 wy\u0142\u0105czenia tworzenia danych diagnostycznych w przypadku wyst\u0105pienia b\u0142\u0119du (pami\u0119tacie b\u0142\u0119dy 500 z pocz\u0105tku wpisu? Ka\u017cdy z nich m\u00f3g\u0142 generowa\u0107 ton\u0119 dodatkowych informacji diagnostycznych \u2013 obci\u0105\u017cenie systemu!)<\/li>\n<\/ul>\n<p>Czy mo\u017cna by\u0142o \u201ena szybko\u201d i \u201ena chwil\u0119\u201d wy\u0142\u0105czy\u0107 dzia\u0142anie Cloudflare dla swojej us\u0142ugi? (czyli uniezale\u017cni\u0107 si\u0119 od awarii). Niestety nie, bo nie dzia\u0142a\u0142 te\u017c dashboard Cloudflare, tzn dzia\u0142a\u0142, ale nie mo\u017cna si\u0119 by\u0142o do niego zalogowa\u0107:<\/p>\n<p>\u201eWhile the dashboard was mostly operational, most users were unable to log in due to Turnstile being unavailable on the login page.\u201d<\/p>\n<p>PS<\/p>\n<p>\u274c Cloudflare rozwa\u017ca\u0142 te\u017c scenariusz cyberataku, bo r\u00f3wnolegle pad\u0142a strona sprawdzaj\u0105ca status us\u0142ug Cloudflare (<a href=\"https:\/\/www.cloudflarestatus.com\/\" rel=\"nofollow noopener\" target=\"_blank\">cloudflarestatus.com<\/a> \u2013 jest hostowana poza Cloudflare) \u2013 c\u00f3\u017c to raczej by\u0142 human DDoS\u2026 <\/p>\n<p>Teraz trudny orzech do zgryzienia \u2013 czy hostowa\u0107 cloudflarestatus.com za Cloudflare (ochroni si\u0119 przed DDoSami, nie ochroni si\u0119 przez awari\u0105) czy poza Cloudflare (nie ochroni si\u0119 przed DDoSami). Hostowa\u0107 u konkurencji \u2013 troch\u0119 g\u0142upio \ud83d\ude09<\/p>\n<p>~Micha\u0142 Sajdak<\/p>\n","protected":false},"excerpt":{"rendered":"Pe\u0142en opis wielogodzinnego incydentu opracowa\u0142 sam Cloudflare \u2013 szacunek za bardzo szybk\u0105 reakcj\u0119 powi\u0105zan\u0105 z wysok\u0105 szczeg\u00f3\u0142owo\u015bci\u0105 tego&hellip;\n","protected":false},"author":2,"featured_media":109044,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[113,112,42,38,40,39,41],"class_list":{"0":"post-109043","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-biznes","8":"tag-biznes","9":"tag-business","10":"tag-pl","11":"tag-poland","12":"tag-polish","13":"tag-polska","14":"tag-polski"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@pl\/115577472160853962","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/posts\/109043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/comments?post=109043"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/posts\/109043\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/media\/109044"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/media?parent=109043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/categories?post=109043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/tags?post=109043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}