+− THE DAILY DIFFdev & AI news
SHIP IT

أدت الريجكس إلى تعطيل Cloudflare. 27 دقيقة.

2 يوليو 2019، الساعة 13:42 بالتوقيت العالمي المنسق: قاعدة جديدة لجدار حماية تطبيقات الويب من Cloudflare تبدأ العمل في أكثر من 180 مدينة في حوالي ثانيتين.

2 يوليو 2019، الساعة 13:42 بالتوقيت العالمي المنسق: قاعدة جديدة لجدار حماية تطبيقات الويب من Cloudflare تبدأ العمل في أكثر من 180 مدينة في حوالي ثانيتين. إنها قاعدة XSS في وضع المحاكاة، لذا لا تمنع أي شيء، لكنها لا تزال تعمل على كل طلب، وتنتهي بـ .*(?:.*=.*). تتراجع PCRE، تصل كل نواة وحدة معالجة مركزية تخدم طلبات HTTP إلى 100%، وكل موقع وكيل Cloudflare يعيد 502 لمدة 27 دقيقة؛ ينخفض ​​حجم الزيارات بنسبة 82%. مفتاح الإيقاف يقع خلف Cloudflare Access، والذي يقع خلف Cloudflare. تشريح ما بعد الكارثة، من تقرير Cloudflare الخاص: تمت إزالة حماية وحدة المعالجة المركزية قبل أسابيع في عملية إعادة هيكلة تهدف إلى توفير وحدة المعالجة المركزية، الإجراء الذي سمح لأي قاعدة بتخطي مراحل الاختبار، المحرك الذي لا يضمن تعقيدًا، الأسباب الـ 11 والإصلاحات الـ 7. الحكم على الإصلاح: SHIP IT.

اقرأ النسخة المكتوبة (الإنجليزية) ↗

ما يغطيه هذا الفيديو

  • 13:31–13:42 بالتوقيت العالمي المنسق: تم دمج طلب السحب، CI أخضر (لا يوجد اختبار لوحدة المعالجة المركزية)، Quicksilver يدفع القاعدة إلى أكثر من 180 مدينة؛ قواعد WAF تتخطى مراحل DOG ← PIG ← Canary
  • 13:45–14:07: الصفحة الأولى؛ وحدة المعالجة المركزية 100% في جميع أنحاء العالم، حركة المرور -82%، 502s في كل مكان؛ لوحة التحكم الداخلية خلف Cloudflare Access، وهي معطلة؛ بعض بيانات الاعتماد انتهت صلاحيتها؛ تجاوز نادر التدريب
  • 14:07–14:09: إنهاء WAF عالمي؛ حركة المرور ووحدة المعالجة المركزية طبيعية بعد 27 دقيقة؛ 14:52 WAF يعود بدون القاعدة
  • 2 يوليو (15:50 بالتوقيت العالمي المنسق) و 12 يوليو: Cloudflare تنشر الملاحظة في نفس اليوم والتشريح الكامل بعد الكارثة؛ تمت إعادة إضافة حماية وحدة المعالجة المركزية، 3,868 قاعدة أعيدت قراءتها، عمليات طرح مرحلية، الانتقال إلى محرك تعبير عادي زمني خطي

النص المترجم

مترجم من السرد الإنجليزي الأصلي. يتم التحكم في الصوت والتعليقات التوضيحية المتاحة بواسطة YouTube.

0:00 تعبير عادي واحد يبدأ العمل على كل خادم Cloudflare دفعة واحدة، ولمدة السبع وعشرين دقيقة التالية، المواقع التي تقع خلفه تكون صفحة 502، وهو، بالنسبة لجدار الحماية، أشد إعداد ممكن. 2 يوليو 2019، الساعة 13:42 بالتوقيت العالمي المنسق. تنشر Cloudflare في غضون ساعتين: ليس هجومًا، بل نشر سيء، حركة المرور انخفضت بنسبة 82 بالمائة. بعد عشرة أيام، ينشر المدير التنفيذي للتقنية جون غراهام-كامينغ التشريح الكامل لما بعد الكارثة، بما في ذلك التعبير العادي، ويعطيه Hacker News 698 نقطة،

0:26 وهو، بالنسبة لانقطاع، تصفيق حار. كيف حدث، ولماذا كان ممكنًا، ومن هو المسؤول الفعلي. هذا هو The Daily Diff، تشريح ما بعد الكارثة. 13:31. يتم دمج طلب سحب: قاعدة جدار حماية جديدة واحدة ضد البرمجة النصية عبر المواقع، في وضع المحاكاة، لذا لا تمنع أي شيء. 13:37، تمر الاختبارات؛ لا يوجد أي منها يقيس وحدة المعالجة المركزية. 13:42، يتم شحن القاعدة إلى 180 مدينة في ثانيتين، لأن قواعد WAF تتخطى مراحل الكلب والخنزير والكناري التي تحصل عليها الإصدارات الأخرى.

