Regex មួយបានបិទ Cloudflare។ 27 នាទី។
ថ្ងៃទី 2 ខែកក្កដា ឆ្នាំ 2019 ម៉ោង 13:42 UTC: វិធានថ្មីមួយសម្រាប់ Cloudflare's Web Application Firewall បានដំណើរការនៅក្នុងទីក្រុងជាង 180 ក្នុងរយៈពេលប្រហែល 2 វិនាទី។
ថ្ងៃទី 2 ខែកក្កដា ឆ្នាំ 2019 ម៉ោង 13:42 UTC: វិធានថ្មីមួយសម្រាប់ Cloudflare's Web Application Firewall បានដំណើរការនៅក្នុងទីក្រុងជាង 180 ក្នុងរយៈពេលប្រហែល 2 វិនាទី។ វាជាវិធាន XSS នៅក្នុងរបៀបក្លែងធ្វើ ដូច្នេះវាមិនបិទអ្វីទាំងអស់ ប៉ុន្តែវានៅតែដំណើរការលើរាល់សំណើ ហើយវាបញ្ចប់ដោយ .*(?:.*=.*)។ PCRE ត្រឡប់មកវិញ រាល់ស្នូល CPU ដែលបម្រើសំណើ HTTP ឡើងដល់ 100 % ហើយគេហទំព័រដែលប្រើប្រូកស៊ី Cloudflare ទាំងអស់ត្រឡប់ 502 ក្នុងរយៈពេល 27 នាទី; ចរាចរណ៍ធ្លាក់ចុះ 82 %។ កុងតាក់បិទបើកមាននៅពីក្រោយ Cloudflare Access ដែលមាននៅពីក្រោយ Cloudflare។ ក្រោយហេតុការណ៍ ពីកំណត់ត្រារបស់ Cloudflare ផ្ទាល់: របាំងការពារ CPU ដែលត្រូវបានដកចេញប៉ុន្មានសប្តាហ៍មុននៅក្នុងការកែសម្រួលដែលមានបំណងសន្សំ CPU នីតិវិធីដែលអនុញ្ញាតឱ្យវិធានណាមួយរំលងការរៀបចំ ម៉ាស៊ីនដែលគ្មានការធានាភាពស្មុគស្មាញ មូលហេតុទាំង 11 និងដំណោះស្រាយទាំង 7។ សាលក្រមលើដំណោះស្រាយ: SHIP IT។
អានបោះពុម្ពជាលាយលក្ខណ៍អក្សរ (អង់គ្លេស) ↗
អ្វីដែលវីដេអូនេះគ្របដណ្ដប់
- 13:31–13:42 UTC: PR ត្រូវបានបញ្ចូលគ្នា CI ពណ៌បៃតង (គ្មានការធ្វើតេស្ត CPU) Quicksilver រុញវិធានទៅកាន់ទីក្រុងជាង 180; វិធាន WAF រំលងដំណាក់កាល DOG → PIG → Canary
- 13:45–14:07: ទំព័រដំបូង; CPU 100 % ជុំវិញពិភពលោក ចរាចរណ៍ −82 % 502s នៅគ្រប់ទីកន្លែង; ផ្ទាំងបញ្ជាផ្ទៃក្នុងមាននៅពីក្រោយ Cloudflare Access ដែលកំពុងបិទ; លិខិតសម្គាល់ខ្លះបានផុតកំណត់; ការរំលងដែលកម្រត្រូវបានអនុវត្ត
- 14:07–14:09: ការបញ្ចប់ WAF ទូទាំងពិភពលោក; ចរាចរណ៍ និង CPU ធម្មតាវិញបន្ទាប់ពី 27 នាទី; 14:52 WAF ត្រឡប់មកវិញដោយគ្មានវិធាន
- ថ្ងៃទី 2 កក្កដា (15:50 UTC) និង ថ្ងៃទី 12 កក្កដា: Cloudflare ចេញផ្សាយកំណត់ចំណាំនៅថ្ងៃតែមួយ និងរបាយការណ៍ក្រោយហេតុការណ៍ពេញលេញ; របាំងការពារ CPU ត្រូវបានបន្ថែមឡើងវិញ វិធាន 3,868 ត្រូវបានអានឡើងវិញ ការដាក់ឱ្យដំណើរការតាមដំណាក់កាល ការផ្លាស់ប្តូរទៅម៉ាស៊ីន regex ដែលមានពេលវេលាលីនេអ៊ែរ
កំណត់ត្រាដែលបានបកប្រែ
បកប្រែចេញពីការនិទានដើមជាភាសាអង់គ្លេស។ សំឡេង និងចំណងជើងរងដែលមានគឺស្ថិតនៅក្រោមការគ្រប់គ្រងរបស់ YouTube។
0:00 កន្សោមធម្មតាមួយដំណើរការលើម៉ាស៊ីនមេ Cloudflare ទាំងអស់ក្នុងពេលតែមួយ ហើយសម្រាប់រយៈពេល 27 នាទីបន្ទាប់ គេហទំព័រនៅពីក្រោយវាគឺជាទំព័រ 502 ដែលសម្រាប់ Firewall គឺជាការកំណត់ដ៏តឹងរ៉ឹងបំផុតដែលអាចធ្វើទៅបាន។ ថ្ងៃទី 2 ខែកក្កដា ឆ្នាំ 2019 ម៉ោង 13:42 UTC។ Cloudflare បង្ហោះក្នុងរយៈពេលពីរម៉ោង: មិនមែនជាការវាយប្រហារទេ ជាការដាក់ឱ្យដំណើរការមិនត្រឹមត្រូវ ចរាចរណ៍ធ្លាក់ចុះ 82 ភាគរយ។ ដប់ថ្ងៃក្រោយមក CTO John Graham-Cumming បោះពុម្ពរបាយការណ៍ក្រោយហេតុការណ៍ពេញលេញ រួមទាំង regex ហើយ Hacker News ផ្តល់ឱ្យវា 698 ពិន្ទុ
0:26 ដែលសម្រាប់ការដាច់គឺជាការអបអរសាទរឈរ។ តើវាកើតឡើងដោយរបៀបណា ហេតុអ្វីបានជាវាអាចទៅរួច និងអ្នកណាដែលត្រូវស្តីបន្ទោសពិតប្រាកដ។ នេះគឺជា The Daily Diff, ក្រោយហេតុការណ៍។ 13:31។ ការស្នើសុំទាញត្រូវបានបញ្ចូលគ្នា: វិធាន Firewall ថ្មីមួយប្រឆាំងនឹង cross-site scripting នៅក្នុងរបៀបក្លែងធ្វើ ដូច្នេះវាមិនបិទអ្វីទាំងអស់។ 13:37, ការធ្វើតេស្តបានឆ្លងកាត់; គ្មានការវាស់វែង CPU ទេ។ 13:42, វិធានត្រូវបានបញ្ជូនទៅ 180 ទីក្រុងក្នុងរយៈពេលពីរវិនាទី ដោយសារតែវិធាន WAF រំលងដំណាក់កាល dog, pig និង canary ដែលការចេញផ្សាយផ្សេងទៀតទទួលបាន។
0:54 13:45, ទំព័រដំបូង។ 13:49, Hacker News មានខ្សែស្រឡាយនៅលើទំព័រស្ថានភាព ដែលនៅតែនិយាយថាប្រព័ន្ធទាំងអស់ដំណើរការ។ វិធានបញ្ចប់ដោយ dot-star, dot-star, equals, dot-star: អ្វីក៏ដោយ បន្ទាប់មកអ្វីក៏ដោយ បន្ទាប់មកសញ្ញាស្មើ។ PCRE ស្មានដោយលោភលន់ បរាជ័យ ហើយត្រឡប់មកវិញតាមរយៈការបំបែកផ្សេងទៀតទាំងអស់។ x ស្មើ x ចំណាយពេល 23 ជំហាន។ x ម្ភៃនៅពីក្រោយសញ្ញាស្មើ: 555។
1:15 x ម្ភៃ គ្មានសញ្ញាស្មើ: 4,067 ជំហានដើម្បីរកមិនឃើញអ្វីទាំងអស់។ ដំណើរការនោះលើរាល់សំណើ ហើយរាល់ស្នូលគឺនៅមួយរយភាគរយ ធ្វើអ្វីសោះ ដោយហ្មត់ចត់។ របាំងការពារពីរគួរតែចាប់បានវា។ ដែនកំណត់ CPU លើវិធានត្រូវបានដកចេញដោយកំហុសប៉ុន្មានសប្តាហ៍មុន នៅក្នុងការកែសម្រួលដែលមានបំណងធ្វើឱ្យ WAF ប្រើ CPU តិច។ ហើយនីតិវិធីអនុញ្ញាតឱ្យវិធានណាមួយរំលងការរៀបចំ ដោយសារវិធានមានដើម្បីបញ្ឈប់ការវាយប្រហារបន្តផ្ទាល់ ករណីនេះមិនមែនជាភាពអាសន្នទេ ហើយវានៅតែរីករាលដាលទូទាំងពិភពលោក។
1:37 14:00, WAF ត្រូវបានកំណត់អត្តសញ្ញាណ; គ្មានការវាយប្រហារទេ។ 14:02, នរណាម្នាក់ស្នើការបញ្ចប់ទូទាំងពិភពលោក: សមាសធាតុមួយ បិទ ទូទាំងពិភពលោក។ កុងតាក់មាននៅពីក្រោយ Cloudflare Access ។ Cloudflare Access មាននៅពីក្រោយ Cloudflare ។ លិខិតសម្គាល់ខ្លះបានផុតកំណត់ដោយសារតែមិនបានប្រើ ដូច្នេះបណ្តាញលឿនបំផុតនៅលើ អ៊ីនធឺណិតចំណាយពេលប្រាំនាទីលើការរំលងដែលគ្មាននរណាម្នាក់បានអនុវត្ត។ 14:07, សម្លាប់។ 14:09, ចរាចរណ៍ធម្មតា។ git blame: ការដាក់ឱ្យដំណើរការដោយមានល្បឿនមួយ ទូទាំងពិភពលោក; របាំងការពារ CPU ត្រូវបានកែសម្រួលបាត់ដោយ
2:04 ចៃដន្យ; ម៉ាស៊ីន regex ដែលគ្មានដែនកំណត់ខ្ពស់។ មិនមែនជាវិស្វករដែលបានសរសេរវិធាននោះទេ: របាយការណ៍ក្រោយហេតុការណ៍រាយបញ្ជីមូលហេតុដប់មួយ និង មិនដាក់ឈ្មោះនរណាម្នាក់ទេ។ ទំហំនៃការខូចខាត: 27 នាទី, 82 ភាគរយនៃចរាចរណ៍ 100 ភាគរយ CPU លើរាល់ស្នូល នៅក្នុងរាល់ទីក្រុង។ ផ្ទាំងគ្រប់គ្រង និង API មាននៅពីក្រោយ Edge ដូចគ្នា ដូច្នេះអតិថិជនមិនអាចបិទបានទេ វា។ Hacker News ក្រោមរបាយការណ៍ក្រោយហេតុការណ៍: ពួកគេមានបញ្ហាមួយ បានប្រើកន្សោមធម្មតា ឥឡូវនេះពួកគេមានពីរ។ រឿងកំប្លែងចាស់។ នៅតែដំណើរការ។
2:28 សាលក្រម ក្រោយហេតុការណ៍: SHIP IT។ របាំងការពារ CPU ត្រឡប់មកវិញ វិធាន 3,868 ទាំងអស់ត្រូវបានអានដោយដៃ វិធានឆ្លងកាត់ការរៀបចំ ហើយម៉ាស៊ីនផ្លាស់ប្តូរទៅជាម៉ាស៊ីនដែលមានពេលវេលាលីនេអ៊ែរ ការធានា ដែលត្រូវបានបោះពុម្ពដោយ Ken Thompson ក្នុងឆ្នាំ 1968។ ថ្ងៃច័ន្ទ: គ្មាន dot-star dot-star នៅក្នុងអ្វីដែលដំណើរការតាមសំណើ ហើយរក្សាកុងតាក់បិទបើកឱ្យឆ្ងាយពីអ្វីដែលវាសម្លាប់។ ផ្ញើមកខ្ញុំនូវឧប្បត្តិហេតុដែលអ្នកនៅតែមិនត្រូវបានអនុញ្ញាតឱ្យនិយាយអំពី នៅក្នុងមតិយោបល់ ឬនៅ the daily diff dot dev ។
2:53 ហើយនោះគឺជា diff សម្រាប់ថ្ងៃនេះ។ ខ្ញុំឈ្មោះ Niko មកពី Axrisi។ បញ្ចូលគ្នាដោយការទទួលខុសត្រូវ។
ប្រភព
- John Graham-Cumming, "Details of the Cloudflare outage on July 2, 2019" (Jul 12, 2019)blog.cloudflare.com
- Matthew Prince, "Cloudflare outage caused by bad software deploy (updated)" (Jul 2, 2019)blog.cloudflare.com
- Matthew Prince on X, Jul 2, 2019, 14:22 UTCx.com
- Matthew Prince on X, Jul 2, 2019, 14:36 UTC ("No evidence yet attack related")x.com
- Hacker News, Jul 2, 2019, 13:49 UTC — "Cloudflare Network Performance Issues" (631 points)news.ycombinator.com
- Hacker News, Jul 2, 2019 — "Cloudflare outage caused by bad software deploy" (348 points)news.ycombinator.com
- Hacker News, Jul 12, 2019 — "Details of the Cloudflare outage on July 2, 2019" (698 points)news.ycombinator.com
- TechCrunch, Jul 2, 2019techcrunch.com



