İlginizi Çekebilir
  1. Ana Sayfa
  2. DevOps
  3. Secure DevOps Kit for Azure – Bölüm – 1

Secure DevOps Kit for Azure – Bölüm – 1

112619_1635_SecureDevOp1.png

Öncelikle bu yazı serisi içerisinde DevOps ve SecOps kavramlarının ne olduklarının detaylarına girmeyecegim, bunların ne tür çalışma prensiplerine sahip olduklarına MsHowto üzerinden veya Internet üzerinden kolayca bulabilirsiniz.   Nedir? hakkında bilmemiz en önemli durum, bu araç/tool artık nasıl isimlendirmek isterseniz Microsoft’un geliştirmiş olduğu resmi bir ürünü değil, MS Core Services Engineering & Operations (CSEO) tarafından uygulanan en iyi pratikleri, yapılandırmaları ve güvenlik politikalarını topluluklar ile paylaşma girişimidir. Secure DevOps Kit for Azure (AzSK), Microsoft BT’nin Azure’u benimsemesini hızlandırmaya yardımcı olmak için Microsoft’taki MS Core Services Engineering & Operations (CSEO) bölümü tarafından geliştirildi ve bizlere kullanıma sunuldu. Az Secure DevOps Kit, Yönetim ve Güvenlik üzerindeki kontrolleri sıkı sıkıya korurken, DevOps kültürünün farklı aşamalarında bulut kaynaklarını hızlı bir şekilde taramak, güvenli bir şekilde dağıtmak ve yönetmek için rehberlik sağlamak üzere AzSK ve onun belgelerine herkesin kolaylıkla erişebileceği bir araç veya yol gösterici olarak kullanılmaktadır.

Resim-1

