دورهای که توسعهدهندگان برای ساخت نرمافزارهای خود و تست کیفیت آنها ، تلاش بسیاری میکردند به اتمام رسیده است و توصیه میشود سازمانها به منظور استفاده از راهحل DevOps موارد امنیتی مرتبط با این روش را در دستورالعملهای خود اعمال کنند. روش DevOps که اکنون بیش از پنجاه درصد سازمانها از آن بهره میبرند، اصول و راهکارهایی را برای ارتباط و همکاری اثربخش ارائه مینماید.
اعمال امنیت در DevOps
مدل Agile DevOps به منظور معرفی امنیت در DevOps ارائه شده است. SecDevOps یک چرخه ارائهی نرمافزار ایمن با فرآیندهای ارائهی سرویس سریع است که در سالهای اخیر به اوج شکوفایی خود رسیده و اکنون توجه سازمانهای مختلف را جلب نموده است. یکی از عوامل اصلی برای ادغام امنیت به DevOps درک این مطلب است که برخورداری از امنیت مغایرتی با بخشهای دیگر سازمان ندارد و همکاری امری کلیدی در همراستایی IT و کسبوکار موفق است.
انتقال از DevOps به SecDevOps علاوه بر تکنولوژی، در مدیریت فرآیند نیز نیاز به تغییر دارد و همچنین باید تغییرات فرهنگی گستردهای برای استفاده از این راهکار امن اعمال کرد چراکه حرکت به سمت SecDevOps نیازمند این است که سازمانها در نحوهی ساخت نرمافزار و نقش تیمهای توسعهدهنده در این فرآیند تغییراتی اعمال نمایند.
در این میان یک تقابل فرهنگی طبیعی و بسیار حائز اهمیت وجود دارد: به صورت معمول، امنیت یکی از اهداف فرآیند، یا به عبارتی دیگر دریچهای مهم در نظر گرفته میشود، از طرف دیگر DevOps به سرعت حرکت میکند و روی اهداف خود تمرکز دارد. شکافی که میباید از آن عبور کرد همان تقابل طبیعی بین شک و تردید و خوشبینی میباشد و لذا برای اینکه تیمهای DevOps بتوانند کاری را که میخواهند به شیوهای ایمن انجام دهند، باید بین این دو پیوندی ایجاد نمایند.
حرکت به سوی طرز فکری هوشمندانه
این تغییر با یک طرز فکر مبتنی بر ارزش Agile شروع شده و برقراری امنیت به عنوان یک محرک ارزشمند و مهم، شروعی قدرتمند برای یکپارچهسازی تیمی است.
همانطور که از نام SecDevOps برمیآید، یکپارچهسازی و همکاری مسائلی کلیدی هستند و این موارد از طریق ایجاد اعتماد گسترش پیدا میکنند. شرکت Gartner این مسئله را به صورت اجمالی به عنوان بخشی از امنیت تطبیقی مداوم شرح داده است:
«تکنیکهای امنیتی قدیمی که به جای اعتماد، بر مالکیت و کنترل تکیه میکردند در دنیای دیجیتال کاربردی ندارند. محافظت از زیرساخت و محیط شبکه، شناسایی دقیق را تضمین نمیکند و نمیتواند از سازمانها در مقابل حملات درون شبکهای Behind-The-Perimeter محافظت نماید. برای ممکن شدن این موارد میباید امنیت مردم محور (People-Centric) پذیرفته گردد و به توسعهدهندگان توانایی بر عهده گرفتن مسئولیت برای اقدامات امنیتی داده شود.»
نکتهی مهمی که باید از این توضیح دریافت کرد، اهمیت مفهوم مسئولیت است. واگذاری مسئولیت میتواند ابزاری قدرتمند برای تغییر دیدگاه باشد که این امر آغازکنندهی تغییر فرهنگی محسوب میگردد. SecDevOps یک روش است، اما نوعی طرز فکر نیز محسوب میگردد و در این راستا تمامی افراد یک تیم میبایست از روز اول مسئولیت امنیت را بر عهده گرفته و همواره مد نظر داشته باشند.
تلاش برای موفقیت SecDevOps
اکنون سوال اصلی که مطرح میشود، نحوهی دگرگونی DevOps ایمن و نقطهی آغازین آن است:
- قهرمانان امنیت: تعیین متخصصانی که در مقیاس لازم، از DevOps پشتیبانی نموده، الزامات را توسعه دهند و از دید امنیتی تعاریفی برای واژهی «انجامشده» (Done) ارائه نمایند.
- کد امنیتی: ارائهی قدرت تصمیمگیری بهتر به توسعه دهندگان با آموزش دادن به آنها در مورد خطراتی که سرویس را تهدید میکند و ریسکهایی که آنها میپذیرند.
- امینت Agile: بهکارگیری مدلسازی ریسکها و تهدیدها در گزارشهای Reverse کاربر و شاخص پذیرش.
- آموزش همهجانبه: ساخت فرهنگی برای یادگیری و همکاری مداوم و مسئول دانستن تمام افراد سازمان در مورد امنیت.
در نهایت باید گفت که یک برنامهی SecDevOps موفق، نشاندهندهی رشد نظاممند و همکاری است. شرکتها با دیدگاهی Agile به امنیت، همکاری گسترده و Buy-In جهانی میتوانند امنیت را به جایگاه اصلی خود، یعنی به قلبِ DevOps بازگردانند.