
بررسی یک API و گواهی مشکل در تعطیلات – وبلاگ
در تعطیلات کریسمس ، به ما هشدار داده شد و یک مسئله API برطرف کردیم که به طور خلاصه از پرداخت و ایجاد حساب های جدید به مشتریان جلوگیری می کرد. ما از شما در پشت صحنه دعوت می کنیم تا بدانید چه اتفاقی افتاده است.
مروری بر آنچه اتفاق افتاده است
در 29 دسامبر سال 2020 به ما هشدار داده شد که API آنطور که باید پاسخ نمی دهد. بازرسی اولیه به ما این تصور را داد که سرویس Keepalived ما (که برای به اشتراک گذاشتن یک IP شناور در یک گره سالم استفاده می شود) به دلیل عدم تمدید اشتباه گواهی Let’s Encrypt به درستی کار نمی کند.
در طی پنج ساعت ، ما تحقیق کردیم پس از این واقعیت تأیید شد که رمزگذاری سخت گواهینامه میانی (که در تابستان سال 2020 در Certbot Dockerfile ما انجام شده است) باعث ایجاد مشکل شد ، تأییدی را ایجاد کرده و برنامه ما را مجبور به استفاده از آن می کند. [19659002] این امر چگونه بر مشتریان تأثیر می گذارد
در این مدت ، مشتریان قادر به ایجاد حساب های جدید و پرداخت به حساب های موجود نبودند.
عوامل کمک کننده
ما به اشتباه تصور کردیم که Let&;s Encrypt گواهی متوسط پیش فرض خود را تغییر نمی دهد (یکی همانطور که در وب سایت Let&;s Encrypt نشان داده شده است ، قبل از اینکه نسخه X3 در 17 مارس 2021 فاقد اعتبار شود ، استفاده می کردیم.
با استفاده از گواهی های تاریخی به عنوان مرجع ، نسخه X2 در 20 اکتبر 2020 منقضی شد. نگاهی به X2 به ما کمک کرد تا تأیید کنیم Certbot شروع به استفاده از گواهینامه های میانی جدیدتر قبل از انقضا گواهینامه های قدیمی می کند. گواهی (که Certbot ما استفاده از آن را در سرورهای ما انتخاب کرده بود) باطل شد.
راه حل طولانی مدت ما
ما یک راه حل طولانی مدت آماده کرده ایم که از بروز مجدد این مسئله جلوگیری می کند. این برنامه قبل از پایان این ماه مستقر خواهد شد و همزمان با تمدید گواهینامه های اجازه رمزگذاری در همه برنامه های وب روبرو هستیم.
جدول زمانی دقیق رویدادها
همه زمان ها به وقت محلی ، سوئد است. [19659016] 2020-12-29 13:15 تیم های زیرساخت و خدمات نسبت به یک API تا حدودی معیوب هشدار می یابند.
.
