‫حسنا.
‫التالي ، مسح رمز الريبو.
‫هذا ليس خاصًا بـ Docker ، ولكن
‫هناك أدوات هناك و Sneak هو واحد
‫منهم. التسلل ، سوف يفحص تبعيات
‫التعليمات البرمجية الخاصة بك داخل المستودعات.
‫إذا كان لديك مصدر مفتوح ، إذا كنت تقوم بتطوير مصدر مفتوح
‫، فسوف يقومون بالكثير من هذه الأشياء مجانًا.
‫سيقومون بفحص GitHub repo الخاص بك ، و Bitbucket repo الخاص
‫بك وإلقاء نظرة على التبعيات.
‫أحصل على تقارير كل أسبوع منهم على مستودعاتي مفتوحة المصدر
‫وأي ثغرات تم العثور عليها.
‫في الوقت الحاضر ، يقوم GitHub بالكثير من هذا بنفسه مجانًا
‫أيضًا. لقد كان التسلل
‫موجودًا لفترة أطول وكان يفعل ذلك لفترة أطول ، لذلك
‫لدي كلاهما نوعًا ما. لدي GitHub يرسل لي رسائل بريد
‫إلكتروني ولدي Sneak. يمكنك الدفع للتسلل لفحص الأشياء.
‫لديهم أيضًا المزيد من الميزات الآن حيث يقومون بعمل الصور أيضًا وأشياء أخرى
‫، وليس مجرد إعادة توزيع التعليمات البرمجية.
‫ولكن ، هذا سطر واحد هو فحص المستودعات الخاصة بك في
‫وقت مبكر من هذه العملية.
‫لا تنتظر حتى تنشئ صورًا ثم تحصل على أشياء في
‫CI ، كما تعلم ، في اختبار المكان الذي تقوم فيه بالمسح
‫الضوئي. مسح في أقرب وقت ممكن.
‫هذا نوع من أحد المبادئ الأساسية لشيء يسمى
‫أمان ShiftLeft.
‫إذا كنت تتخيل لوحة Kanban حيث يكون كل عملك على اليسار وإخراجك
‫على اليمين ، فإن حركة أمان ShiftLeft
‫، إذا كنت تبحث عن نوع من البحث عن أمان ShiftLeft ،
‫تدور حول نقل مسؤولية الأمن في وقت سابق وفي وقت
‫سابق. سير عمل التطوير الخاص بك.
‫لذلك ، تتمثل إحدى طرق القيام بذلك في جعل هذه الماسحات الضوئية الآلية تقوم بمسح
‫تبعيات التعليمات البرمجية الخاصة بك داخل مستودعات git الخاصة
‫بك قبل أن تصل إلى مرحلة تشغيل الأشياء على الخوادم ، أليس
‫كذلك. اود ان افعل ذلك.
‫ليس على وجه التحديد شيء Docker ، لكنني سأفعل ذلك.
‫الخطوة التالية هي مسح الصورة نفسها ، وهي
‫مشابهة جدًا لذلك. لكن ، نحصل على المزيد من الميزات هنا.
‫نحن لا نقوم فقط بمسح تبعيات التعليمات البرمجية الخاصة بك.
‫يمكننا فحص الحاوية نفسها.
‫الصورة صحيحة. يمكننا فحص جميع
‫التبعيات التي ليست فقط
‫مثل حزم npm أو حزم Python الخاصة
‫بك. أنت الآن تفحص حزم YUM
‫و APK أو apt أو هذا النوع من مديري
‫الحزم لنظام التشغيل.
‫هذا ما أعنيه بالماسح الضوئي للصور ، لأنه يمكنه مسح هذه بالإضافة
‫إلى تبعيات التعليمات البرمجية الخاصة بك.
‫لذا ، هناك الكثير من الأدوات هنا.
‫كانت هناك مجموعة مشهورة جدًا منهم منذ فترة ،
‫ولكن ظهر زوجان جديدان أريد التحدث إليكم
‫بشأنهما.
‫أول واحد هنا هو Trivy ، وقد علمت للتو بهذا الشهر ،
‫في الواقع في أكتوبر.
‫تم بناء Trivy بواسطة Aqua Security ، وهي نفس الشركة التي قامت ببناء
‫MicroScanner.
‫كان MicroScanner أحد الأدوات ، إلى جانب الكثير من الأدوات
‫الأخرى ، Anchor أيضًا ، وهو أحد الأدوات الشائعة الأخرى.
‫هذه كلها أدوات مفتوحة المصدر تفحص صورتك بحثًا عن نقاط ضعف
‫في مكافحة التطرف العنيف.
‫إن CVE هي قاعدة البيانات التي تضم جميع ثغرات الجهات المانحة
‫مفتوحة المصدر التي نسمع عنها جميعًا في الأخبار.
‫إنها من شركة ميتري ، وهي شركة تدير قاعدة البيانات هذه.
‫هذا شيء مجتمعي ، صحيح.
‫في أي وقت يكتشف شخص ما ثغرة أمنية في البرامج ، يقوم
‫بوضعها ويحصل على رقم CVE.
‫إنها نقاط ضعف واستغلال شائعة ، شيء
‫من هذا القبيل.
‫لا أتذكر بالضبط ما تمثله CVE.
‫أنا متأكد من أن أحدكم سيخبرني في الدردشة.
‫لكن CVE تحصل على رقم ، صحيح.
‫نرى رقمًا مخصصًا لهذا الخطأ
‫المعروف في المجتمع. سيقوم ماسح CVE بفحص صورك بحثًا عن هذه
‫الثغرة الأمنية.
‫بمجرد الشروع في تنفيذ هذه ، هناك كل أنواع
‫التفاصيل ، مثل الماسح الضوئي الذي تحتاجه للتشغيل
‫في صورة Docker أثناء وقت الإنشاء؟
‫أم أنها تقوم بمسح صورة تم إنشاؤها بالفعل؟
‫هل يدعم هذا الماسح التوزيع
‫الأساسي الخاص بك؟ هل يدعم ريد هات؟
‫هل يدعم جبال الألب؟
‫أي نوع من صور التوزيع الأخرى التي اخترت
‫استخدامها ، هل ستدعمها؟
‫هل يدعم أيضًا مدير الحزم الخاص بك لتطبيقك
‫مثل npm أو Pip
‫، أو أحد العشرات من مديري الحزم الآخرين
‫، صحيح. هل يدعم هؤلاء أيضًا؟
‫لم يفعل MicroScanner
‫كل ذلك. لقد فعل بعضًا منها ، لكن مثل
‫الكثير من هذه الأدوات الأخرى في النظام البيئي ، لم يفعلوا كل شيء.
‫في الوقت الحالي ، هذا واحد من Aqua Security يسمى
‫Trivy ، يمكنك
‫الوصول إلى قمة هذا الشيء.
‫يدعي Trivy أنهم أكثر
‫ماسح ضوئي مجاني مفتوح المصدر.
‫في الأسفل هنا ، سترى ما يدعمونه.
‫ستلاحظ أنهم يدعمون كل هذه الصور القائمة.
‫ثم إذا قمت بالفعل بالهبوط ، فهناك مقارنة توضح
‫لهم مقارنتهم بجميع الأدوات الأخرى ، أو على
‫الأقل الإصدارات مفتوحة المصدر الشائعة لهذه
‫الأدوات. هناك بالتأكيد أدوات أكثر من هذا.
‫هناك الكثير من الخيارات التي عليك القيام بها هنا.
‫أحد الخيارات هو المكان الذي أريد إجراء المسح الضوئي فيه؟
‫هل أرغب في أن يقوم مستودع الصور الخاص بي بمسحها ضوئيًا بنفسه ، مثلما
‫يفعل Docker Enterprise DTR؟
‫حيث يكون لديك سجل يحتفظ بصورك ويقوم هذا السجل
‫بإجراء عمليات مسح للصور الموجودة في السجل
‫نفسه دفعة واحدة.
‫رصيف يفعل هذا أيضا. Quay عبارة عن مستودع لصور
‫الاستضافة السحابية وسيقوم أيضًا بالمسح ، على اليمين.
‫لا يقوم كل واحد من هذه الماسحات الضوئية دائمًا بفحص جميع أنواع الصور
‫وجميع تبعيات التطبيقات.
‫لذا ، من الرائع هنا أنهم يظهرون ... يعني X في الأساس أنهم
‫لا يفعلون ذلك.
‫0 أو O هناك ، الدائرة ، يعني أنهم يفعلون
‫ذلك. ثم ، أعتقد أن
‫OO المزدوج هنا يعني الأفضل
‫، والمثلث يعني أن هناك مشاكل ، هناك
‫مخاوف هناك.
‫لذا ، فهم يدعون نوعًا ما أن تريفي ، التي اشتروها هذا العام ، على
‫ما أعتقد. Trivy
‫يفعل كل شيء. يقوم بحزم نظام التشغيل وتبعيات التطبيق.
‫يزعمون أنه سهل الاستخدام.
‫يزعمون أنه أكثر دقة. إذا بدأت في قراءة هذا
‫، فستدرك أن إحدى المشكلات الكبيرة التي ما زلت أتحدث
‫عنها هي أن صورة Alpine الأساسية لا تعمل مع كل هذه الماسحات
‫الضوئية تقريبًا.
‫إنه لا يحتوي على قاعدة بيانات الثغرات الأمنية المتصلة
‫به بشكل صحيح ، لذلك عند تشغيل هذه الماسحات ، فإنه
‫يكتشف نقاط الضعف في Alpine.
‫يدعي Trivy أنهم أصلحوا ذلك من خلال طريقة
‫جديدة يقومون بتنفيذها ، وسنرى ما إذا كان الأشخاص الآخرون
‫يطبقونها أيضًا.
‫يزعمون أنهم الأكثر اكتمالا.
‫يقول الكثير من أصدقائي في Docker Captain إنهم يستخدمونها
‫ويستخدمونها بشكل رائع.
‫أحد القرارات الأخرى ، إلى جانب الماسح الضوئي ، هو المكان
‫الذي ستفحصه؟
‫أحب المسح أثناء بناء الصورة.
‫أفضل إجراء المسح الضوئي أثناء إنشاء الصورة
‫المؤتمتة لـ CI بدلاً من مسحها ضوئيًا لاحقًا بعد إنشاء الصورة.
‫انه انا.
‫قد يكون لديك حتى أنظمة مختلفة تفحص في
‫أوقات مختلفة ، فقط لتكون آمنًا وصحيحًا
‫وللتأكد فقط. قد يكون لديك أنظمة تفحص الخوادم
‫التي تعمل في الإنتاج ، اعتمادًا على
‫بيئتك. هذا ليس شائعًا جدًا.
‫ولكن ، إذا كنت في بيئة آمنة للغاية وتريد إجراء مسح ضوئي
‫للأشياء التي تعمل مباشرة ، فيمكنك بالتأكيد القيام بذلك باستخدام
‫بعض هذه الأدوات.
‫العرض التوضيحي الذي أقدمه غالبًا هو حول
‫MicroScanner. بشكل أساسي ، كل ما عليك
‫فعله في MicroScanner ، بالإضافة إلى هذه الأداة الأخرى
‫، هو MicroScanner ، يمكنك إضافته إلى Dockerfile الخاص بك.
‫أعتقد أن تطبيق Tivey ، يمكنك مسحه ضوئيًا بعد
‫إنشاء الصورة.
‫إذا كنت مصابًا بجنون العظمة ، فيمكنك فقط استخدام
‫MicroScanner داخل صورة Docker الخاصة بك.
‫ثم يمكنك تشغيل شيء مثل Tivey بعد الحقيقة
‫على الصور قبل إرسالها إلى السجل
‫، كما تعلم. يمكنك دائمًا تنزيلها لاحقًا
‫، لكني أحب أن أعرف أن صورتي خالية من الثغرات الأمنية
‫قبل إرسالها.
‫لذلك ، هذا ما قد تفعله هناك. حاليا.
‫أريد فقط أن أخبرك بتحذير.
‫ربما لن يكون لديك أي ... ربما لن يكون لديك
‫أي صور ، أو ربما مجرد صور قليلة ، لا تحتوي
‫على أي نقاط ضعف في جميع المجالات.
‫هذا
‫فقط بسبب طبيعة المصدر المفتوح. عادةً ، إذا قمت بمسح أي صورة
‫، عادةً ، إذا قمت بمسح أي صورة هناك ، فستكون
‫بها نقاط ضعف.
‫إن وظيفتك هي العمل مع فريق الأمان الخاص بك على ما
‫هو مقبول ، فلا يمكننا أبدًا أن تكون لدينا ثغرات أمنية.
‫لأن بعض نقاط الضعف قد لا تنطبق عليك.
‫لا يعني مجرد وجودهم في صورتك أنهم سيكونون مشكلة
‫تلقائيًا ، أليس كذلك.
‫سيكون عليك القيام
‫ببعض الأعمال. أعتقد أن ما أقترحه هو تنفيذ
‫هذه الأمور الآن ، ولكن إيقاف
‫هذا النوع من الفشل وأقول استمر في الفشل
‫هنا ، مما يعني أن كل ما سأفعله هو تحذيرك من وجود
‫نقاط ضعف. لن أوقف البناء لمجرد
‫وجود ثغرة أمنية.
‫هذا هو المفتاح ، لأنك إذا بدأت في تنفيذ كل
‫هذه الأدوات تلقائيًا ، فإنها ستفشل العملية.
‫سوف يفشلون في CI الخاص بك ، أو سيفشلون في البنايات الخاصة
‫بك ، إذا قمت بتشغيلها للتو. تريد التأكد من
‫وجودهم في نوع من وضع التدقيق فقط حيث لا يفشلون في العثور
‫على ثغرة أمنية.
‫بهذه الطريقة يمكنك على الأقل معرفة ما هي نقاط
‫الضعف قبل أن تبدأ ، كما تعلم ، قبل أن تتشدد ،
‫أليس كذلك؟ قبل أن تذهب المتشددين.