توصيات الأمان لموارد DevOps

تسرد هذه المقالة التوصيات التي قد تراها في Microsoft Defender for Cloud إذا قمت بتوصيل بيئة Azure DevOps أو GitHub أو GitLab باستخدام صفحة إعدادات البيئة. تستند التوصيات التي تظهر في بيئتك إلى الموارد التي تحميها وعلى التكوين المخصص.

للتعرف على الإجراءات التي يمكنك اتخاذها استجابة لهذه التوصيات، راجع معالجة التوصيات في Defender for Cloud.

تعرف على المزيد حول مزايا وميزات أمان DevOps.

لا تؤثر توصيات DevOps على درجاتك الآمنة. لتحديد التوصيات التي يجب حلها أولا، انظر إلى خطورة كل توصية وتأثيرها المحتمل على درجاتك الآمنة.

توصيات DevOps

توصيات Azure DevOps

يجب تمكين GitHub Advanced Security ل Azure DevOps (GHAzDO) في مستودعات Azure DevOps

الوصف: يستخدم أمان DevOps في Defender for Cloud وحدة تحكم مركزية لتمكين فرق الأمان مع القدرة على حماية التطبيقات والموارد من التعليمات البرمجية إلى السحابة عبر Azure DevOps. مع تمكين GitHub Advanced Security لمستودعات Azure DevOps (GHAzDO) يتضمن GitHub Advanced Security ل Azure DevOps، تحصل على نتائج حول الأسرار والتبعيات وثغرات التعليمات البرمجية في مستودعات Azure DevOps التي ظهرت في Microsoft Defender for Cloud.

الخطورة: عالية

يجب أن يكون لدى مستودعات Azure DevOps نتائج مسح البيانات السرية التي تم حلها

الوصف: تم العثور على أسرار في مستودعات التعليمات البرمجية. قم بالمعالجة على الفور لمنع حدوث خرق أمني. يمكن تسريب الأسرار الموجودة في المستودعات أو اكتشافها من قبل الخصوم، ما يؤدي إلى اختراق تطبيق أو خدمة. ملاحظة: تقوم أداة فحص بيانات اعتماد Microsoft Security DevOps بالمسح الضوئي فقط للبنيات التي تم تكوينها للتشغيل عليها. لذلك، قد لا تعكس النتائج الحالة الكاملة للأسرار في مستودعاتك.

الخطورة: عالية

يجب أن يكون لدى مستودعات Azure DevOps نتائج فحص التعليمات البرمجية التي تم حلها

الوصف: تم العثور على نقاط الضعف في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية.

الخطورة: متوسط

يجب أن تحتوي مستودعات Azure DevOps على نتائج فحص الثغرات الأمنية للتبعية التي تم حلها

الوصف: تم العثور على نقاط ضعف التبعية في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية.

الخطورة: متوسط

يجب أن تحتوي مستودعات Azure DevOps على بنية أساسية حيث تم حل نتائج فحص التعليمات البرمجية

الوصف: تم العثور على البنية الأساسية كمشكلات في تكوين أمان التعليمات البرمجية في المستودعات. تم الكشف عن المشكلات الموضحة أدناه في ملفات القالب. لتحسين الوضع الأمني لموارد السحابة ذات الصلة، يوصى بشدة بمعالجة هذه المشاكل.

الخطورة: متوسط

لا ينبغي أن تحتوي مسارات بناء Azure DevOps على أسرار متاحة لإنشاءات التشعبات

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

الخطورة: عالية

لا يجب أن تمنح اتصالات خدمة Azure DevOps حق الوصول إلى جميع المسارات

