تصویرِ کانتینرِ سختشده چیه؟
خلاصهٔ کاملتر
به گفتهٔ این مقالهٔ داکر، وقتی تیمهای امنیت اولینبار محیطِ کانتینریشون رو اسکن میکنن، اغلب صدها آسیبپذیری پیدا میکنن که تقریباً هیچکدوم از کدِ اپلیکیشن نمیان. اکثریتشون از پکیجهاییان که همراهِ ایمیجِ پایه اومدن: پوسته، کامپایلر، ابزارهای دیباگ و کتابخونههایی که اپ هیچوقت صداشون نمیزنه. تو زنجیرهٔ تأمینِ نرمافزار، ایمیجِ پایه پِیریزیه؛ اگه این پِیریزی پُر از اجزای اضافه باشه، هر ورکلودی که روش ساخته شه همون ریسک رو ارث میبره.
مشکل دو نیمه داره. اول اینکه هر پکیجِ استفادهنشده یه سطحِ حملهٔ بالقوهست و اسکنرها هم اون رو گزارش میکنن، پس یه انبوهِ هشدار درست میشه که ظرفیتِ تیم رو میسوزونه و آسیبپذیریهای واقعی لای اونها گم میشن. دومم اینکه خودِ این پکیجها خطرناکان: یه پوسته تو کانتینرِ تولید به مهاجم محیطِ تعاملی میده و ابزارهای دیباگ کمکش میکنن شبکه رو نقشهبرداری کنه.
به گفتهٔ نویسنده، سختشدن سه شرط داره و کمینهسازی فقط یکیشه. اول کمینهسازی: پوسته، پکیجمنیجر و ابزارهای دیباگ حذف میشن و فقط اجزای لازمِ زمانِ اجرا میمونن، طوری که سطحِ حمله تا حدودِ ۹۵٪ کم میشه. دوم وصلهٔ پیوسته: ایمیجی که بهروز نشه، عکسی از روزِ ساختشه، پس باید مدام بازساخته و وصله شه. سوم هم متادیتای قابلراستیآزمایی.
این متادیتا شاملِ SBOM (فهرستِ کاملِ پکیجها و نسخهها)، گواهیِ منشأ ساخت همراستا با فریمورکهایی مثلِ SLSA، دادهٔ VEX (که میگه کدوم CVEها واقعاً قابلبهرهبرداریان) و امضای رمزنگاریه؛ همینه که اعمالِ خودکارِ سیاست تو CI/CD رو ممکن میکنه. نویسنده هم فرقِ سختسازیِ کانتینر با سختسازیِ ماشینِ مجازی رو روشن میکنه: اولی روی محتوای ایمیج و یکپارچگیِ ساخت تمرکز داره، دومی روی پیکربندیِ سیستمعامل.
برای ارزیابیِ یه ایمیجِ سختشده، نویسنده پیشنهاد میده به شفافیت، منشأ، سرعتِ وصله، سازگاری با Dockerfileهای موجود، و صداقتِ دادهٔ آسیبپذیری نگاه کنی. همچنین تأکید میکنه چند کار «سختشدن» حساب نمیشن: انتخابِ نسخهٔ لاغر یا Alpine، حذفِ دستیِ پکیجهای پرچمخورده، یا ساختِ ایمیجِ distroless از صفر بدونِ نگهداریِ مداوم. کمینه بودن لازمه ولی کافی نیست.
نکات کلیدی:
- بیشترِ CVEهای کانتینر از پکیجهای اضافهٔ ایمیجِ پایه میان، نه از کدِ اپ.
- ایمیجِ سختشده سه شرط داره: کمینهسازی، وصلهٔ پیوسته، و متادیتای قابلراستیآزمایی.
- کمینهسازی میتونه سطحِ حمله رو تا حدودِ ۹۵٪ کم کنه.
- متادیتا مثلِ SBOM، منشأ SLSA، VEX و امضا، اعمالِ خودکارِ سیاست تو CI/CD رو ممکن میکنه.
- کوچیکبودن بهتنهایی یعنی سختشده نیست؛ سختسازیِ کانتینر با ماشینِ مجازی فرق داره.