Azure için Secure DevOps Kit’i (bundan böyle ‘AzSK’ olarak kısaltacağım), DevOps ekipleri için Azure Subscriptions ( Azure Abonelikleri ) ve Resource ( Azure Kaynakları – herhangi bir dağıttığınız kaynak, Storage Account, WebApp, VMs, Key Vaults vb. olabilir) güvenlik gereksinimi gereken her noktayı destekleyen Powershell scriptler, araçlar, eklentiler, yol gösteren dökümanlar ve otomasyon gibi yöntemler sunar. Daha kapsamlı otomasyon kullanmak ve güvenliği alışıla gelmiş/gelmeye çalışan kültürümüze yani DevOps içerisine iş akışlarına sorunsuzca entegre edebiliriz. MS Core Services Engineering & Operations (CSEO) tarafından önemli başlıklar altında derğelendirme açısından ayrılan Secure DevOps Kit for Azure, 6 adet farklı odak noktasıyla nasıl güvenli bir Azure ortamını elde etmemiz gerektiği konusunda yardımcı olmak için tasarlanmıştır. Sırayla bu başlıkları beraber inceleyelim.

  1. Azure Subscription: Güvenli bir Azure Subscription(aboneliği) elde etmek için aslında temel olarak dikkat etmemiz gereken birtakım bileşenler var. Bunların en başında çok iyi ve düzenli bir biçimde tasarlanmış Access Control yani Role-Based Access Control (Management Group ) gibi konular gelmektedir. Daha sonra yine sizin Subscription ( Azure Aboneliği ) seviyesinde olan Azure Policy mekanizmasının yine çok iyi bir şekilde yapılandırmanız gerekmektedir. Aralarında önemli ilişki olan konular özellikle Subscription, Management Group, Role-Based Access Control ve bunlarla yakından ilişkisi olan tasarım açısından Azure Policy unutmamak gerekir. Bununla beraber Azure AD’nin içerisinde Privilige Identity Management ( Azure Active Directory Premium gereksinimi doğmaktadır.) ise size daha farklı güvenlik katmanı saglayabiliyor. Abonelik seviyesinde işlem görmeyen Azure Security Center bizlere ucretsiz olarak sunuluyor. Bu hizmet Tenant seviyesinde olduğu için ve güvenlik tarafından sorumlu olduğumuz en önemli hizmet olduğu için Security Center ile ilgili detaylı Policy’ler yazmamız neredeyse şart. Bunun içinde Microsoft sizi Azure Security Center – Standard seviyesine (Ücretli ödeyerek elde ettiğiniz) yönlendirmektedir. Tenant bazinda yapacaklarımızi ve Abonelik seviyesinde dikkat etmemiz gereken konulardan bahsettik. Bahsetmemiz gereken bir diger konu ise, kaynak seviyesindeki güvenlik detayları. Tam bu noktada size Azure Resource Lock yapılandırması isaret edilmektedir. Bunun dışında olmazsa olmaz Azure Alerts’in çok faydalı olduğunu unutmamak gerekiyor. Tüm bu yapılandırmaların sonucunda Azure Subscription seviyesinde güvenlik temeline uyum sağlamış olacağız (Secure DevOps Kit for Azure bize sunduğu denetim detaylarına göre, bunların hepsi aslında, birçok uyum denetimi standardları takip edilerek geliştirilmiş.). Aynı zamanda yapılan tüm ayarların güvenli bir temele uygun olup olmadığını kontrol etmek mümkün olmalıdır. Özetle, birçok Security BaseLine takip edilmelidir. ( Five Disciplines of Cloud Governance, CIS Microsoft Azure Foundations Benchmark)
  2. Enable secure development: Herhangi bir uygulama/hizmetinizi develop ederken, varsayalım ki daha kuluçka döneminde veya orta seviye aşamalarında iken, Secure DevOps Kit for Azure bizlere developer ekibinin Cloud-Based bir hizmetin/ürün özelinde nasıl güvenli kod yazmalarının gerektiğini ve bulut uygulamalarının güvenliğinin nasıl sağlanacağını minimum seviyede bilmesi, yapılandırmasını test etme becerisine sahip olmaları gerektiğinden bahsediliyor. MS Core Services Engineering & Operations (CSEO) ekibi bu kısımda bizler için Azure’da çeşitli kaynak türlerinin güvenliğini kontrol edebilen bir kavramı hayatımıza sokuyor ve buna Security Verification Tests (SVTs) adını veriyor. Bu yöntemi Microsoft tıpkı bir Software Development sürecindeki Build Verification Tests ( BvT) benzetiyor aslında, Build Verification Tests ( BvT), en yalın haliyle daha ayrıntılı ve titiz test prosedürleri ile yüzleşmeyi ve bu yüzleşmeye hazır olup olmadığını değerlendirmek ve doğrulamak için her yeni yazılım sürümünde yapılan testler dizisidir. Ayrıca bu kısımda kesinlikle developerlar için ‘Security IntelliSense- VS Extension’ eklentisinin kullanilmasını öneriyor.
  3. Integrate security into CICD: Benimde inandığım ve MS Core Services Engineering & Operations (CSEO) ekibi tarafından da bahsedilen en önemli nokta, Test Automation Mühendisi, DevOps kültürünün temel yapı taşlarından olduğunu düşünüyorum. Secure DevOps Kit for Azure bizlere Azure DevOps’un bir parçası olmasını olanak sağlıyor ve bu sayede Azure DevOps içerisinde bahsettikleri Security Verification Test özelliği ile tüm test süreçleri için bir task oluşturup yazılan artefact’leri kolaylıkla test süreçinden geçirebiliyoruz. Bu tanımlanan Security Verification Test’leri, herhangi bir veya geliştirmiş olduğunuz bulut uygulamasını dağıtmak için kullanılan hedef aboneliğin veya uygulamanın dayandığı Azure kaynaklarının güvenli bir şekilde kurulmasını sağlamak için kullanılabilir durumdadır. DevOps özelinden bir örnek verelim, uygulamamı Azure üzerine dağıtmak için Azure Resource Manager Template’leri (Infrastucture as Code olarak) bunun testini yapabilme imkanım var. Bununla beraber kendi Unit Test’lerinizi Pester ile geliştirebilirsiniz harika olur. Geliştirmiş olduğum Resource Manager Template içerisinde yaptığım güvelik hatalarını veya olabilecek güvenlik sorunlarını görebilirim.
  4. Continuous Assurance: Kelime anlamından çıkaracağımız nokta bizim için en önemli şey aslında; yani sürekli güvence altında olmak ve en önemlisi bu guvenceyi sunabilmek. Bu kısımdaki MS Core Services Engineering & Operations (CSEO) ekibi tarafından anlaşılmak istenen yaklaşım güvenliği sürekli değişen, yenilenen bir süreç olarak ele alıyor. İşte bu yüzden Azure Kaynaklarının sık sık belirli bir mekanizma ile kontrol edilmesini ön görmemiz gerektiğinden bahsediyor. Bu kısımda bizlere Azure Automation içerisinde, Runbooks’lar ile bunların yapılması gerektiğinden bahsetmiş. Bizler ile paylaşmış olduğu Runbook kolleksiyonu aslında Azure Resource tek tek gezip herhangi bir sorun olduğunda bizim için o hataları düzeltmeyi hedefliyor. Security taramalarının hepsini Azure Automation tarafından yönetileceğini ve talebe göre otomatik olarak düzeltebileceğinizi söyleyebiliriz.
  5. Alerting & Monitoring: Azure kaynaklarının güvenlik durumunun görünürlüğüne çok önemli olduğuna vurgu yapılıyor. Uygulamaya sahip departmanlar tarafından veya ayrıca merkezi IT / DevOps ekipleri için çok büyük bir önem arz ettiğini ve bunları her iki ekip tarafından da görüntülenebilmesi için Operational Insight/ Log Analytics üzerinde Monitoring Solution olarak Azure Secure DevOps Kit eklentisi aktif edebiliyoruz. Bu eklenti sayesinde yukarıda yapılan tüm health check sonuçlarının detaylarını görebilir veya departmanlarınız ile paylaşabilirsiniz.
  6. Cloud Risk Governance: Yukarıda belirtmiş olduğum tüm maddeler haricinde Secure DevOps Kit for Azure içerisindeki en son bu madde, yukarıda yaptığımız tüm aşamaların bulut kaynaklarının risk yönetiminin, denetiminin, devamlı kontrol altında kalması aşamalarının sonuçlarının takip edilmesini sağlayacak. Bu aşamaya geldiğimiz zaman bize Application Insight kullanarak telemetrik veriler goruntulenebilecek ve sorgulanabilecek. Bu ise; bize firma uygulamalarının güvenlik sağlığının ihtiyaç duyulan ve yapılan iyileştirmelerden haberdar olmalarına yardımcı olacak.

    Secure DevOps Kit for Azure özelinde bulunan tüm başlikları tek tek inceledik. Şimdi ise AzSK nasıl bir profilin ihtiyacı olabilir, kimler tarafından ne için kullanılmak istendiğini inceleyim. Bu kısımda IT Organizasyonu veya DevOps eko sistemi içerisindeki kişilerden örneklere göz gezdirelim.

Tablo üzerinde görebileceğiniz gibi Departman veya Kişi bazında faydalarından bahsetmeye çalıştım. Kişi dememin en temel noktası ufak ölçekli organizasyonlarda yukarıda gördüğünüz iş yuklerinden aynı kişi sorumlu olabiliyor. Bir sonraki yazımızda artık Secure DevOps Kit for Azure abonelik seviyesinde nasıl kullanabildiğimizden bahsedeceğiz.

Yorum Yap

Yazar Hakkında

Hasan Güral, Profesyonel olarak 5 senedir bilişim sektöründe çalışmaktadır. Üniversite eğitimiyle birlikte sektörde sistem uzmanı pozisyonunda görev yaptı. Halen Bilge Adam Bilgi Teknolojileri Akademisi'nde Danışman olarak çalışmaktadır. Microsoft ürün ailesi ve network altyapıları ile ilgilenmektedir.

Yorum Yap