الوصف: يتم استخدام اتصالات الخدمة لإنشاء اتصالات من Azure Pipelines إلى الخدمات الخارجية والنائية لتنفيذ المهام في وظيفة. تتحكم أذونات البنية الأساسية لبرنامج ربط العمليات التجارية في المسارات المصرح لها باستخدام اتصال الخدمة. لدعم أمان عمليات البنية الأساسية لبرنامج ربط العمليات التجارية، لا يجب منح اتصالات الخدمة حق الوصول إلى جميع مسارات YAML. يساعد هذا في الحفاظ على مبدأ الامتياز الأقل لأنه يمكن للمهاجم الاستفادة من الثغرة الأمنية في المكونات التي يستخدمها أحد المسارات لمهاجمة البنية الأساسية لبرنامج ربط العمليات التجارية الأخرى التي لديها حق الوصول إلى الموارد الهامة.

الخطورة: عالية

يجب ألا تمنح ملفات Azure DevOps الآمنة حق الوصول إلى جميع المسارات

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

الخطورة: عالية

لا يجب أن تمنح مجموعات متغيرات Azure DevOps ذات المتغيرات السرية حق الوصول إلى جميع المسارات

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

الخطورة: عالية

لا يجب استخدام اتصالات خدمة Azure الكلاسيكية DevOps للوصول إلى اشتراك

الوصف: استخدم نوع Azure Resource Manager (ARM) لاتصالات الخدمة بدلا من اتصالات خدمة Azure Classic للاتصال باشتراكات Azure. يوفر نموذج ARM تحسينات أمان متعددة، بما في ذلك التحكم في الوصول بشكل أقوى، وتحسين التدقيق، والنشر/الإدارة المستندة إلى ARM، والوصول إلى الهويات المدارة وخزنة المفاتيح للأسرار، والمصادقة المستندة إلى أذونات Entra، ودعم العلامات ومجموعات الموارد للإدارة المبسطة.

الخطورة: متوسط

(معاينة) يجب أن يكون لدى مستودعات Azure DevOps نتائج اختبار أمان واجهة برمجة التطبيقات التي تم حلها

الوصف: تم العثور على ثغرات أمنية لواجهة برمجة التطبيقات في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية.

الخطورة: متوسط

توصيات GitHub

يجب تمكين مسح البيانات السرية في مستودعات GitHub

الوصف: يفحص GitHub المستودعات بحثا عن أنواع معروفة من الأسرار، لمنع الاستخدام الاحتيالي للبيانات السرية التي تم الالتزام بها عن طريق الخطأ في المستودعات. سيؤدي فحص الأسرار إلى فحص تاريخ Git بأكمله على جميع الفروع الموجودة في مستودع GitHub الخاص بك لأي أسرار. أمثلة على الأسرار هي الرموز المميزة والمفاتيح الخاصة التي يمكن لموفر الخدمة إصدارها للمصادقة. إذا تم إيداع سر في مستودع، في مستودع، يمكن لأي شخص لديه حق الوصول للقراءة إلى المستودع استخدامه للوصول إلى الخدمة الخارجية بهذه الامتيازات. يجب تخزين الأسرار في موقع مخصص وآمن خارج مستودع المشروع.

الخطورة: عالية

يجب تمكين مسح التعليمات البرمجية في مستودعات GitHub

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

الخطورة: متوسط

يجب تمكين مسح Dependabot في مستودعات GitHub

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

الخطورة: متوسط

يجب أن يكون لدى مستودعات GitHub نتائج مسح البيانات السرية التي تم حلها

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

الخطورة: عالية

يجب أن تحتوي مستودعات GitHub على نتائج مسح التعليمات البرمجية التي تم حلها

الوصف: تم العثور على نقاط الضعف في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية.

الخطورة: متوسط

يجب أن تحتوي مستودعات GitHub على نتائج فحص الثغرات الأمنية للتبعية التي تم حلها

الوصف: يجب أن تحتوي مستودعات GitHub على نتائج فحص الثغرات الأمنية للتبعية التي تم حلها.

الخطورة: متوسط

يجب أن تحتوي مستودعات GitHub على بنية أساسية حيث تم حل نتائج فحص التعليمات البرمجية

الوصف: تم العثور على البنية الأساسية كمشكلات في تكوين أمان التعليمات البرمجية في المستودعات. تم الكشف عن المشكلات الموضحة أدناه في ملفات القالب. لتحسين الوضع الأمني لموارد السحابة ذات الصلة، يوصى بشدة بمعالجة هذه المشاكل.

