يعتمد DevSecOps، الذي يسمى أيضا Secure DevOps، على ممارسة DevOps من خلال دمج الأمان في مراحل مختلفة من دورة حياة DevOps التقليدية. تتضمن بعض فوائد أمان البناء في ممارسات DevOps ما يلي:
- جعل تطبيقاتك وأنظمتك أكثر أمانا من خلال توفير رؤية لتهديدات الأمان ومنع الثغرات الأمنية من الوصول إلى البيئات المنشورة
- زيادة الوعي الأمني مع فرق التطوير والتشغيل
- دمج عمليات الأمان التلقائية في دورة حياة تطوير البرامج
- تقليل تكلفة المعالجة من خلال العثور على مشكلات أمنية في وقت مبكر من مراحل التطوير والتصميم
عند تطبيق DevSecOps على خدمة Azure Kubernetes (AKS)، يمكن أن يكون لأدوار المؤسسة المختلفة اعتبارات مختلفة لتنفيذ الأمان. ومن الأمثلة على أدوار المؤسسة المختلفة هذه ما يلي:
- المطورون الذين يقومون بإنشاء تطبيقات آمنة تعمل على AKS
- مهندسو السحابة يبنون بنية أساسية آمنة ل AKS
- فرق العمليات المختلفة التي قد تحكم المجموعات أو تراقب مشكلات الأمان
يتم تقسيم هذه المقالة إلى مراحل دورة حياة DevOps مختلفة مع اعتبارات وتوصيات لتضمين عناصر التحكم في الأمان وأفضل ممارسات الأمان. يتضمن هذا الدليل العمليات والأدوات الشائعة لتضمينها في مسارات التكامل المستمر والتسليم المستمر (CI/CD)، واختيار الأدوات المضمنة سهلة الاستخدام عند توفرها.
كشرط أساسي لهذه المقالة، نوصي بمراجعة إنشاء التطبيقات ونشرها على AKS باستخدام DevOps وGitOps.
تدفق العملية
قم بتنزيل ملف Visio لهذه البنية.
إشعار
بينما تشير هذه المقالة إلى AKS وGitHub، تنطبق هذه التوصيات على أي تزامن حاوية أو نظام CI/CD الأساسي. وعلى الرغم من أن تفاصيل التنفيذ قد تختلف، فإن معظم المفاهيم والممارسات المذكورة في كل مرحلة لا تزال ذات صلة وقابلة للتطبيق.
- تم تكوين معرف Microsoft Entra كموفر هوية ل GitHub. تكوين المصادقة متعددة العوامل (MFA) للمساعدة في توفير أمان مصادقة إضافي.
- يستخدم المطورون Visual Studio Code أو Visual Studio مع ملحقات الأمان الممكنة لتحليل التعليمات البرمجية الخاصة بهم بشكل استباقي للثغرات الأمنية.
- يلتزم المطورون بالتعليمات البرمجية للتطبيق إلى مستودع GitHub Enterprise المملوك والمحكم لشركة.
- يدمج GitHub Enterprise الأمان التلقائي وفحص التبعية من خلال GitHub Advanced Security.
- تؤدي طلبات السحب إلى إنشاءات التكامل المستمر (CI) والاختبار التلقائي عبر GitHub Actions.
- ينشئ سير عمل بناء CI عبر GitHub Actions صورة حاوية Docker المخزنة في Azure Container Registry.
- يمكنك تقديم الموافقات اليدوية على عمليات النشر إلى بيئات معينة، مثل الإنتاج، كجزء من سير عمل التسليم المستمر (CD) في GitHub Actions.
- تمكن GitHub Actions القرص المضغوط إلى AKS. استخدم GitHub Advanced Security للكشف عن البيانات السرية وبيانات الاعتماد والمعلومات الحساسة الأخرى في مصدر التطبيق وملفات التكوين.
- يستخدم Microsoft Defender لفحص Azure Container Registry، نظام مجموعة AKS، وAzure Key Vault بحثا عن الثغرات الأمنية.
- يقوم Microsoft Defender for Containers بفحص صورة الحاوية بحثا عن الثغرات الأمنية المعروفة عند تحميلها إلى Container Registry.
- يمكنك أيضا استخدام Defender for Containers لإجراء عمليات فحص لبيئة AKS الخاصة بك ويوفر حماية من التهديدات في وقت التشغيل لمجموعات AKS الخاصة بك.
- يكشف Microsoft Defender for Key Vault عن محاولات ضارة وغير عادية ومريبة للوصول إلى حسابات Key Vault.
- يمكن تطبيق نهج Azure على Container Registry وAzure Kubernetes Service (AKS) لتوافق النهج وإنفاذه. يتم تضمين نهج الأمان الشائعة ل Container Registry وAKS للتمكين السريع.
- يتم استخدام Azure Key Vault لإدخال البيانات السرية وبيانات الاعتماد بأمان في تطبيق في وقت التشغيل، وفصل المعلومات الحساسة عن المطورين.
- تم تكوين محرك نهج شبكة AKS للمساعدة في تأمين حركة المرور بين جرابات التطبيق باستخدام نهج شبكة Kubernetes.
- يمكن إعداد المراقبة المستمرة لنظام مجموعة AKS باستخدام Azure Monitor ونتائج تحليلات الحاوية لاستيعاب مقاييس الأداء وتحليل سجلات التطبيق والأمان.
- تسترد نتائج تحليلات الحاوية مقاييس الأداء وسجلات التطبيق والمجموعة.
- يتم سحب سجلات التشخيص والتطبيقات إلى مساحة عمل Azure Log Analytics لتشغيل استعلامات السجل.
- يمكن استخدام Microsoft Sentinel، وهو حل إدارة معلومات الأمان والأحداث (SIEM)، لاستيعاب سجلات نظام مجموعة AKS وتحليلها بشكل أكبر لأي تهديدات أمنية استنادا إلى أنماط وقواعد محددة.
- يمكن استخدام أدوات مفتوحة المصدر مثل وكيل هجوم Zed (ZAP) (ZAP) لإجراء اختبار اختراق لتطبيقات وخدمات الويب.
- تعمل Defender for DevOps، وهي خدمة متوفرة في Defender for Cloud، على تمكين فرق الأمان من إدارة أمان DevOps عبر بيئات البنية الأساسية لبرنامج ربط العمليات التجارية المتعددة بما في ذلك GitHub وAzure DevOps.
نظرة عامة على أعضاء الفريق ومسؤولياتهم
ضع في اعتبارك إدارة تعقيد DevSecOps على عمليات نشر الحلول المستندة إلى Kubernetes كفصل بين المخاوف. ما هو الفريق في بيئة المؤسسة الذي يجب أن يهتم بكل جانب من جوانب النشر؟ ما هي الأدوات والعمليات التي يجب أن يستخدمها الفريق لتحقيق أهدافه على أفضل نحو؟ في هذا القسم، نستعرض الأدوار الشائعة للمطورين ومشغلي التطبيقات (مهندسي موثوقية الموقع) ومشغلي نظام المجموعة وفرق الأمان.
المطورون
يتحمل المطورون مسؤولية كتابة التعليمات البرمجية للتطبيق. كما أنهم مسؤولون عن تثبيت التعليمات البرمجية الخاصة بهم إلى المستودع المعين. تتضمن إحدى المسؤوليات المهمة للمطورين أيضا تأليف وتشغيل البرامج النصية للاختبار التلقائي لضمان عمل التعليمات البرمجية الخاصة بهم على النحو المنشود والتكامل بسلاسة مع بقية التطبيق. كما أنها تحدد وتبرمج بناء صور الحاوية كجزء من البنية الأساسية لبرنامج ربط العمليات التجارية للأتمتة.
عوامل تشغيل التطبيقات (مهندسو موثوقية الموقع)
يمكن أن يؤدي إنشاء التطبيقات على السحابة باستخدام الحاويات وKubernetes إلى تبسيط تطوير التطبيقات ونشرها وقابليتها للتوسع. ولكن نهج التطوير هذه تخلق أيضا بيئات موزعة بشكل متزايد تعقد الإدارة. ينشئ مهندسو موثوقية الموقع حلولا لأتمتة الإشراف على أنظمة البرامج الكبيرة. وهي بمثابة جسر بين فرق مشغلي التطوير ومشغلي نظام المجموعة وتساعد في إنشاء أهداف مستوى الخدمة وميزانيات الأخطاء ومراقبتها. بهذه الطريقة، فإنها تساعد في إدارة عمليات نشر التطبيقات وغالبا ما تكتب ملفات بيان Kubernetes (YAML).
عوامل تشغيل نظام المجموعة
عوامل تشغيل نظام المجموعة مسؤولة عن تكوين البنية الأساسية لنظام المجموعة وإدارتها. غالبا ما يستخدمون البنية الأساسية كأفضل ممارسات وأطر عمل للتعليمات البرمجية (IaC) مثل GitOps لتوفير مجموعاتهم وصيانتها. يستخدمون أدوات مراقبة مختلفة مثل رؤى حاوية Azure Monitor وPrometheus/Grafana لمراقبة صحة نظام المجموعة بشكل عام. إنهم مسؤولون عن التصحيح وترقيات نظام المجموعة والأذونات والتحكم في الوصول المستند إلى الدور على نظام المجموعة. في فرق DevSecOps، يضمنون أن المجموعات تفي بمتطلبات الأمان للفريق، وأنها تعمل مع فريق الأمان لإنشاء تلك المعايير.
فريق الأمان
فريق الأمان مسؤول عن تطوير معايير الأمان وإنفاذها. قد تكون بعض الفرق مسؤولة عن إنشاء نهج Azure الذي يتم فرضه في الاشتراكات ومجموعات الموارد التي تحتفظ بالمجموعة وتحديدها. إنهم يراقبون مشكلات الأمان، ويتأكدون مع الفرق الأخرى من أن الأمان يأتي في طليعة كل خطوة من خطوات عملية DevSecOps.
مراحل دورة حياة DevSecOps
يتم تنفيذ عناصر التحكم الأمنية في كل مرحلة من مراحل دورة حياة تطوير البرامج (SDLC). هذا التنفيذ هو جزء أساسي من استراتيجية DevSecOps ونهج التحول إلى اليسار.
قم بتنزيل ملف Visio لهذه البنية.
مرحلة التخطيط
عادة ما يكون لمرحلة الخطة أقل قدر من الأتمتة، ولكن لها آثار أمنية مهمة تؤثر بشكل كبير على مراحل دورة حياة DevOps اللاحقة. تتضمن هذه المرحلة التعاون بين فرق الأمان والتطوير والعمليات. يضمن تضمين أصحاب المصلحة الأمنيين في هذه المرحلة من التصميم والتخطيط مراعاة متطلبات الأمان ومشكلات الأمان بشكل مناسب أو تخفيفها.
أفضل الممارسات - تصميم نظام أساسي للتطبيقات أكثر أمانا
يعد بناء نظام أساسي أكثر أمانا تستضيفه AKS خطوة مهمة للمساعدة في ضمان تضمين الأمان في النظام في كل طبقة، بدءا من النظام الأساسي نفسه. يمكن أن يتضمن النظام الأساسي مكونات داخلية في نظام المجموعة (مثل أمان وقت التشغيل ووكلاء النهج) والمكونات الخارجية ل AKS (مثل جدران حماية الشبكة وسجلات الحاويات). لمزيد من المعلومات، راجع مسرع منطقة هبوط AKS، والذي يتضمن مجالات التصميم الهامة مثل الأمان والهوية وطبولوجيا الشبكة.
أفضل الممارسات - بناء نمذجة المخاطر في العملية الخاصة بك
- عادة ما تكون نمذجة المخاطر نشاطا يدويا يتضمن فرق الأمان والتطوير. يتم استخدامه لنمذجة التهديدات والعثور عليها داخل النظام بحيث يمكن معالجة الثغرات الأمنية قبل أي تطوير للتعليمات البرمجية أو تغييرات في النظام. يمكن أن تحدث نمذجة المخاطر في أوقات مختلفة، يتم تشغيلها بواسطة أحداث مثل تغيير كبير في البرامج أو تغيير هيكلي للحل أو حوادث أمنية.
- نوصي باستخدام نموذج التهديد تصنيف المخاطر. تبدأ هذه المنهجية برسم تخطيطي لتدفق البيانات وتستخدم فئات التهديد تصنيف المخاطر (تزييف الهوية والعبث والكشف عن المعلومات والرفض ورفض الخدمة ورفع الامتياز) لتمكين الفرق من تحديد المخاطر والتخفيف منها والتحقق من صحتها. كما يتضمن أداة نمذجة لتدوين مكونات النظام وتدفقات البيانات ون حدود الأمان وتصورها. يقدم بناء نمذجة المخاطر في عمليات SDLC عمليات جديدة والمزيد من العمل للحفاظ على نماذج التهديد المحدثة. ولكنه يساعد على ضمان توفير الأمان في وقت مبكر، مما يساعد على تقليل التكلفة المحتملة للتعامل مع مشكلات الأمان الموجودة في مراحل SDLC اللاحقة.
أفضل الممارسات - تطبيق Azure Well Architect Framework (WAF)
- تطبيق أفضل ممارسات ركيزة أمان WAF التي توفر إرشادات لأشياء مثل إدارة الهوية وأمان التطبيقات وحماية البنية الأساسية وأمان التاريخ وDevOps كما ينطبق على البيئات الأصلية السحابية.
- تطبيق أفضل الممارسات التشغيلية WAF كما ينطبق على DevSecOps ومراقبة بيئات الإنتاج الخاصة بك.
مرحلة التطوير
"التحول إلى اليسار" هو مستأجر رئيسي لعقلية DevSecOps. تبدأ هذه العملية قبل أن يتم الالتزام بالتعليمات البرمجية في مستودع ونشرها عبر البنية الأساسية لبرنامج ربط العمليات التجارية. يمكن أن يساعد اعتماد أفضل ممارسات الترميز الآمنة واستخدام أدوات IDE والمكونات الإضافية لتحليل التعليمات البرمجية أثناء مرحلة التطوير في معالجة مشكلات الأمان في وقت سابق من دورة حياة التطوير عندما يكون إصلاحها أسهل.
أفضل الممارسات - فرض معايير الترميز الآمنة
- باستخدام أفضل ممارسات الترميز الآمنة القائمة وقوائم الاختيار، يمكنك المساعدة في حماية التعليمات البرمجية الخاصة بك من الثغرات الأمنية الشائعة مثل الحقن والتصميم غير الآمن. تنشر مؤسسة OWASP توصيات الترميز الآمن لمعيار الصناعة التي يجب عليك اعتمادها عند كتابة التعليمات البرمجية. هذه الإرشادات مهمة بشكل خاص عند تطوير تطبيقات أو خدمات الويب التي تواجه الجمهور.
- بالإضافة إلى أفضل ممارسات الأمان العامة، يجب عليك أيضا النظر في ممارسات الترميز الآمنة لأوقت تشغيل لغة البرمجة المحددة، مثل Java و.NET.
- يمكنك فرض معايير التسجيل لحماية المعلومات الحساسة من تسريبها إلى سجلات التطبيق. توفر أطر عمل التسجيل الأكثر شيوعا، مثل log4j وlog4net، عوامل تصفية ومكونات إضافية لإخفاء المعلومات الحساسة مثل أرقام الحسابات أو البيانات الشخصية.
أفضل الممارسات - استخدام أدوات IDE والمكونات الإضافية لأتمتة عمليات التحقق من الأمان
تدعم معرفات IDEs الأكثر شيوعا، مثل Visual Studio وVisual Studio Code وIntelliJ IDEA وEclipse، الملحقات التي يمكنك استخدامها للحصول على ملاحظات وتوصيات فورية لمشكلات الأمان المحتملة التي قد تكون قدمتها أثناء كتابة التعليمات البرمجية للتطبيق.
- SonarLint هو مكون إضافي ل IDE متوفر للغات وبيئات المطور الأكثر شيوعا. يوفر SonarLint ملاحظات قيمة ويفحص التعليمات البرمجية تلقائيا بحثا عن أخطاء البرمجة الشائعة ومشكلات الأمان المحتملة.
- تركز المكونات الإضافية المجانية والتجارية الأخرى على عناصر الأمان المحددة، مثل أهم 10 نقاط ضعف شائعة في OWASP. على سبيل المثال، يقوم المكون الإضافي Synk أيضا بفحص مصدر التطبيق وتبعيات الجهات الخارجية ويحذرك إذا تم العثور على أي ثغرات أمنية.
- يتيح لك المكون الإضافي Static Analysis Results Interchange Format (SARIF) ل Visual Studio وVisual Studio Code عرض الثغرات الأمنية بسهولة من أدوات اختبار أمان التطبيقات الثابتة (SAST) الشائعة بطريقة بديهية وسهلة القراءة مقابل تفسير النتائج من ملفات إخراج JSON الأولية.
أفضل الممارسات - إنشاء عناصر تحكم في مستودعات التعليمات البرمجية المصدر
- إنشاء منهجية تفريع بحيث يكون هناك استخدام متسق للتشعب عبر المؤسسة. تحتوي منهجيات مثل تدفق الإصدار وتدفق GitHub على إرشادات منظمة حول كيفية استخدام الفروع لدعم الفريق والتطوير الموازي. يمكن أن تساعد هذه المنهجيات الفرق على وضع معايير وعناصر تحكم لتثبيت التعليمات البرمجية ودمجها في سير عمل CI/CD.
- بعض الفروع، مثل الرئيسية، هي فروع طويلة الأمد تحافظ على تكامل التعليمات البرمجية المصدر للتطبيق الخاص بك. يجب أن تكون هذه الفروع قد أنشأت نهج دمج قبل دمج التغييرات أو الالتزام بها. وتشمل بعض أفضل الممارسات ما يلي:
- منع المطورين الآخرين من تثبيت التعليمات البرمجية مباشرة في فرعك الرئيسي.
- إنشاء عملية مراجعة نظير وتتطلب الحد الأدنى من الموافقات قبل دمج التغييرات في فرع رئيسي. يمكنك بسهولة تكوين عناصر التحكم هذه وفرضها باستخدام GitHub. يتيح لك GitHub أيضا تعيين مجموعات من الموافقين المعتمدين إذا لزم الأمر للبيئات المبوبة.
- استخدم خطافات التثبيت المسبق للتحقق من وجود معلومات حساسة داخل التعليمات البرمجية المصدر للتطبيق ومنع حدوث تثبيت في حالة العثور على مشكلة أمان.
- استخدم خطافات التثبيت المسبق المضمنة التي يوفرها GitHub والتي يمكن تكوينها بسهولة لمشروع معين. على سبيل المثال، هناك خطافات تم إنشاؤها مسبقا لفحص البيانات السرية والمفاتيح الخاصة وبيانات الاعتماد، ومنع التثبيت إذا تم العثور على أي من هذه المشكلات.
- إنشاء التحكم في الوصول المستند إلى الدور داخل نظام التحكم في الإصدار.
- إنشاء أدوار محددة جيدا باستخدام مبدأ أقل الامتيازات. البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD هي سلسلة التوريد الخاصة بك لنشر الإنتاج.
- تطبيق أدوار المستخدم أو المجموعة المحددة داخل مؤسستك. يجب إنشاء أدوار مثل مسؤول والمطور ومسؤول الأمان والمشغل لتجميع الأفراد استنادا إلى دورهم ووظائفهم المحددة فيما يتعلق بسير عمل CI/CD.
- تمكين تدقيق مهام سير العمل الخاصة بك بحيث تكون هناك شفافية وقابلية للتتبع للتكوين والتغييرات الأخرى فيما يتعلق بتدفقات CI/CD.
أفضل الممارسات - تأمين صور الحاوية
- استخدم الصور الخفيفة مع الحد الأدنى من بصمة نظام التشغيل لتقليل مساحة الهجوم السطحي الشاملة. ضع في اعتبارك الحد الأدنى من الصور مثل Alpine أو حتى الصور غير المنعزلة التي تحتوي فقط على التطبيق الخاص بك ووقت التشغيل المرتبط به. Mariner، توزيع Linux مفتوح المصدر من Microsoft، هو توزيع خفيف الوزن ومتصلب مصمم ل AKS لاستضافة أحمال العمل المعبأة في حاويات.
- استخدم الصور الأساسية الموثوق بها فقط عند إنشاء حاوياتك. يجب استرداد هذه الصور الأساسية من سجل خاص يتم فحصه بشكل متكرر بحثا عن الثغرات الأمنية.
- استخدم أدوات المطور لتقييم الثغرات الأمنية للصورة محليا.
- Trivy هو مثال على أداة مفتوحة المصدر يمكنك استخدامها لتحليل الثغرات الأمنية داخل صور الحاوية.
- منع وصول/سياق المستخدم الجذر لصورة. بشكل افتراضي، يتم تشغيل الحاويات كجذر.
- بالنسبة للحاويات التي تحتاج إلى أمان محسن، ضع في اعتبارك استخدام ملف تعريف AppArmor داخل مجموعة Kubernetes للمساعدة في فرض الأمان للحاويات قيد التشغيل.
مرحلة الإنشاء
أثناء مرحلة الإنشاء، يعمل المطورون مع مهندسي موثوقية الموقع وفرق الأمان لدمج عمليات الفحص التلقائية لمصدر تطبيقاتهم داخل مسارات بناء CI الخاصة بهم. يتم تكوين البنية الأساسية لبرنامج ربط العمليات التجارية لتمكين ممارسات الأمان مثل SAST وSCA ومسح البيانات السرية باستخدام أدوات الأمان وملحقات النظام الأساسي CI/CD.
أفضل الممارسات - إجراء تحليل التعليمات البرمجية الثابتة (SAST) للعثور على الثغرات الأمنية المحتملة في التعليمات البرمجية المصدر للتطبيق
- استخدم قدرات فحص GitHub Advanced Security لفحص التعليمات البرمجية وCodeQL.
- فحص التعليمات البرمجية هي ميزة تستخدمها لتحليل التعليمات البرمجية في مستودع GitHub للعثور على الثغرات الأمنية وأخطاء الترميز. يتم عرض أي مشاكل تم تحديدها بواسطة التحليل في GitHub Enterprise Cloud.
- إذا عثر مسح التعليمات البرمجية على ثغرة أمنية محتملة أو خطأ في التعليمات البرمجية الخاصة بك، يعرض GitHub تنبيها في المستودع.
- يمكنك أيضا تكوين قواعد الفرع لعمليات التحقق من الحالة المطلوبة، على سبيل المثال، لفرض تحديث فرع الميزة مع الفرع الأساسي قبل دمج أي تعليمة برمجية جديدة. تضمن هذه الممارسة أن الفرع الخاص بك قد تم اختباره دائما باستخدام أحدث التعليمات البرمجية.
- استخدم أدوات مثل kube-score لتحليل كائنات توزيع Kubernetes.
- kube-score هي أداة تقوم بتحليل التعليمات البرمجية الثابتة لتعريفات عناصر Kubernetes الخاصة بك.
- الإخراج هو قائمة من التوصيات لما يمكنك تحسينه للمساعدة في جعل تطبيقك أكثر أمانا ومرونة.
أفضل الممارسات - إجراء مسح البيانات السرية لمنع الاستخدام الاحتيالي للبيانات السرية التي تم ارتكابها عن طريق الخطأ في مستودع
- عند تمكين مسح البيانات السرية لمستودع، يقوم GitHub بفحص التعليمات البرمجية بحثا عن الأنماط التي تطابق الأسرار المستخدمة من قبل العديد من موفري الخدمة.
- يقوم GitHub أيضا بشكل دوري بتشغيل فحص كامل لمحفوظات git للمحتوى الموجود في المستودعات ويرسل إشعارات التنبيه.
- بالنسبة إلى Azure DevOps، يستخدم Defender for Cloud مسح البيانات السرية للكشف عن بيانات الاعتماد والأسرار والشهادات والمحتوى الحساس الآخر في التعليمات البرمجية المصدر وإخراج البنية.
- يمكن تشغيل مسح البيانات السرية كجزء من ملحق Microsoft Security DevOps ل Azure DevOps.
أفضل الممارسات - استخدم أدوات تحليل تكوين البرامج (SCA) لتعقب المكونات مفتوحة المصدر في قاعدة التعليمات البرمجية واكتشاف أي ثغرات أمنية في التبعيات
- تتيح لك مراجعة التبعية التقاط التبعيات غير الآمنة قبل تقديمها إلى بيئتك، وتوفر معلومات حول الترخيص والمعالين وعمر التبعيات. يوفر تصورا يمكن فهمه بسهولة لتغييرات التبعية مع فرق غني في علامة التبويب "الملفات التي تم تغييرها" لطلب السحب.
- يقوم Dependabot بإجراء فحص للكشف عن التبعيات غير الآمنة ويرسل تنبيهات Dependabot عند إضافة استشاري جديد إلى قاعدة بيانات GitHub الاستشارية أو عند تغيير الرسم البياني للتبعية لمستودع.
أفضل الممارسات - تمكين عمليات فحص الأمان لقوالب البنية الأساسية كتعليمة برمجية (IaC) لتقليل التكوينات الخاطئة للسحابة التي تصل إلى بيئات الإنتاج
- مراقبة تكوينات موارد السحابة بشكل استباقي طوال دورة حياة التطوير.
- يدعم Microsoft Defender for DevOps كلا من مستودعات GitHub وAzure DevOps.
أفضل الممارسات - فحص صور حمل العمل في سجلات الحاويات لتحديد الثغرات الأمنية المعروفة
- يقوم Defender for Containers بفحص الحاويات في Container Registry وAmazon AWS Elastic Container Registry (ECR) لإعلامك إذا كانت هناك ثغرات أمنية معروفة في صورك.
- يمكن تمكين نهج Azure لإجراء تقييم للثغرات الأمنية على جميع الصور المخزنة في سجل الحاويات وتوفير معلومات مفصلة عن كل اكتشاف.
أفضل الممارسات - إنشاء صور جديدة تلقائيا على تحديث الصورة الأساسية
- تكتشف مهام Azure Container Registry ديناميكيا تبعيات الصورة الأساسية عند إنشاء صورة حاوية. ونتيجة لذلك، يمكنه اكتشاف وقت تحديث الصورة الأساسية لصورة التطبيق. مع مهمة إنشاء واحدة تم تكوينها مسبقا، يمكن لمهام Container Registry إعادة إنشاء كل صورة تطبيق تشير إلى الصورة الأساسية تلقائيا.
أفضل الممارسات - استخدم Container Registry وAzure Key Vault والإشارة لتوقيع صور الحاوية رقميا وتكوين نظام مجموعة AKS للسماح فقط بالصور التي تم التحقق من صحتها
- يخزن Azure Key Vault مفتاح توقيع يمكن استخدامه بواسطة تدوين مع المكون الإضافي ل Notation Key Vault (azure-kv) لتوقيع صور الحاوية والبيانات الاصطناعية الأخرى والتحقق منها. يتيح لك Container Registry إرفاق هذه التواقيع باستخدام أوامر Azure CLI.
- تتيح الحاويات الموقعة للمستخدمين التأكد من إنشاء عمليات التوزيع من كيان موثوق به والتحقق من عدم العبث بأداة منذ إنشائها. تضمن الأداة الموقعة التكامل والأصالة قبل أن يسحب المستخدم أداة إلى أي بيئة، مما يساعد على تجنب الهجمات.
- يسمح التصديق لمجموعات Kubernetes بالتحقق من بيانات تعريف أمان البيانات الاصطناعية قبل النشر وقبولها للتوزيع فقط تلك التي تتوافق مع سياسة القبول التي تقوم بإنشائها.
مرحلة التوزيع
أثناء مرحلة التوزيع، يعمل المطورون ومشغلو التطبيقات وفرق مشغلي نظام المجموعة معا على إنشاء عناصر التحكم الأمنية الصحيحة لمسارات التوزيع المستمر (CD) لنشر التعليمات البرمجية إلى بيئة إنتاج بطريقة أكثر أمانا وأتمتة.
أفضل الممارسات - التحكم في الوصول إلى مسار التوزيع وسير العمل
- يمكنك حماية الفروع الهامة عن طريق تعيين قواعد حماية الفرع. تحدد هذه القواعد ما إذا كان يمكن للمتعاونين حذف أو فرض الدفع إلى الفرع. كما أنها تحدد متطلبات لأي دفعات إلى الفرع، مثل تمرير عمليات التحقق من الحالة أو محفوظات الالتزام الخطي.
- باستخدام البيئات للتوزيع، يمكنك تكوين البيئات مع قواعد الحماية والأسرار.
- يمكنك الاستفادة من ميزة الموافقات والبوابات للتحكم في سير عمل البنية الأساسية لبرنامج ربط العمليات التجارية للتوزيع. على سبيل المثال، يمكنك طلب موافقات يدوية من فريق أمان أو عمليات قبل النشر إلى بيئة إنتاج.
أفضل الممارسات - بيانات اعتماد النشر الآمنة
- يتيح OpenID الاتصال (OIDC) لسير عمل GitHub Action الوصول إلى الموارد في Azure دون الحاجة إلى تخزين بيانات اعتماد Azure كأسرار GitHub طويلة الأمد.
- باستخدام البيئات للتوزيع، يمكنك تكوين البيئات مع قواعد الحماية والأسرار.
- يتيح لك النهج القائم على السحب ل CI/CD باستخدام GitOps تحويل بيانات اعتماد الأمان إلى مجموعة Kubernetes، ما يقلل من سطح الأمان والمخاطر عن طريق إزالة بيانات الاعتماد من التخزين في أدوات CI الخارجية. يمكنك أيضا تقليل الاتصالات الواردة المسموح بها والحد من الوصول على مستوى المسؤول إلى مجموعات Kubernetes.
أفضل الممارسات - قم بتشغيل اختبارات أمان التطبيقات الديناميكية (DAST) للعثور على الثغرات الأمنية في التطبيق قيد التشغيل
- استخدم إجراءات GitHub في مهام سير عمل التوزيع لتشغيل اختبارات أمان التطبيقات الديناميكية (DAST).
- استخدم أدوات مفتوحة المصدر مثل ZAP لإجراء اختبار الاختراق لثغرات تطبيق الويب الشائعة.
أفضل الممارسات - نشر صور الحاوية من السجلات الموثوق بها فقط
- استخدم Defender للحاويات لتمكين الوظيفة الإضافية لنهج Azure ل Kubernetes.
- تمكين نهج Azure بحيث لا يمكن نشر صور الحاوية إلا من السجلات الموثوق بها.
مرحلة التشغيل
خلال هذه المرحلة، يتم تنفيذ مهام مراقبة العمليات ومراقبة الأمان لمراقبة الحوادث الأمنية المحتملة وتحليلها والتنبيه إليها بشكل استباقي. تستخدم أدوات مراقبة الإنتاج مثل Azure Monitor وMicrosoft Sentinel لمراقبة وضمان الامتثال لمعايير أمان المؤسسة.
أفضل الممارسات - استخدم Microsoft Defender للسحابة لتمكين المسح الآلي ومراقبة تكوينات الإنتاج الخاصة بك
- قم بتشغيل الفحص المستمر للكشف عن الانجراف في حالة الثغرة الأمنية للتطبيق الخاص بك وتنفيذ عملية لتصحيح الصور الضعيفة واستبدالها.
- تنفيذ مراقبة التكوين التلقائي لأنظمة التشغيل.
- استخدم توصيات حاوية Microsoft Defender for Cloud (ضمن قسم الحوسبة والتطبيقات ) لإجراء عمليات فحص الأساس لمجموعات AKS. احصل على إعلام في لوحة معلومات Microsoft Defender for Cloud عند العثور على مشكلات التكوين أو الثغرات الأمنية.
- استخدم Microsoft Defender for Cloud واتبع توصيات حماية الشبكة للمساعدة في تأمين موارد الشبكة التي تستخدمها مجموعات AKS.
- إجراء تقييم الثغرات الأمنية للصور المخزنة في سجل الحاويات.
- تنفيذ عمليات فحص مستمرة لتشغيل الصور في Container Registry عن طريق تمكين Defender for Containers.
أفضل الممارسات - حافظ على تحديث مجموعات Kubernetes الخاصة بك
- يتم طرح إصدارات Kubernetes بشكل متكرر. من المهم أن يكون لديك استراتيجية لإدارة دورة الحياة لضمان عدم التخلف عن الدعم أو الخروج منه. AKS هو عرض مدار يوفر لك أدوات ومرونة لإدارة عملية الترقية هذه. يمكنك استخدام ميزات الصيانة المخططة للنظام الأساسي AKS للحصول على مزيد من التحكم في نوافذ الصيانة والترقيات.
- يجب ترقية عقد عامل AKS بشكل متكرر. نحن نقدم تحديثات أسبوعية لنظام التشغيل ووقت التشغيل، والتي يمكن تطبيقها تلقائيا عبر وضع غير مراقب أو من خلال Azure CLI لمزيد من التحكم والتحديثات الشاملة.
أفضل الممارسات - استخدم نهج Azure لتأمين أنظمة مجموعات AKS الخاصة بك والتحكم فيها
- بعد تثبيت الوظيفة الإضافية لنهج Azure ل AKS، يمكنك تطبيق تعريفات نهج فردية أو مجموعات من تعريفات النهج تسمى المبادرات (تسمى أيضا مجموعات النهج) على مجموعتك.
- استخدم نهج Azure المضمنة للسيناريوهات الشائعة مثل منع تشغيل الحاويات المميزة أو الموافقة فقط على عناوين IP الخارجية المدرجة في القائمة المسموح بها. يمكنك أيضا إنشاء نهج مخصصة لحالات استخدام معينة.
- تطبيق تعريفات النهج على نظام المجموعة والتحقق من فرض هذه التعيينات.
- استخدم Gatekeeper لتكوين وحدة تحكم القبول التي تسمح أو ترفض عمليات النشر استنادا إلى القواعد المحددة. يوسع نهج Azure Gatekeeper.
- تأمين نسبة استخدام الشبكة بين جرابات حمل العمل باستخدام نهج الشبكة في AKS.
- قم بتثبيت محرك نهج الشبكة وإنشاء نهج شبكة Kubernetes للتحكم في تدفق نسبة استخدام الشبكة بين pods في AKS. يمكن استخدام نهج الشبكة للعقد والقرون المستندة إلى Linux أو المستندة إلى Windows في AKS.
أفضل الممارسات - استخدام Azure Monitor للمراقبة والتنبيه المستمرين
- استخدم Azure Monitor لجمع السجلات والمقاييس من AKS. يمكنك الحصول على رؤى حول توفر وأداء التطبيق والبنية التحتية الخاصة بك. كما أنه يمنحك إمكانية الوصول إلى الإشارات لمراقبة صحة الحل واكتشاف النشاط غير الطبيعي في وقت مبكر.
- تمتد المراقبة المستمرة باستخدام Azure Monitor لتحرير المسارات للتحكم في الإصدارات أو التراجع عنها استنادًا إلى بيانات المراقبة. يخزن Azure Monitor أيضا سجلات الأمان ويمكنه التنبيه بشأن النشاط المشبوه.
- إلحاق مثيلات AKS ب Azure Monitor وتكوين إعدادات التشخيص لنظام المجموعة.
أفضل الممارسات - استخدام Microsoft Defender for Cloud لمراقبة التهديدات النشطة
- يوفر Microsoft Defender for Cloud مراقبة نشطة للمخاطر على AKS على مستوى العقدة (تهديدات الجهاز الظاهري) وللداخليات.
- يجب استخدام Defender for DevOps للرؤية الشاملة ويوفر لفرق الأمان والمشغل لوحة معلومات مركزية لجميع مسارات CI/CD. هذه الوظيفة مفيدة بشكل خاص إذا كنت تستخدم أنظمة أساسية متعددة المسارات مثل Azure DevOps وGitHub أو تقوم بتشغيل خطوط أنابيب عبر السحب العامة.
- يمكن استخدام Defender for Key Vault للكشف عن المحاولات غير العادية والمريبة للوصول إلى حسابات خزنة المفاتيح ويمكن تنبيه المسؤولين استنادا إلى التكوين.
- يمكن ل Defender for Containers التنبيه بشأن الثغرات الأمنية الموجودة داخل صور الحاوية المخزنة على Container Registry.
أفضل الممارسات - تمكين مراقبة السجل المركزية واستخدام منتجات SIEM لمراقبة تهديدات الأمان في الوقت الحقيقي
- الاتصال سجلات تشخيص AKS إلى Microsoft Sentinel لمراقبة الأمان المركزية استنادا إلى الأنماط والقواعد. يتيح Sentinel هذا الوصول بسلاسة عبر موصلات البيانات.
أفضل الممارسات - تمكين تسجيل التدقيق لمراقبة النشاط على مجموعات الإنتاج الخاصة بك
- استخدم سجلات النشاط لمراقبة الإجراءات على موارد AKS لعرض جميع الأنشطة وحالتها. حدد العمليات التي تم تنفيذها على الموارد ومن قبل من.
- تمكين تسجيل استعلام DNS عن طريق تطبيق التكوين الموثق في CoreDNS المخصص ConfigMap.
- مراقبة محاولات الوصول إلى بيانات الاعتماد المعطلة.
- دمج مصادقة المستخدم ل AKS مع معرف Microsoft Entra. إنشاء الإعدادات تشخيصية لمعرف Microsoft Entra، وإرسال سجلات التدقيق وتسجيل الدخول إلى مساحة عمل Azure Log Analytics. تكوين التنبيهات المطلوبة (مثل عندما يحاول حساب تم إلغاء تنشيطه تسجيل الدخول) داخل مساحة عمل Azure Log Analytics.
أفضل الممارسات - تمكين التشخيصات على موارد Azure
- من خلال تمكين تشخيصات Azure عبر جميع موارد حمل العمل الخاص بك، يمكنك الوصول إلى سجلات النظام الأساسي التي توفر معلومات تشخيصية وتدقيعية مفصلة لموارد Azure. يمكن استيعاب هذه السجلات في Log Analytics أو حل SIEM مثل Microsoft Sentinel لمراقبة الأمان والتنبيه.
المساهمون
تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.
الكاتب الرئيسي:
- عدنان خان | مهندس حلول السحابة
مساهمون آخرون:
- Ayobami Ayodeji | مدير البرنامج 2
- أحمد باهم | مهندس حلول السحابة السابق
- تشاد كيتل | مهندس برامج رئيسي
- John Poole | Sr. Cloud Solution Architect
- بهرام راشيناس | مهندس حلول عام
- Abed Sau | Sr. Cloud Solution Architect
الخطوات التالية
- Microsoft Defender for Cloud
- Secure DevOps
- الأمان في DevOps (DevSecOps)
- GitHub Advanced Security
- GitOps