‫حسنا. أول ما يتم تشغيله
‫في Docker.
‫هذا يتطلب منك نوعًا من إنشاء حجة ، لأن هذا على
‫الأرجح ... إذا كان لديك حاجز مع
‫هذا ، أليس كذلك. فقط باستخدام Docker ، رقم واحد.
‫إذا لم تتمكن من القيام بذلك.
‫حسنًا ، واحد ، ربما تشاهد عرضي.
‫ولكن ، ربما يعني هذا أن لديك فريقًا أمنيًا
‫، أو إدارة ، قرأت شيئًا في مكان
‫ما يوجد فيه أمان حول Docker.
‫كان آخر شيء ، إذا قمت بالتمرير
‫لأسفل إلى أسفل هذه المشكلة ، هو أن
‫هناك صورًا هناك الآن.
‫كما تعلم ، ليس من الأخبار لأي شخص أنه إذا قمت بتشغيل برنامج
‫عشوائي من الإنترنت دون التحقق منه
‫أولاً ، فقد ينتهي بك الأمر بفيروس.
‫في الأساس ، يقوم الأشخاص بإنشاء صور على Docker
‫Hub باستخدام أدوات cryptocurrency أو cryptojacking
‫بداخلها والتي ستعمل بشكل أساسي ، كما تعلم
‫... تعتقد أنك تشغل هذا
‫الجزء الآخر من البرنامج ، لكنك حقًا تشغل شيئًا شنيعًا
‫للمتسللين.
‫حسنًا ، هذا ليس جديدًا ، ولا يجعل Docker هذا
‫بالضرورة أسهل من أي شيء آخر.
‫كلنا نعرف القواعد. لا تشغل صورًا عشوائية ، تمامًا كما
‫لو كنت لا تشغل رمزًا عشوائيًا على خادمك.
‫لا يمكنك تنزيل أشياء عشوائية
‫من الإنترنت. لذا ، لا تفعل ذلك في الصور.
‫قم بتشغيل الصور الرسمية فقط أو تلك التي تثق بها
‫تمامًا. بمعنى ، أنت تعرف البائع.
‫يقوم البائع بتثبيت علاقته معك على تلك الصورة
‫، ولا يتعين عليك بالضرورة مسح الصورة بكل سطر
‫من التعليمات البرمجية.
‫لكن ، كما تعلم ، تستخدم منتجات حسنة السمعة من شركات
‫مرموقة ، صحيح.
‫إذا كنت تفعل ذلك ، فهذا محلي بالكامل ... كل هذه الأخبار الأخيرة التي
‫تصدرت مجموعة من العناوين الرئيسية
‫، لا تهم حتى. لم تكن ثغرة أمنية
‫في Docker. لقد كان الأشخاص يقومون بتكوين Docker
‫عن طريق تعطيل الأمان الموجود داخل الصندوق وخارجه ثم الانتقال وتنزيل
‫البرامج والصور العشوائية.
‫بالطبع ، سيكون لديهم مشاكل ، صحيح.
‫أعتقد أن الخبر الحقيقي هو أن المتسللين أصبحوا
‫أكثر تعقيدًا. إنهم يعرفون أن المزيد
‫منا يشغل حاويات ، لذا سيبدأون في وضع الفيروسات في صور
‫الحاويات ، أليس كذلك. ولا يقوم Docker Hub بمسح
‫كل صورة ضوئيًا. يقوم فقط بالمسح بحثًا عن المشكلات
‫الأمنية في الصور الرسمية. هذه ليست ميزة Docker Hub بعد الآن.
‫حسنًا ، لم يفعلوا ذلك أبدًا للجميع لأن هناك الملايين
‫، هناك ، لا أعرف ، 30 مليون صورة.
‫يمكنك أن تدفع لهم في الماضي ، كما تعلم ، لا يمكنك أن تدفع لهم بعد الآن
‫مقابل ذلك. حسنا.
‫الخطوة الأولى هي استخدام Docker فقط.
‫في حالة عدم معرفتك ، عند استخدام Docker خارج
‫الصندوق ، فإنه يعمل بالفعل على
‫تقوية التطبيق هناك. أولاً ، لا يمكن لهذا التطبيق رؤية
‫بقية ما يعمل على النظام. لذلك ، لا يمكنها حتى الوصول
‫إلى بقية هذه الأشياء قيد التشغيل.
‫إنه فقط ما يوجد في تلك الحاوية ، صحيح.
‫لكن الشيء المهم الحقيقي هناك ، على الرغم من ذلك ، هو أن الحاوية
‫في Docker تتيح مجموعة من ميزات أمان Linux التي عادةً
‫، إذا قمت بتشغيل التطبيقات على
‫المضيف ، لا يتم تمكينها افتراضيًا.
‫يتضمن قدرات Seccomp
‫و AppArmor و SELinux و kernel.
‫كل هذه الأشياء الأربعة موجودة داخل
‫Docker وتم تمكينها افتراضيًا
‫، على افتراض أن مضيفك يدعمها لأن ليس كل توزيعات Linux
‫تدعم كل أداة أمان. لكن هذه الأشياء الأربعة
‫، وخاصة إمكانيات AppArmor و Seccomp
‫و Linux يتم تمكينها خارج الصندوق لكل
‫حاوية تقوم بتشغيلها. وهذا هو السبب في أن بعض التطبيقات في بعض الأحيان ،
‫تعلم أنه يجب عليك تشغيلها مثل - الامتياز.
‫يجب عليك تشغيله باستخدام وضع الامتياز.
‫ذلك لأن هذه الإعدادات الافتراضية تتعارض مع ما يريد
‫هذا التطبيق فعله. لأن تلك الإعدادات الافتراضية
‫التي مجموعات Docker شائعة بالنسبة
‫لمعظم التطبيقات للعمل بشكل صحيح.
‫لذلك ، مر Docker بشكل أساسي بمجموعة كاملة
‫من الأدوات في طريق العودة إلى اليوم ، وفحص مجموعة كاملة
‫من البرامج مفتوحة المصدر الشائعة ، واكتشف العناصر
‫المشتركة بينها جميعًا من حيث الحقوق ، من حيث الأذونات على
‫المضيف . لقد أخذوا ما تبقى منهم
‫، كما تعلمون ، مئات الأشياء الأخرى التي يمكن للتطبيقات العادية
‫الوصول إليها ، وأخذوها
‫بعيدًا.
‫أدى ذلك إلى امتلاك Docker
‫لملف تعريف افتراضي آمن للغاية.
‫لذلك ، إذا قمت بتشغيل Nginx على مضيف ، فسيكون بإمكانه الوصول إلى
‫كل شيء في النواة يمكن لهذا المستخدم الوصول إليه ، والذي
‫يكون عادةً معظم كل شيء.
‫ولكن ، إذا قمت بتشغيله في حاوية ، فإنه
‫يقفل الكثير من ذلك بحيث يصبح تلقائيًا آمنًا
‫، وأكثر أمانًا ، وخارج الصندوق ، حتى لو لم تقم بتخصيص
‫أي من هذه الأشياء. هذه حجتي لمثل لماذا Docker
‫من أجل الأمن. فقط قم بذلك ، وستحصل تلقائيًا
‫على كل هذه الأشياء ممكّنة. لا يعرف معظم الناس كيفية استخدام
‫AppArmor أو كيفية استخدام Seccom
‫أو SELinux ، وكيفية تخصيص هذه الأشياء
‫لكل تطبيق. لكن ، Docker فعلوه ، وهذا ما يفعلونه خارج الصندوق.