الخطورة: متوسط

يجب أن تحتوي مستودعات GitHub على نهج حماية للفرع الافتراضي الممكن

الوصف: يجب حماية الفرع الافتراضي للمستودع عبر نهج حماية الفرع لمنع التغييرات غير المقصودة/الضارة من الالتزام مباشرة بالمستودع.

الخطورة: عالية

يجب أن يكون لدى مستودعات GitHub دفعات إجبارية إلى الفرع الافتراضي معطل

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

الخطورة: متوسط

يجب أن يكون لدى مؤسسات GitHub حماية دفع مسح البيانات السرية ممكنة

الوصف: ستمنع حماية الدفع التثبيتات التي تحتوي على أسرار وبالتالي منع التعرض العرضي للبيانات السرية. لتجنب مخاطر التعرض لبيانات الاعتماد، يجب تمكين Push Protection تلقائيا لكل مستودع ممكن للمسح السري.

الخطورة: عالية

يجب ألا تستخدم مستودعات GitHub المشغلات المستضافة ذاتيا

الوصف: المشغلون المستضافون ذاتيا على GitHub يفتقرون إلى ضمانات التشغيل في الأجهزة الظاهرية النظيفة المؤقتة ويمكن اختراقهم باستمرار بواسطة تعليمات برمجية غير موثوق بها في سير العمل. على هذا النحو، لا يجب استخدام المشغلات ذاتية الاستضافة لسير عمل الإجراءات.

الخطورة: عالية

يجب أن يكون لدى مؤسسات GitHub أذونات سير عمل إجراءات معينة للقراءة فقط

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

الخطورة: عالية

يجب أن يكون لدى مؤسسات GitHub أكثر من شخص واحد لديه أذونات المسؤول

الوصف: وجود اثنين من المسؤولين على الأقل يقلل من خطر فقدان وصول المسؤول. هذا مفيد في حالة سيناريوهات حساب كسر الزجاج.

الخطورة: عالية

يجب أن يكون لدى مؤسسات GitHub أذونات أساسية معينة على عدم وجود أذونات أو قراءة

الوصف: يجب تعيين الأذونات الأساسية إلى لا شيء أو قراءتها للمؤسسة لاتباع مبدأ الامتياز الأقل ومنع الوصول غير الضروري.

الخطورة: عالية

(معاينة) يجب أن تحتوي مستودعات GitHub على نتائج اختبار أمان واجهة برمجة التطبيقات تم حلها

الوصف: تم العثور على ثغرات أمنية لواجهة برمجة التطبيقات في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية.

الخطورة: متوسط

توصيات GitLab

يجب أن يكون لمشاريع GitLab نتائج مسح البيانات السرية التي تم حلها

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

الخطورة: عالية

يجب أن تحتوي مشاريع GitLab على نتائج مسح التعليمات البرمجية التي تم حلها

الوصف: تم العثور على نقاط الضعف في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية.

الخطورة: متوسط

يجب أن تحتوي مشاريع GitLab على نتائج فحص الثغرات الأمنية للتبعية التي تم حلها

الوصف: يجب أن تحتوي مستودعات GitHub على نتائج فحص الثغرات الأمنية للتبعية التي تم حلها.

الخطورة: متوسط

يجب أن تحتوي مشاريع GitLab على بنية أساسية حيث تم حل نتائج فحص التعليمات البرمجية

الوصف: تم العثور على البنية الأساسية كمشكلات في تكوين أمان التعليمات البرمجية في المستودعات. تم الكشف عن المشكلات الموضحة أدناه في ملفات القالب. لتحسين الوضع الأمني لموارد السحابة ذات الصلة، يوصى بشدة بمعالجة هذه المشاكل.

الخطورة: متوسط

توصيات أمان DevOps المهملة

يجب أن تحتوي مستودعات التعليمات البرمجية على نتائج فحص التعليمات البرمجية التي تم حلها

