ما هو أمن DevOps؟
- مصطلحات إدارة الهوية والوصول
- ما هو أمن DevOps؟
إن أمن DevOps، المعروف ايضاً باسم DevSecOps عبارة عن مزيج من الكلمات التطوير (development)، والعمليات (operations)، والأمن (security). حيث يشير كل من أمن DevOps وDevSecOps إلي فلسفة دمج الأمن في دورة حياة تطوير البرمجيات (SDLC) في ابكر وقت ممكن، ويفضل قبل كتابة سطر واحد من التعليمات البرمجية.
ما الفرق بين DevOps وDevSecOps؟
يعتبر DevSecOps امتداداً أو تعزيزاً لفلسفة DevOps. لهذا السبب، من المهم فهم الصفات المشتركة بين DevOps وDevSecOps قبل مناقشة اختلافاتهم.
يشير كل من DevOps وDevSecOps إلى فلسفة أو نهج لتطوير البرمجيات، وليس إلى أداة أو مجموعة من الأدوات المعينة. تماماً مثلما لا يعني تثبيت نظام تتبع المشكلات أنك "تقوم بعمل DevOps،" ولا يعني تثبيت أدوات أمان التطبيقات الثابتة أو الديناميكية أنك "تقوم بعمل DevSecOps."
تُؤكد كل من DevOps وDevSecOpsعلى التعاون، والأتمتة، والمراقبة النشطة لتطبيقات البرمجيات. وتُعد القدرة على التقاط بيانات التطبيق في الوقت الفعلي عاملاً رئيسياً لكل من الفلسفتين، لأن "القيام" بـ DevOps وDevSecOps يتطلب التقاط وتحليل هذه البيانات باستمرار لاكتشاف طرق لتعزيز الإنتاجية وزيادة التحسينات.
تعتمد كلتا الفلسفتين أيضاً على التعاون، خاصة القضاء على المجموعات التنظيمية المنعزلة. تسعى DevOps إلى كسر حواجز الانعزال بين تطوير البرامج وعمليات تكنولوجيا المعلومات، وتتمثل الفكرة في أنه عندما يعمل المطورون وموظفو تكنولوجيا المعلومات معاً، يتم إصدار البرامج بسرعة أكبر وبأخطاء أقل. وترتقي DevSecOps بالأمر وتسعى إلى منح العمليات الأمنية مقعداً على الطاولة. وتكمن الفكرة وراء DevSecOps في أنه عندما يعمل المطورون، وموظفو تكنولوجيا المعلومات، وموظفو الأمن معاً، يتم إصدار البرامج بشكل أسرع، وتكون ذات جودة أعلى وأكثر أماناً.
"القيام" بـ DevSecOps بشكل صحيح يعني أن التطبيقات مؤمنة ضد المخاطر قبل تسليمها إلى الإنتاج. غالباً ما تسمى هذه الممارسة "shift left" لأنها تشير إلى تكامل الأمن في بداية الجدول الزمني للمشروع - قبل كتابة سطر واحد من التعليمات البرمجية - بدلاً من معالجته في مراحل لاحقة. ويقوم المطورون في بيئة DevSecOps بإدخال التعليمات البرمجية مع وضع الأمن في الاعتبار – وهو أمر لا تعالجه DevOps بمفردها.
تضمن DevSecOps من خلال إدخال ممارسات مثل تحليل الأكواد، والتحقيق في التهديد وتقييم الضعف في دورة حياة تطوير البرمجيات، مع الاختبار والتقييم المستمرين، أن مصدر البرنامج آمن منذ البداية. وبالإضافة إلى تحسين أمن التطبيقات، تعمل DevSecOps على تعزيز الإنتاجية. إن العثور على المشاكل الأمنية وتحديدها في وقت مبكر يتطلب استهلاكاً للوقت والتكلفة أقل بكثير من الحاجة إلى إعادة بناء التعليمات البرمجية في وقت لاحق في دورة حياة البرامج.
تحديات أمن DevOps
على الرغم من كل الفوائد التي تعود من استخدام DevSecOps، إلا أن المنظمات تكافح من أجل تنفيذها بشكل صحيح. دعنا نقوم بفحص بعض تحديات أمن DevOps الأكثر شيوعاً.
التركيز الشديد على الأدوات، والتركيز بشكل خفيف للغاية على العمليات. كما ذكر سابقاً في المقال، تُعد كل من DevOps وDevSecOps فلسفات، وليست تفويضات لاستخدام برامج معينة.
المقاومة الثقافية من المطورين، أو قولهم "لكننا نفعل ذلك دائماً بهذه الطريقة." قد لا يعتاد المطورون على ممارسات الترميز الآمن. حيث يقوم المطورون بشكل تقليدي بالبرمجة من أجل القابلية للعمل، وتم اكتشاف نقاط الضعف وتصحيحها لاحقاً. وقد يخشى المطورون أن الاضطرار إلى "القلق" بشأن الأمن سيؤدي إلى إبطاء الإنتاج.
المقاومة الثقافية من فرق الأمن. المطورون ليسوا الوحيدين الذين قد يتمسكون "بالطريقة التي يتم القيام بها دائماً." حيث تركز فرق DevOps على السرعة، والتعديل، ودفع الكود على مدار ساعات أو أيام – وهي وتيرة سريعة يمكن أن تترك فرق الأمن في حالة من الارتياب. الاختلاف هو أن فرق DevOps تقوم بأتمتة أكبر عدد ممكن من العمليات، في حين أن فرق الأمن غالباً ما تفعل الكثير من عملها يدوياً.
إدارة الأسرار غير الكافية. بيئات DevOps معقدة للغاية ومتداخلة بعمق. من المعتاد أن تملك متاجر DevOps المئات من مجموعات الأمن والآلاف من مثيلات الخوادم، ويستخدم كل ما سبق الأسرار مثل بيانات اعتماد الحسابات المتميزة، ومفاتيح SSH، والرموز المميزة لواجهات برمجة التطبيقات، وكلمات مرور قواعد البيانات وغير ذلك المزيد، ويتناثر كل هذا في أنحاء بيئة بيانات المنظمة في حالة تعرف باسم "انتشار الأسرار". ويمكن أن يؤدي خطأ بسيط في التهيئة إلى الكشف عن أحد هذه الأسرار - وعندها ستتعرض المنظمة إلى هجوم إلكتروني كارثي.
إدارة وصول متميز غير ملاءمة. لتسريع الإنتاج تمنح العديد من فرق DevOps لأعضائها وصولاً غير محدود تقريباً إلى الحسابات المميزة مثل حساب root (الجذر) وحساب admin (المسؤول). والأسوأ من ذلك، أن العديد من الأفراد قد يتشاركون في نفس مجموعة بيانات الاعتماد – من الأمور الممنوعة بشدة أمنياً، بالإضافة إلى مشكلة كبيرة أثناء التحقق من الامتثال، حيث يُتوقع من المنظمات إنتاج سجل مراجعة نظيف. بالإضافة إلى ذلك، قد يكون للتنسيق، وإدارة التكوين، وأدوات DevOps الأخرى مستويات وصول عالية جداً، أكثر بكثير مما تحتاجه الأداة للعمل.
أفضل ممارسات أمان DevOps
وفيما يلي بعض أفضل الممارسات لتنفيذ أمن DevOps في منظمتك.
- تذكر أن DevSecOps، مثل DevOps، عقلية، وليست مجموعة من الأدوات. بدلاً من شراء "أدوات DevSecOps" ومعرفة المكان الذي تريد استخدامها فيه، ركز على أهدافك النهائية، وطور العمليات لتحقيقها، ثم قم بشراء الأدوات التي تدعم تلك العمليات والأهداف.
- استخدم أساليب إدارة التغيير المناسبة للتغلب على المقاومة الثقافية من المطورين وموظفي الأمن لديك. أظهر لكلا الفرقين أن DevSecOps سيوفر لهما الوقت ويجعلهما أكثر إنتاجية، وليس العكس. ضع معايير ترميز واضحة لمطوريك، وقم بأتمتة عمليات الأمن والأدوات قدر الإمكان.
- كافح نشر الأسرار مع أداة مثل Keeper Secrets Manager.
- السيطرة على حقوق الامتياز المفرط ومستويات الوصول مع أدوات تحكم مثل التحكم في الوصول القائم على الأدوار (RBAC)، والوصول بالحد الأدنى من الامتيازات، والتزويد في الوقت المناسب.
- منع إساءة استخدام الوصول المتميز من خلال تسجيل وتدقيق الجلسة.