هفتهی گذشته، باگی در سرویس Let's Encrypt رخ داد که میلیونها وبسایت را تقریبا از دسترس خارج کرد؛ اما پنج روز تلاش متخصصان مانع از پیشرفت آن شد.
هفتهی پیش رخدادی در سطح وسیع در سرویسهای زیرساختی اینترنت رخ داد که احتمال بزرگشدن و افزایش تأثیر آن زیاد بود؛ البته تلاش متخصصان از افزایش تأثیر بحران جلوگیری کرد. بحران در اینترنت ۲۸ فوریه و با خبری نگرانکننده در Let's Encyprt شروع شد. این شرکت یکی از بازوهای عملیاتی سازمان غیرانتفاعی گروه تحقیقات امنیتی اینترنت محسوب میشود و امکان بهرهبرداری از اتصالهای امن و رمزنگاریشده را رایگان دراختیار وبسایتها قرار میدهد. مجوزهای امنیتی ارسالشده امنبودن وبسایت را تأیید و بهنوعی زیرساختهای رمزنگاری پایهای HTTPS را فراهم میکنند.
مجوزهای امنبودن وبسایت زمان اعتبار مشخصی دارند و پس از گذشت ۹۰ روز، مسئول هر وبسایت باید برای نوسازی مجوز اقدام کند. گفتنی است بخش عمدهای از فرایند بهصورت خودکار انجام میشود؛ اما درنهایت اگر وبسایتی موفق نشود مجوز خود را تمدید کند، احتمالا مرورگر برای جلوگیری از سوءاستفادهی امنیتی، آن را بارگذاری نخواهد کرد. بهطورخلاصه، میتوان مجوزها را مانند تمدید مجوز بیمه یا مدارک دیگر خودرو دانست که اگر در زمان مقرر انجام نشود، ممنوعیت عبورومرور را بههمراه خواهد داشت.
فعالیتهایی که بازوی رمزنگاری غیرانتفاعی انجام میدهد، جزئیات زیادی دارد و اغلب آنها هم از دید کاربران مخفی هستند. بههرحال، همین مرکز باعث شد در سالهای گذشته، فضای اینترنت روزبهروز امنتر شود. مجوزهای اعتبار امنیتی وبسایتها را سازمانها و شرکتهای گوناگون صادر میکنند؛ اما Let's Encrypt با رایگانکردن آنها، قدم بزرگی در مسیر امنترکردن فضای وب برداشت. آنها هفتهی گذشته مجوز شمارهی یکمیلیاردم خود را هم صادر کردند.
بزرگ و گسترده بودن فعالیت Let's Encrypt و وابستگی تعداد زیادی وبسایت به آن، ضعفهایی هم بههمراه دارد. اگر مشکلی در زیرساختهای این سازمان ایجاد شود، عواقب آن گریبانگیر بسیاری از فعالان وب خواهد شد. ۲۸ فوریه، اتفاق نگرانکننده رخ داد و باگی در سیستم امنیتی سازمان از فعالیت صحیح سهمیلیون وبسایت جلوگیری کرد و چند روز هم به طول انجامید.
آسیبپذیری ایجادشده در زیرساخت اهدا و تأیید مجوزها در نگاه اول بسیار جزئی بهنظر میرسد. سازمان تأیید مجوز از نرمافزاری بهنام Boulder برای تأیید صحیحبودن اهدای مجوز به وبسایت بهره میبرد. نرمافزار مذکور پیشنیازهای اولیهی وبسایت را برای دریافت مجوز بررسی میکند و فرایند هر ۳۰ روز یکبار تکرار میشود. باگی که در سیستم ایجاد شد، بررسی ثانویه را حذف میکرد که عواقب بزرگی بههمراه داشت. فراموش نکنید برخی مقاصد مهم و حساس وب مانند بانکها، تنها مجوزهایی میپذیرند که از سازمانهای خاص اهدا شده باشند. اگرچه Let's Encrypt ساختار بسیار امنی دارد، برخی مجوزها پولی و ضمانت و ارتقای درخورتوجهی درکنار مجوزهای خود ارائه میکنند. درواقع، همین بخشها تفاوت اصلی سرویسهای پولی و رایگان را ایجاد میکند.
باگی که در سیستم مجوزدهی ایجاد شد، تأثیر آنچنان زیادی بر وبسایتها نگذاشت. این باگ مجوز ۲/۶ درصد از وبسایتهای طرف قرارداد با Let's Encrypt (برابر ۳ میلیون و ۴۸ هزار و ۲۸۹ وبسایت) را تحتتأثیر قرار میداد و شرکت نمیتوانست آنها را به حال خود رها کند. به بیان ساده، مجوز حدود سهمیلیون وبسایت با روشی غیراصولی تمدید شده بود و سازمان باید مشکل را حل میکرد.
انجمن امنیتی موسوم به Certification Authority Browser Forum یا CA/B از Let's Encrypt درخواست کرد مشکل سهمیلیون مجوز را در پنج روز حل کند. این انجمن استانداردهای سختگیرانهای در استفاده از مجوزهای امنیتی در وبسایتها دارد. Let's Encrypt ابتدا باید مجوزهای صادرشده را باطل میکرد و فرایند بررسی را از سر میگرفت. آنها میتوانستند بدون توجه به هشدار CA/B به فعالیت ادامه دهند؛ اما تصمیم گرفتند مشکل را حل کنند.
کنت وایت، از مدیران ارشد سرویس دیتابیس MangoDB است که از Let's Encrypt استفاده میکند. وی دربارهی تصمیم سازمان گفت:
آنها کار صحیح را انجام دادند. انجمن CA/B قوانین را تصویب میکند و ساختارهای تنظیمگری دقیقی دارد. وقتی کامپیوتر یا شخص با کامپیوتر دیگری ارتباط برقرار میکند، باید مطمئن شویم هر دو از ملاکهای هویتی مشابه استفاده میکنند. برای چنین مقصودی به چهارچوبهای مشخص نیاز داریم که CA/B تدوین میکند.
حذفکردن مجوز سهمیلیون وبسایت مشتری Let's Encrypt تأثیر عمیقی بر عملکرد آنها گذاشت. وقتی مرورگرهایی همچون کروم و فایرفاکس از نبود مجوز مطلع میشدند، بارگذاری آن را متوقف و اعلان هشداری برای کاربر ارسال میکردند. برخی از مرورگرها نیز بدون هشدار دسترسی را بهصورت کامل متوقف میکنند؛ درنتیجه، تعداد چشمگیری از وبسایتهای اینترنتی از دسترس خارج میشد. همهی این بحرانها فقط بهدلیل باگی کوچک در گوشهای از سیستم Let's Encrypt رخ میداد.
تیم Let's Encrypt بهمحض اطلاع از باگ، هرگونه ارائهی مجوز جدید را متوقف کردند تا سطح تأثیر بحران افزایش پیدا نکند. تنها دو ساعت بعد، باگ برطرف و اخبار تکمیلی منتشر شد. البته آنها امکان برقراری تماس با همهی مشتریان را نداشتند و تنها به مشترکان بزرگ اطلاعرسانی کردند. مجوز آنها بسیار سریع احیا شد و وبسایتها به وضعیت قبل بازگشتند.
اگر مدیر وبسایت مجوز خود را در Let's Encrypt بهروزرسانی کند، مجوز قدیمی بهصورت خودکار حذف میشود؛ درنتیجه، شاید چنین راهکاری در نگاه اول بهعنوان راهحل مناسب برای مشکل جدید به ذهن میرسید، اما فرایندها به آن آسانی نبود که تصور میشد. وبسایتها و سرویسهای بزرگ منابع کافی برای نظارت دائم و برطرفکردن خودکار مشکلات خود را دارند. بهعنوان مثال، MangoDB بهسرعت مجوز ۱۵ هزار مشتری خود را بهروز کرد.
وبسایتهای کوچکتر برای عبور از بحران پیشآمده در Let's Encrypt از کمک Electronic Frontier Foundation بهره بردند که نرمافزار Certbot را برای آنها ارائه میکند. نرمافزار مذکور مجوزهای مرتبط را به وبسایتها اضافه و آنها را در دورهی ۶۰ روزه تمدید میکند. Certbot فقط در دو ماه گذشته، ۱۹/۲ میلیون مجوز جدید صادر کرده است. مکس هانتر، مدیر مهندسی EFF، دربارهی حل مشکل جدید برای وبسایتهای کوچکتر گفت:
ازآنجاکه Let's Encrypt مشکل را بهسرعت اعلام کرد و زیرساختهای کدنویسی لازم هم دردسترس بود، ما کار دشواری در پیش نداشتیم.
گروهی از EFF بههمراه داوطلبهایی از پاریس و فنلاند وارد عمل شدند و کدهای Certbot برای تمدید مجوزهای باطلشده بهینهسازی شد.
Let's Encrypt در زمان مقابله با مشکل پیشآمده، تقریبا برای هر آدرس ایمیلی که دراختیار داشت، پیام ارسال کرد. بهعلاوه، دیتابیسی جستوجوشدنی از دامینهای تحتتأثیر آماده کرد تا شرکتهای میزبانی وب درصورت نیاز به مشتریان احتمالی خود اطلاعرسانی کنند. برخی از سرویسها ابزارهای خودکار داشتند و با واردکردن وبسایتهای قربانی به فهرست اتمام مجوز، مجوز آنها بهسرعت تمدید شد.
تنها ۳۰ دقیقه پیش از پایان مهلت پنجروزهی Let's Encrypt، حدود ۱/۷ میلیون وبسایت از مجموع سهمیلیون وبسایت مجوز خود را تمدید کرده بودند. چنین تعدادی در زمان بسیار کم، دستاورد بزرگی برای سازمان غیرانتفاعی بود که کمتر شرکتی توانایی انجام آن را دارد. مجوز سایر وبسایتها نیز با تصمیم شرکت و سازمانهای قانونگذار مرتبط، پس از پایان ضربالاجل لغو شد. ازآنجاکه مجوزها معمولا هر ۹۰ روز یکبار تمدید میشوند، احتمالا تا تابستان هیچ وبسایت دیگری تحتتأثیر بحران پیشآمده قرار نخواهد گرفت؛ هرچند قطعا بسیاری از آنها در این مدت متوجه مشکل پیشآمده خواهند شد.
رخداد پیشآمده نشان میدهد اهمیت زیرساختهای پشتصحنهی اینترنت تا پیش از رخدادن بحران ناشناخته است. بههرحال بررسی این مشکلها و تصمیمهای صحیحی که برای رفع آنها گرفته شد، نمونهای از اهمیت واکنش سریع در سطح زیرساختی را نشان میدهد.
پاسخ ها