حادثه پس از مرگ: 23 نوامبر 2021
خلاصه بین ساعت 16:00 و تقریباً 5:36 بعد از ظهر روز سهشنبه، 23 نوامبر، ما در اکثر سیستمهای تولید کوینبیس دچار اختلال شدیم. در طول این قطع، کاربران با استفاده از وبسایتها و برنامههای ما نمیتوانستند به Coinbase دسترسی پیدا کنند و بنابراین نمیتوانستند از محصولات ما استفاده کنند. این پست برای توصیف آنچه رخ
خلاصه
بین ساعت 16:00 و تقریباً 5:36 بعد از ظهر روز سهشنبه، 23 نوامبر، ما در اکثر سیستمهای تولید کوینبیس دچار اختلال شدیم. در طول این قطع، کاربران با استفاده از وبسایتها و برنامههای ما نمیتوانستند به Coinbase دسترسی پیدا کنند و بنابراین نمیتوانستند از محصولات ما استفاده کنند. این پست برای توصیف آنچه رخ داده و علل آن و بحث در مورد اینکه چگونه برنامه ریزی می کنیم برای جلوگیری از چنین مشکلاتی در آینده طراحی شده است.
حادثه
در 23 نوامبر 2021، ساعت 4:00 بعدازظهر PT (24 نوامبر 2021 ساعت 00:00 UTC) یک گواهی SSL برای نام میزبان داخلی در یکی از حسابهای خدمات وب آمازون (AWS) ما منقضی شد. گواهینامه SSL منقضی شده توسط بسیاری از متعادل کننده های بار داخلی ما استفاده می شد که باعث شد اکثر ارتباطات بین سرویسی از کار بیفتند. با توجه به این واقعیت که لایه مسیریابی API ما از طریق زیر دامنههای این نام میزبان داخلی به سرویسهای باطن متصل میشود، حدود 90 درصد از ترافیک ورودی API خطاها را برمیگرداند.
زمانی که توانستیم همه متعادل کننده های بار را به یک گواهی معتبر انتقال دهیم، نرخ خطا به حالت عادی بازگشت.
زمینه: گواهی ها در کوین بیس
ارائه برخی اطلاعات پس زمینه درباره نحوه مدیریت گواهینامه های SSL در Coinbase مفید است. در بیشتر موارد، گواهینامه ها برای نام های میزبان عمومی مانند coinbase.com توسط Cloudflare مدیریت و ارائه می شوند. برای گواهینامههای نام میزبان داخلی که برای مسیریابی ترافیک بین سرویسهای پشتیبان استفاده میشوند، از گذشته از گواهینامههای سرور AWS IAM استفاده میکردیم.
یکی از معایب گواهینامه های سرور IAM این است که گواهی ها باید خارج از AWS تولید شده و از طریق تماس API آپلود شوند. بنابراین سال گذشته، تیم زیرساخت ما از گواهیهای سرور IAM به مدیر گواهینامه AWS (ACM) مهاجرت کرد. ACM مشکل امنیتی را حل می کند زیرا AWS هر دو مؤلفه عمومی و خصوصی گواهی را در ACM تولید می کند و نسخه رمزگذاری شده را در IAM برای ما ذخیره می کند. فقط سرویسهای متصل مانند Cloudfront و Elastic Load Balancer به گواهیها دسترسی خواهند داشت. انکار acm:Export Certificate مجوز همه نقشهای AWS IAM تضمین میکند که نمیتوان آنها را صادر کرد.
علاوه بر مزایای امنیتی اضافه شده، ACM همچنین به طور خودکار گواهی ها را قبل از انقضا تمدید می کند. با توجه به اینکه گواهینامه های ACM قرار است تمدید شوند و ما مهاجرت انجام دادیم، چطور این اتفاق افتاد؟
بررسی دلیل ریشه ای
پاسخ دهندگان حادثه به سرعت متوجه شدند که گواهی منقضی شده یک گواهی سرور IAM است. این غیرمنتظره بود زیرا مهاجرت ACM فوق الذکر به طور گسترده در کانال های ارتباطی مهندسی در آن زمان منتشر شده بود. بنابراین ما با این فرض کار میکردیم که منحصراً بر روی گواهیهای ACM کار میکردیم.
همانطور که بعداً متوجه شدیم، یکی از انتقالهای گواهی طبق برنامه پیش نرفت. گروهی از مهندسین که بر روی مهاجرت کار می کنند یک گواهینامه جدید IAM را آپلود کردند و بقیه مهاجرت را به تعویق انداختند. متأسفانه، تأخیر آن طور که باید به طور گسترده اعلام نشد و تغییرات در ساختار تیم و پرسنل منجر به تکمیل نادرست پروژه شد.
به کنار وضعیت مهاجرت، ممکن است همان سوالی را که از خود پرسیدیم بپرسید: “چرا به ما در مورد این گواهی در حال انقضا هشدار داده نشد؟” پاسخ این است: ما بودیم. هشدارها به یک گروه توزیع ایمیل ارسال می شد که متوجه شدیم فقط از دو نفر تشکیل شده است. این گروه در ابتدا بزرگتر بود، اما با خروج اعضای تیم کوچکتر شد و با پیوستن افراد جدید به تیم، هرگز به اندازه کافی دوباره جمعیت نشد.
به طور خلاصه، گواهینامه حیاتی به دلیل هر سه عامل مجاز به انقضا شد:
- انتقال IAM به ACM ناقص بود.
- هشدارهای انقضا فقط از طریق ایمیل ارسال می شد و فیلتر یا نادیده گرفته شد.
- فقط دو نفر در لیست توزیع ایمیل بودند.
وضوح و بهبود
برای حل این حادثه، ما همه متعادلکنندههای بار را که از گواهی منقضی شده IAM استفاده میکردند، به گواهی تمدید خودکار ACM موجود که به عنوان بخشی از طرح مهاجرت اولیه ارائه شده بود، منتقل کردیم. این به دلیل تعداد بار متعادل کننده های درگیر و احتیاط ما در تعریف، آزمایش و اعمال تغییرات زیرساختی مورد نیاز، بیشتر از حد مطلوب طول کشید.
برای اطمینان از اینکه دیگر با چنین مشکلی مواجه نمی شویم، مراحل زیر را برای رسیدگی به عوامل ذکر شده در بخش RCA در بالا انجام داده ایم:
- ما انتقال به ACM را کامل کردهایم، دیگر از گواهیهای سرور IAM استفاده نمیکنیم و برای کاهش نویز، گواهیهای قدیمی را حذف میکنیم.
- ما نظارت خودکار را اضافه می کنیم که به سیستم هشدار و صفحه بندی ما متصل است تا هشدارهای ایمیل را تقویت کند. این موارد در انقضای قریبالوقوع و همچنین زمانی که گواهیهای ACM از واجد شرایط بودن تمدید خودکار خارج میشوند، صفحه میشوند.
- ما یک گروه نام مستعار دائمی به لیست توزیع ایمیل اضافه کرده ایم. علاوه بر این، با پیوستن و خروج کارکنان به شرکت، این گروه به طور خودکار به روز می شود.
- ما در حال ایجاد یک مخزن از عملیات اصلاح حادثه هستیم تا زمان تعریف، آزمایش و اعمال تغییرات جدید را کاهش دهیم.
ما بهروزرسانی و عملکرد زیرساختهای خود را بسیار جدی میگیریم و سخت تلاش میکنیم تا از میلیونها مشتری که Coinbase را برای مدیریت ارز دیجیتال خود انتخاب میکنند، پشتیبانی کنیم. اگر علاقه مند به حل چالش هایی مانند موارد ذکر شده در اینجا هستید، با ما همکاری کنید.
Incident Post Mortem: 23 نوامبر 2021 در ابتدا در وبلاگ The Coinbase در Medium منتشر شد، جایی که مردم با برجسته کردن و پاسخ دادن به این داستان به گفتگو ادامه می دهند.
آموزش مجازی مدیریت عالی حرفه ای کسب و کار Post DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت عالی و حرفه ای کسب و کار DBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه | آموزش مجازی مدیریت کسب و کار MBA + مدرک معتبر قابل ترجمه رسمی با مهر دادگستری و وزارت امور خارجه |
مدیریت حرفه ای کافی شاپ | حقوقدان خبره | سرآشپز حرفه ای |
آموزش مجازی تعمیرات موبایل | آموزش مجازی ICDL مهارت های رایانه کار درجه یک و دو | آموزش مجازی کارشناس معاملات املاک_ مشاور املاک |
برچسب ها :
ناموجود- نظرات ارسال شده توسط شما، پس از تایید توسط مدیران سایت منتشر خواهد شد.
- نظراتی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
- نظراتی که به غیر از زبان فارسی یا غیر مرتبط با خبر باشد منتشر نخواهد شد.
ارسال نظر شما
مجموع نظرات : 0 در انتظار بررسی : 0 انتشار یافته : ۰