التحصين: مستخدم غير root وقاعدة أساس صغيرة
الصورة التي تعمل ليست بالضرورة صورة آمنة للنشر. في هذا الدرس نركّز على فكرة واحدة: تقليل ما يمكن مهاجمته. نشغّل الحاوية كمستخدم غير root: القيمة الافتراضية في الحاوية هي root، وتعليمة USER تنقلنا إلى مستخدم محدود الصلاحيات بحيث يُحدث أي اختراق ضرراً أقل. نختار صورة أساس صغيرة (alpine أو distroless)
امنح العامل المفاتيح التي يحتاجها فقط (غير root)، وأبقِ صندوق الأدوات صغيراً (قاعدة أساس صغيرة) — بحيث حتى لو اقتحم أحدهم المكان، تكون بحوزته مفاتيح أقل وأدوات أقل للعبث بها.
- مستخدم غير root (USER)
- تشغيل عملية الحاوية تحت مستخدم محدود الصلاحيات بدلاً من root. تعليمة USER في ملف Dockerfile تحدّد ذلك وتقلّل الضرر (نطاق الانفجار) إذا تمكّن مهاجم من تنفيذ شيفرة.
- قاعدة أساس صغيرة
- قاعدة أساس صغيرة مثل alpine أو distroless تحتوي على عدد قليل من الحزم والأدوات. كلما قلّ ما هو مثبّت في الصورة، قلّت الثغرات المحتملة وصغُر سطح الهجوم.
- فحص الصورة (CVE)
- فحص آلي للصورة مقابل قاعدة بيانات للثغرات المعروفة (CVEs) في مكتباتها وقاعدتها. يُنبّه الفحص إلى الحزم القابلة للاختراق، لذا تثبّت الإصدارات وتحدّثها.