الأسباب التي تجعلك لا تُنفذ Docker بدون Sudo

Docker هي واحدة من أكثر منصات الحاويات استخدامًا وتحظى بشعبية كبيرة بين مُهندسي البرمجيات والمطورين. حيث تأتي مع أداة واجهة رسومية (CLI) قوية لإدارة حاويات Docker والمهام الأخرى ذات الصلة.

بشكل افتراضي ، تحتاج إلى امتيازات المُستخدم الرئيسي (Root) لتشغيل أي أوامر مُتعلقة بـ Docker على Linux. بالطبع ، يُمكنك تغيير هذا الإعداد من أجل جعل التنفيذ أكثر راحة وتشغيل أوامر Docker بدون امتيازات المُستخدم الرئيسي ، ولكن يجب أن تكون على دراية بالآثار الأمنية المُترتبة. تحقق من كيفية استخدام أداة Docker Containers في نظام Linux.

الأسباب التي تجعلك لا تُنفذ Docker بدون Sudo - لينكس

ما هو سطح الهجوم في Docker؟

“سطح الهجوم” هو عدد نقاط الهجوم ، مثل عدد النوافذ ، التي يُمكن لمستخدم ضار استخدامها لاقتحام نظامك وإحداث الفوضى. بشكل عام ، يجب أن تحتوي أنظمة تكنولوجيا المعلومات على الحد الأدنى من أسطح الهجوم لتقليل المخاطر الأمنية.

بشكل عام ، سطح الهجوم في Docker ضئيل للغاية. تعمل الحاويات في بيئة آمنة ومعزولة ولا تؤثر على نظام التشغيل المُضيف ما لم يتم إعدادها خلاف ذلك. بالإضافة إلى ذلك ، لا تُشغِّل حاويات Docker سوى الحد الأدنى من الخدمات مما يجعلها أكثر أمانًا.

يُمكنك تكوين نظام Linux للتحكم في Docker بدون امتيازات Sudo. قد يكون هذا مناسبًا في بيئات التطوير ولكن يمكن أن يكون ثغرة أمنية خطيرة في أنظمة الإنتاج. وإليك سبب عدم تنفيذ Docker مُطلقًا بدون Sudo.

1. القدرة على التحكم في حاويات Docker

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

إذا كنت تستخدم حاويات Docker في بيئات الإنتاج ، فإنَّ التوقف عن العمل يؤدي إلى فقدان مختلف البيانات والثقة.

2. الحصول على تحكم في دلائل نظام التشغيل المُضيف

Docker Volumes هي خدمة قوية تُتيح لك مشاركة بيانات الحاوية والاحتفاظ بها عن طريق كتابتها في مجلد مُحدد على نظام التشغيل المضيف.

أحد أكبر التهديدات التي تأتي مع تنفيذ Docker بدون Sudo هو أنَّ أي شخص على نظامك يُمكنه التحكم في أدلة نظام التشغيل المضيف ، بما في ذلك الدليل الرئيسي.

كل ما عليك فعله هو تشغيل صورة Linux Docker ، على سبيل المثال ، صورة Ubuntu ، وتثبيتها على المجلد الرئيسي باستخدام الأمر التالي:

docker run -ti -v /:/hostproot ubuntu bash

ونظرًا لأنَّ حاويات Linux Docker تعمل كمستخدم رئيسي ، فهذا يعني بشكل أساسي أنَّ لديك حق الوصول إلى المجلد الرئيسي بأكمله.

سيقوم الأمر المذكور أعلاه بتنزيل أحدث صورة Ubuntu وتشغيلها وتثبيتها على الدليل الرئيسي.

في Terminal الخاص بحاويات Docker ، انتقل إلى الدليل /hostproot باستخدام الأمر cd:

cd /hostproot

الأسباب التي تجعلك لا تُنفذ Docker بدون Sudo - لينكس

يُظهر سرد محتويات هذا الدليل باستخدام الأمر ls جميع ملفات نظام التشغيل المُضيف المُتوفرة الآن في الحاوية الخاصة بك. الآن ، يُمكنك معالجة الملفات وعرض الملفات السرية وإخفاء الملفات وإلغاء إخفائها وتغيير الأذونات وما إلى ذلك.

3. تثبيت البرامج الضارة

يُمكن تشغيل صورة Docker جيدة التصميم في الخلفية والتلاعب بنظامك أو جمع بيانات حساسة. والأسوأ من ذلك ، يُمكن لمستخدم ضار نشر تعليمات برمجية ضارة على شبكتك عبر حاويات Docker.

هناك العديد من حالات الاستخدام العملي لحاويات Docker ، ومع كل تطبيق تأتي مجموعة مختلفة من التهديدات الأمنية. تحقق من كيفية تثبيت أداة Docker في نظام Linux.

تأمين حاويات Docker على Linux

Docker منصة قوية وآمنة. يؤدي تنفيذ Docker بدون Sudo إلى زيادة سطح الهجوم ويجعل نظامك عرضة للخطر. في بيئات الإنتاج ، يوصى بشدة باستخدام Sudo مع Docker.

مع وجود العديد من المُستخدمين على النظام ، يصبح من الصعب للغاية تعيين أذونات لكل مستخدم. في مثل هذه الحالات ، يمكن أن يساعدك اتباع أفضل ممارسات التحكم في الوصول في الحفاظ على أمان نظامك. يُمكنك الإطلاع الآن على ما هو التحكم في الوصول ولماذا تحتاجه؟

المصدر
زر الذهاب إلى الأعلى