الوصف: عثر أمان DevOps في Defender for Cloud على نقاط ضعف في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية. (لا توجد سياسة ذات صلة)

الخطورة: متوسط

يجب أن تحتوي مستودعات التعليمات البرمجية على نتائج فحص الأسرار التي تم حلها

الوصف: عثر أمان DevOps في Defender for Cloud على سر في مستودعات التعليمات البرمجية. وينبغي معالجة ذلك فورًا لمنع حدوث خرق أمني. يمكن تسريب الأسرار الموجودة في المستودعات أو اكتشافها من قبل الخصوم، ما يؤدي إلى اختراق تطبيق أو خدمة. بالنسبة إلى Azure DevOps، تقوم أداة Microsoft Security DevOps CredScan فقط بفحص البنيات التي تم تكوينها للتشغيل عليها. لذلك، قد لا تعكس النتائج الحالة الكاملة للأسرار في مستودعاتك. (لا توجد سياسة ذات صلة)

الخطورة: عالية

يجب أن تحتوي مستودعات التعليمات البرمجية على نتائج فحص Dependabot التي تم حلها

الوصف: عثر أمان DevOps في Defender for Cloud على نقاط ضعف في مستودعات التعليمات البرمجية. لتحسين الوضع الأمني للمستودعات، يوصى بشدة بمعالجة هذه الثغرات الأمنية. (لا توجد سياسة ذات صلة)

الخطورة: متوسط

يجب أن تحتوي مستودعات التعليمات البرمجية على نتائج البنية الأساسية كفحص التعليمات البرمجية التي تم حلها

الوصف: عثر أمان DevOps في Defender for Cloud على البنية الأساسية كمشكلات في تكوين أمان التعليمات البرمجية في المستودعات. تم الكشف عن المشكلات الموضحة أدناه في ملفات القالب. لتحسين الوضع الأمني لموارد السحابة ذات الصلة، يوصى بشدة بمعالجة هذه المشاكل. (لا توجد سياسة ذات صلة)

الخطورة: متوسط

يجب تمكين مسح التعليمات البرمجية في مستودعات GitHub

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

الخطورة: متوسط

يجب تمكين مسح البيانات السرية في مستودعات GitHub

الوصف: يفحص GitHub المستودعات بحثا عن أنواع معروفة من الأسرار، لمنع الاستخدام الاحتيالي للبيانات السرية التي تم الالتزام بها عن طريق الخطأ في المستودعات. سيؤدي فحص الأسرار إلى فحص تاريخ Git بأكمله على جميع الفروع الموجودة في مستودع GitHub الخاص بك لأي أسرار. أمثلة على الأسرار هي الرموز المميزة والمفاتيح الخاصة التي يمكن لموفر الخدمة إصدارها للمصادقة. إذا تم إيداع سر في مستودع، في مستودع، يمكن لأي شخص لديه حق الوصول للقراءة إلى المستودع استخدامه للوصول إلى الخدمة الخارجية بهذه الامتيازات. يجب تخزين الأسرار في موقع مخصص وآمن خارج مستودع المشروع. (لا توجد سياسة ذات صلة)

الخطورة: عالية

يجب تمكين مسح Dependabot في مستودعات GitHub

الوصف: يرسل GitHub تنبيهات Dependabot عندما يكتشف الثغرات الأمنية في تبعيات التعليمات البرمجية التي تؤثر على المستودعات. الثغرة الأمنية هي مشكلة في التعليمة البرمجية للمشروع يمكن استغلالها للإضرار بسرية المشروع أو سلامته أو توفره أو المشاريع الأخرى التي تستخدم التعليمة البرمجية الخاصة به. تختلف الثغرات الأمنية من حيث النوع والخطورة وطريقة الهجوم. عندما تعتمد التعليمات البرمجية على حزمة تحتوي على ثغرة أمنية، يمكن أن تسبب هذه التبعية الضعيفة مجموعة من المشاكل. (لا توجد سياسة ذات صلة)

الخطورة: متوسط