0:54 13:45، الصفحة الأولى. 13:49، Hacker News لديه موضوع حول صفحة الحالة، التي لا تزال تقول إن جميع الأنظمة تعمل. القاعدة تنتهي بـ dot-star, dot-star, equals, dot-star: أي شيء، ثم أي شيء، ثم علامة يساوي. PCRE تخمن بشراهة، تفشل، وتتراجع عبر كل تقسيم آخر. س يساوي س يستغرق 23 خطوة. عشرون س بعد علامة اليساوي: 555.

1:15 عشرون س، لا توجد علامة يساوي: 4,067 خطوة للعثور على لا شيء. شغل ذلك على كل طلب وكل نواة ستكون بنسبة مائة بالمائة، لا تفعل شيئًا، بدقة. كان يجب أن يلتقطها حارسان. تمت إزالة حد وحدة المعالجة المركزية على القواعد عن طريق الخطأ قبل أسابيع، في عملية إعادة هيكلة تهدف إلى جعل WAF تستخدم وحدة معالجة مركزية أقل. ويسمح الإجراء لأي قاعدة بتخطي مرحلة الاختبار، لأن القواعد موجودة لإيقاف الهجمات الحية؛ هذه لم تكن حالة طوارئ، وذهبت عالميًا على أي حال.

1:37 14:00، تم تحديد WAF؛ لا يوجد هجوم. 14:02، يقترح أحدهم الإنهاء العالمي: مكون واحد، متوقف، عالميًا. المفتاح خلف Cloudflare Access. Cloudflare Access خلف Cloudflare. بعض بيانات الاعتماد انتهت صلاحيتها بسبب عدم الاستخدام، لذلك أسرع شبكة على الإنترنت تقضي خمس دقائق في تجاوز لم يتدرب عليه أحد. 14:07، إيقاف. 14:09، حركة المرور طبيعية. git blame: نشر بسرعة واحدة، عالمي؛ حارس وحدة معالجة مركزية تمت إعادة هيكلته عن طريق

2:04 الخطأ؛ محرك تعبير عادي بدون حد أعلى. ليس المهندس الذي كتب القاعدة: تشريح ما بعد الكارثة يسرد أحد عشر سببًا و لا يسمي أحدًا. نطاق الضرر: 27 دقيقة، 82 بالمائة من حركة المرور، 100 بالمائة من وحدة المعالجة المركزية على كل نواة، في كل مدينة. لوحة التحكم وواجهة برمجة التطبيقات تقع خلف نفس الحافة، لذلك لا يمكن للعملاء حتى إيقافها. Hacker News، تحت التشريح بعد الكارثة: كانت لديهم مشكلة واحدة، استخدموا تعبيرًا عاديًا، والآن لديهم مشكلتان. نكتة قديمة. لا تزال تُجمع.

2:28 الحكم، تشريح ما بعد الكارثة: SHIP IT. عاد حارس وحدة المعالجة المركزية، يتم قراءة جميع القواعد البالغ عددها 3,868 يدويًا، تمر القواعد بمرحلة الاختبار، وينتقل المحرك إلى محرك بضمانات وقت خطي، نشرها كين طومسون عام 1968. الاثنين: لا يوجد dot-star dot-star في أي شيء يعمل لكل طلب، واحتفظ بمفتاح الإيقاف بعيدًا عن الشيء الذي يقتله. أرسل لي الحادث الذي لا يزال غير مسموح لك بالتحدث عنه، في التعليقات، أو على daily diff dot dev.

2:53 وهذا هو الـ diff لليوم. أنا نيكو من Axrisi. الدمج بمسؤولية.

المصادر

  1. John Graham-Cumming, "Details of the Cloudflare outage on July 2, 2019" (Jul 12, 2019)blog.cloudflare.com
  2. Matthew Prince, "Cloudflare outage caused by bad software deploy (updated)" (Jul 2, 2019)blog.cloudflare.com
  3. Matthew Prince on X, Jul 2, 2019, 14:22 UTCx.com
  4. Matthew Prince on X, Jul 2, 2019, 14:36 UTC ("No evidence yet attack related")x.com
  5. Hacker News, Jul 2, 2019, 13:49 UTC — "Cloudflare Network Performance Issues" (631 points)news.ycombinator.com
  6. Hacker News, Jul 2, 2019 — "Cloudflare outage caused by bad software deploy" (348 points)news.ycombinator.com
  7. Hacker News, Jul 12, 2019 — "Details of the Cloudflare outage on July 2, 2019" (698 points)news.ycombinator.com
  8. TechCrunch, Jul 2, 2019techcrunch.com

فيديوهات ذات صلة

postmortem · ar · 25‏/09‏/2026

أوقف خطأ لمدة مللي ثانية واحدة حركة الملاحة الجوية في المملكة المتحدة. ست ساعات.

في الساعة 10:00 من صباح يوم الثلاثاء، 8 سبتمبر، تم اعتراض طلب روتيني لرمز squawk داخل نظام المجال الجوي الوطني (NAS) التابع لـ NATS بواسطة رسالة ذات أولوية أعلى بينما كان في منتصف تحديث قيمة. كانت ناف

3:06 ↗