كلاود
أمن سيبراني

أمان Docker: أفضل الممارسات للإنتاج

كلاود|٤ أبريل ٢٠٢٦|4 دقائق قراءة|٤٤٧ مشاهدة
أمان Docker: أفضل الممارسات للإنتاج

Rootless containers، image scanning، network policies — 10 ممارسات أمان لـ Docker في بيئة الإنتاج.

لماذا أمان Docker مهم؟

Docker سهّل نشر التطبيقات بشكل كبير، لكن هذه السهولة جاءت مع مخاطر أمنية حقيقية. حاوية Docker مُعدّة بشكل خاطئ يمكن أن تفتح باباً للمخترقين للوصول للسيرفر بالكامل. حسب تقرير Sysdig لعام 2025، 76% من الحاويات المنتشرة تحتوي على ثغرات عالية أو حرجة.

هذا الدليل يغطي أفضل الممارسات لتأمين حاويات Docker على سيرفرات الإنتاج — سواء كنت تشغّل تطبيق ويب، أدوات ذكاء اصطناعي، أو أي خدمة أخرى.

صورة Docker الآمنة: البداية الصحيحة

1. استخدم صور أساسية محدودة

بدل استخدام صورة ubuntu:latest الكاملة (تحتوي آلاف الحزم)، استخدم صور مصغّرة:

  • Alpine Linux: حجمها 5 ميجابايت. مثالية لتطبيقات Go و Node.js
  • Distroless: صور Google بدون shell أصلاً. أكثر أماناً لأن المخترق ما يقدر ينفذ أوامر حتى لو دخل
  • Slim variants: نسخ مخففة من الصور الرسمية (python:slim, node:slim)

2. لا تشغّل بصلاحية root

الخطأ الأكثر شيوعاً: ترك الحاوية تعمل بصلاحية root. إذا استغل المخترق ثغرة في تطبيقك، يحصل على root داخل الحاوية — وممكن يتجاوز العزل للسيرفر الأساسي.

الحل: أنشئ مستخدم مخصص في Dockerfile وحدده كمستخدم افتراضي باستخدام تعليمة USER. هذا يحد من الأضرار حتى في حال الاختراق.

3. فحص الصور بشكل دوري

استخدم أدوات فحص الثغرات على كل صورة قبل نشرها:

  • Trivy: أداة مفتوحة المصدر من Aqua Security. تفحص الصور وملفات Dockerfile
  • Docker Scout: مدمج في Docker Desktop. يعطي تقرير ثغرات مع توصيات الإصلاح
  • Grype: بديل سريع ومفتوح المصدر

إعداد Docker Daemon الآمن

تفعيل Content Trust

Docker Content Trust يضمن أن الصور المسحوبة من السجل موقّعة ولم يُتلاعب بها. فعّل متغير البيئة DOCKER_CONTENT_TRUST=1 لمنع تشغيل صور غير موقّعة.

تقييد الموارد

حدد الموارد لكل حاوية لمنع هجمات استنفاد الموارد (DoS داخلي):

الموردالتوجيهالسبب
الذاكرة--memory=512mمنع حاوية واحدة من استهلاك كل الرام
المعالج--cpus=1.0منع احتكار أنوية المعالج
العمليات--pids-limit=100منع fork bombs
التخزين--storage-opt size=10Gمنع ملء القرص

أمان الشبكة

1. لا تعرّض منافذ غير ضرورية

القاعدة: عرّض فقط المنافذ التي يحتاجها العميل النهائي. قواعد البيانات (3306, 5432, 27017) يجب أن لا تكون متاحة من الإنترنت.

2. استخدم شبكات Docker المعزولة

أنشئ شبكة داخلية لكل مجموعة خدمات. تطبيق الويب يتصل بقاعدة البيانات عبر الشبكة الداخلية — لا حاجة لعرض منفذ قاعدة البيانات أصلاً.

3. Reverse Proxy أمام كل شيء

Nginx أو Traefik كـ reverse proxy يوفر: إنهاء SSL، حماية من هجمات الحجب، وتسجيل كل الطلبات. لا تعرّض تطبيقك مباشرة للإنترنت.

إدارة الأسرار (Secrets)

كلمات المرور ومفاتيح API يجب أن لا تكون في Dockerfile أو docker-compose.yml بشكل نصي:

  • Docker Secrets: لبيئات Docker Swarm — يخزن الأسرار مشفرة
  • ملف .env: الحد الأدنى المقبول — لكن تأكد أنه ليس في Git
  • متغيرات البيئة: أفضل من كتابتها في الملفات، لكن تظهر في inspect
  • Vault (HashiCorp): الأفضل للإنتاج — إدارة مركزية مشفرة للأسرار

تحديثات وصيانة مستمرة

  • حدّث الصور الأساسية أسبوعياً — الثغرات تُكتشف يومياً
  • أعد بناء صورك بشكل دوري حتى لو لم يتغير كودك (التحديثات الأمنية في الطبقات الأساسية)
  • حدّث Docker Engine نفسه — الإصدارات القديمة تحتوي ثغرات في العزل
  • نظّف الصور والحاويات غير المستخدمة بأمر docker system prune

المراقبة الأمنية

تسجيل كل شيء

فعّل تسجيل الأحداث (logging) لكل الحاويات. أرسل السجلات لنظام مركزي (مثل ELK Stack أو Loki). هذا ضروري لاكتشاف الاختراقات ولإثبات الامتثال.

مراقبة سلوك الحاويات

  • أي حاوية تحاول الوصول لملفات نظام غير معتادة؟ تنبيه فوري
  • أي حاوية تستهلك موارد أكثر من المعتاد فجأة؟ تنبيه فوري
  • أي اتصال شبكة غير متوقع من حاوية؟ تنبيه وتحقيق

قائمة التحقق الأمنية

  1. الحاويات لا تعمل بصلاحية root
  2. الصور الأساسية محدودة ومحدّثة
  3. المنافذ المعرّضة هي المطلوبة فقط
  4. الشبكات معزولة حسب الخدمة
  5. الأسرار مُدارة بأمان (ليست في الكود)
  6. الموارد محدودة لكل حاوية
  7. السجلات مفعّلة ومخزنة خارج الحاوية
  8. الصور مفحوصة قبل كل نشر
  9. خطة تحديث أسبوعية مُطبّقة
  10. النسخ الاحتياطي يشمل الـ volumes وليس فقط الصور

على كلاود (cloud.net.sa)، سيرفراتنا توفر بيئة مثالية لتشغيل Docker بأمان: SSD سريع، شبكة معزولة، ونسخ احتياطي يومي يشمل كل volumes الحاويات. أمان Docker ليس خياراً — هو شرط لأي بيئة إنتاج محترمة.

--- ### ابدأ الآن تبي بيئة آمنة لتطبيقاتك؟ اختر سيرفر محمي بحماية DDoS وجدار ناري متقدم. راجع اتفاقية مستوى الخدمة وسياسة الخصوصية.
مشاركة