تعبیه امنیت در خطوط لوله DevOps

چگونه یاد گرفتم که از نگرانی دست بردارم و عاشق تغییر سمت چپ باشم
چرا امنیت دوباره ساخت ما را می شکند؟!
این فریاد یک توسعه دهنده ناامید بود – خوب ، من -هنگامی که خط لوله CI/CD ما دقایقی قبل از مهلت انتشار به دلیل آسیب پذیری پرچم دار در یک کتابخانه شخص ثالث شکست خورد.
یادم می آید لیوان قهوه ام را کوبیدم (به آرامی … مورد علاقه من بود) و چیزی شبیه به
“امنیت همیشه مانند آن دوست که فقط به خانه شما می آید نشان می دهد تا به شما بگوید کثیف است.”
در آن زمان ، امنیت مانند یک سد جاده احساس می شد. یک دروازه بان آزار دهنده در انتهای تونل DevOps.
چند سال به جلو بروید-و بیش از چند تمرین آتش سوزی در اواخر شب-و من اکنون این را با اعتقاد کامل می گویم:
امنیت قهرمانی است که ما نمی دانستیم به آن احتیاج داریم.
بگذارید شما را از طریق نحوه رفتم “اوه ، امنیت” به “خدا را شکر که ما آن را گرفتار کردیم” – و چگونه می توانید.
امنیت: قهرمان اکراه Devops
برای مدت طولانی ، DevOps همه چیز در مورد بود سرعتبشر
“ده بار در روز مستقر شوید!”
“سریع حرکت کنید و چیزها را بشکنید!”
خوب … ما این کار را کردیم. و ما شکسته چیزها بعضی از آنها بسیار گرانبشر
این زمانی بود که متوجه شدیم:
سرعت بدون امنیت فقط یک مسیر سریع برای نقض عناوین است.
و به همان اندازه سرگرم کننده به عنوان “حوادث” در پس از مرگ ، به من اعتماد کنید-آنها اینگونه نیستند.
ما مجبور شدیم راهی بهتر پیدا کنیم. این به معنای ورود امنیت به روند کار است ، مقابله با آن بعد از این واقعیت مانند یک کلاه کوچک غمگین روی ماشین مسابقه.
آنها گفتند که شیفت سمت چپ است. آنها گفتند که این سرگرم کننده خواهد بود.
“تغییر چپ” به معنای حرکت چک های امنیتی است پیش در روند توسعه
در تئوری؟ عالی
در عمل؟ اولین تلاش ما تقریباً باعث شد جوی زدنبشر
- Devs شکایت کرد که اسکن ها ساخت و سازها را کند کردند.
- افراد امنیتی احساس می کردند که هیچ کس گوش نکرده است.
- این معادل فناوری جلسه درمانی یک زوج بد بود.
بنابراین ما کوچک را شروع کردیم:
- یکپارچه در نظر گرفتن .
- تنظیم کردن اسکن وابستگی خودکار در حین درخواست های کشش
- اضافه شده اسکن کانتینر به گردش کار CI ما – دیگر گوشت رمز و راز از Docker Hub Wild West.
ناگهان ، امنیت مسدود کنندهبشر این یک بود یاور ساکتبشر
ما همچنین از شرکت هایی مانند الهام گرفتیم
Bridge Group Solutions – رویکرد آنها برای امنیت خطوط لوله توسعه به ما کمک کرد تا با دقت بیشتری درباره ادغام امنیت CI/CD فکر کنیم.
صحبت واقعی: روزی که خط لوله ما را نجات داد
یک صبح سه شنبه (به دلیل نقض عشق سه شنبه ها) ، یک جوان جوان به طور تصادفی در یک پرونده پیکربندی یک اعتبار را مرتکب شد.
نه بزرگ ، درست است؟ فقط راز آزمونبشر
به جز … ما ابزار اسکن مخفی پرچم آن ، ساخت را متوقف کرد و شل و ول ما را غرق کرد.
معلوم است ، آن راز “آزمایش” به مرحله بندی DB این می توانست در طبیعت سوء استفاده شود.
ما کلیدها را چرخانده ، پیکربندی را وصله کردیم و آن را برطرف کردیم قبل از ناهاربشر
بدون امنیت تعبیه شده؟ این می تواند هفته ها پاکسازی باشد.
ابزارهای امنیتی که مکیده نمی شوند (و در واقع کمک می کنند)
در اینجا آنچه برای ما کار کرده است (و توسط توسعه دهندگان نفرین نشده است):
- قلاب های git + اسکنهای پیش از هم – به Spellcheck فکر کنید ، اما برای اسرار و نحو.
- سنورکب – عالی برای تجزیه و تحلیل کد استاتیک.
- وابستگی OWASP-CHECK – کتابخانه های آسیب پذیر پرچم ها.
- بی پروا واد سنگ فرش – اسکن تصویر کانتینر ساخته شده آسان است.
- TFSEC / چگالی -اسکنرهای مادون قرمز. بله ، پیکربندی Terraform شما نیز سزاوار عشق است.
ما این موارد را در خط لوله CI/CD خود مانند تراشه های شکلات در خمیر کوکی پختیم.
هیچ کدی بدون اسکن کامل و شست دیجیتال به صورت زنده نمی رود.
شوک فرهنگی: گرفتن تیم در هیئت مدیره
این بود سخت ترین قسمت امنیت قبلاً مانند “شغل شخص دیگری” احساس می شد.
بنابراین ما فیلمنامه را چرخاندیم:
- میزبان کوتاه ناهار و یادگیری
- مشترک داستان های نقض دنیای واقعی – ترس انگیزه است
- هفتگی شروع شد “یکنوع بازی شبیه لوتو امنیتی“جایی که Devs برای رفع مشکلات زودتر امتیاز کسب کرد (برنده کارت قهوه گرفت. مردم به طرز عجیبی رقابتی شدند.)
امنیت تبدیل شد مسئولیت مشترک – یک بار نیست.
یکی دیگر از انگیزه ها بررسی چگونگی ساخت راه حل های WhizTech فرهنگ توسعه امنیتی خود بود-که ایده مسئولیت مشترک را برای ما عملی تر کرد.
نتیجه گیری: کشتی سریع ، کشتی ایمن
تعبیه امنیت در خط لوله DevOps شما در مورد نیست کاهش سرعت کارهابشر این در مورد است بعداً سوزانده نشدبشر
نیازی به تعمیرات اساسی خط لوله خود در طول شب نیست.
- با یک ابزار شروع کنید.
- یک اسکن
- یک مکالمه
اما شروعبشر
زیرا در دنیایی که هر خط کد یک درگاه بالقوه است ،
کسی همیشه در تلاش است قفل را انتخاب کنیدبشر
خانه DevOps خود را با قفل روی درها، نه فقط در جاده رانندگی.
و به یاد داشته باشید:
حمل و نقل سریع خنک است – اما حمل و نقل ایمن سردتر است.