خلاصهی ماجرا
در آپدیت کوچکی که برای پایگاهداده انجام شد، فایل پیکربندی بخش شناسایی رباتها پر از داده تکراری شد و حافظهی سرورها را پر کرد؛ همین باعث شد ترافیک واقعی بهعنوان ربات شناخته شود و سایتها از دسترس خارج شوند.
مقدمه
اختلال امروز کلودفلر نه حمله سایبری بود، نه مشکل DNS و نه هوش مصنوعی؛ یک اشتباه ساده در یک کوئری پایگاهداده کل زنجیرهی پردازش ترافیک را مختل کرد.
دقیقاً چه اتفاقی افتاد؟
۱. ریشهی مشکل در یک کوئری
برای بهروزرسانی فایل تشخیص رباتها، کوئری ClickHouse تغییر کرد و بدون اینکه کسی متوجه شود، ردیفهای تکراری زیادی به خروجی اضافه شد.
۲. فایل پیکربندی بزرگتر شد
همین دادههای اضافی باعث شد فایل چند برابر شود و از حافظهی مجاز بگذرد؛ سیستم اصلی پروکسی که ترافیک مشتریها را کنترل میکند، متوقف شد.
۳. رباتهای واقعی و کاربران اشتباه گرفته شدند
چون امتیاز رباتها اشتباه محاسبه میشد، وبسایتهایی که قانون «مسدودکن ربات» داشتند، کاربران واقعی را هم رد کردند و سایتها از دسترس رفتند.
۴. چه کسانی متأثر نشدند؟
مشتریانی که از امتیاز تولیدشدهی ربات در قوانینشان استفاده نمیکردند، بدون اختلال به کارشان ادامه دادند.
جدول زمانی سریع
- آپدیت کوئری انجام شد
- فایل پیکربندی بزرگ شد
- حافظهی سرورها پر شد
- ماژول تشخیص ربات از کار افتاد
- ترافیک واقعی مسدود شد
- مهندسان کلودفلر config را عقبگرد کردند
چه درسهایی گرفته شد؟
حتی تغییر کوچک در پایگاهداده میتواند زنجیرهی وابستهی پردازش را فلج کند؛ نیاز به تست سنگینتر و محدودیت حافظهی سختگیرانهتر احساس میشود.
کلودفلر اعلام کرده از این پس فایلهای پیکربندی پیش از بارگذاری کامل، فشرده و بررسی میشوند تا تکراری وارد سیستم نشود.
