DevSecOps yazılım geliştirme yaşam döngüsünün her adımına güvenlik katmanını dahil ederek hızlı ve güvenli uygulama geliştirmeyi mümkün kılmaktadır. Development (geliştirme), Security (güvenlik), Operations (operasyon) kavramlarının birleşmesi ile oluşmuştur.
DevSecOps ilgili yazılım şirketinin güvenliğe yaklaşımını temsil eder. DevOps süreçlerinde güvenlik tüm yazılım geliştirme döngüsünün sonunda eklenir, ayrı bir kalite güvence ekibi tarafından test edilirdi.
Bu işlem yazılım güncellemelerinin yılda 1-2 kez yayınlandığı durumlarda sorun oluşturmamaktaydı. Ancak yazılım geliştirme sürecini bir kaç güne düşürmeyi hedefleyen çevik yazılım geliştirme ve DevOps kavramları sonradan güvenlikle ayrı olarak ilgilenmeyi imkansız hale getirdi.
DevSecOps kavramı işte tam da bu noktada ortaya çıktı. DevOps ve çevik yazılım geliştirme adımlarının her adımından sonra bir güvenlik adımı eklendi. Böylece güvenliği uygulama bittiğinde ve yayına alınacağında sonradan yama gibi bitmiş uygulamanın üzerine yapıştıracağına, üretimin ve operasyonun her adımında güvenlik sorunlarının tam olarak çıktığı yerlerde ele alır.
Ayrıca DevSecOps kavramında uygulama güvenliği tek bir kişinin veya grubun sorumluluğu olmak yerine geliştirme, güvenlik ve BT operasyonları ekiplerinin ortak sorumluluğu haline geldi. Güvenli yazılımın yazılım geliştirme döngüsünü yavaşlatmadan, yazılım geliştirme ile paralel olarak ilerletilmesine DevSecOps nedir.
DevSecOps Kavramının Faydaları
DevSecOps’un faydaları oldukça basittir. Yazılım geliştirme ve operasyon süreci boyunca yaşanılabilecek güvenlik sorunlarını yerinde ortadan kaldırır. Güvenliği DevOps süreçlerinin içerisine dahil etmek isteyen ekipler/şirketler bu işlemi DevSecOps kavramı ile sağlayabilir.
Tipik bir DevSecOps geliştirme modeline bakacak olursak:
- Bir yazılım geliştiricisi sürüm kontrol sisteminin içerisinde bir kod oluşturur.
- Yapılan değişiklikler sürüm kontrol sistemine bağlıdır.
- Başka bir geliştirici yazılan bu kodu sürüm kontrol sisteminin içerisinden alır ve kodun içerisindeki güvenlik hatalarına sebep olabilecek kısımların belirlenmesi için kodun analizini yapar ve ilgili güvenlik hatalarını giderir.
- İlgili kod parçacığı sürüm kontrol sistemine farklı bir sürüm numarasıyla kaydedilir. Bu işlemler uygulamanın tüm kod parçacıkları bitene ve çalışmaya hazır hale gelene kadar devam eder.
- Daha sonra bir altyapı aracı kullanılarak (sanal sunucu, bulut, docker vb.) uygulama dağıtılır ve güvenlik yapılandırmaları ilgili sisteme uygulanır.
- Sonrasında ilgili uygulama UI, entegrasyon, API ve güvenlik testleri gibi bir dizi testten geçirilir ve bu test sırasında (varsa) bulunan hatalar ilgili birimler tarafından giderilir.
- Uygulama yukarıdaki testleri geçerse canlı ortama alınır.
- Bu yeni uygulama sisteme yönelik aktif güvenlik tehtitlerini tespit edebilmek için sürekli izlenir.
Neden DevSecOps’a İhtiyaç Var?
DevOps uygulamaları hız, işlevsellik ve ölçek konusunda öne çıkarken, çoğu zaman güvenlik ve uyumluluktan yoksundur. Bu nedenle DevSecOps kavramı ile güvenliğin yazılım geliştirme, test ve operasyon kısımlarının içerisine dahil edilmesi gerekmektedir.
Güvenlik konundaki sorumluluğun yazılım geliştirme ve operasyon ekiplerine eşit bir şekilde dağıtılmasını sağlamak, uygulama geliştirme yapan her kuruluş için zorunludur. Güvenlik uygulamaları ve DevOps kavramları birbirlerine entegre edildiğinde ürün geliştirmesinde ve operasyonunda daha kolay bir şekilde güvenlik sağlanır.
Top comments (0)