Bulut için Microsoft Defender'da aracısız kod tarama
Bulut için Microsoft Defender'da aracısız kod taraması, Azure DevOps'taki tüm depolar için hızlı ve ölçeklenebilir güvenlik kapsamı sunar. Aracılara veya Sürekli Tümleştirme ve Sürekli Dağıtım (CI/CD) işlem hattı değişikliklerine gerek kalmadan kod ve kod olarak altyapı (IaC) kurulumlarındaki güvenlik açıklarını hızla bulur. Bu yaklaşım, tek bir Azure DevOps bağlayıcısı ile kurulumu ve bakımı basitleştirir ve geniş kapsamlı, sürekli içgörüler ve eyleme dönüştürülebilir güvenlik bulguları sağlar. Güvenlik ve geliştirme ekiplerinin geliştirme iş akışlarını kesintiye uğratmadan riskleri sorunsuz bir şekilde düzeltmeye odaklanmasını sağlar.
Önkoşullar
Sürüm durumu: Genel önizleme
Desteklenen kullanım örnekleri:
Bulutlar: Azure ticari bulutları
Desteklenen bölgeler: Doğu Avustralya, Orta Kanada, Orta ABD, Doğu Asya, Doğu ABD, Kuzey Avrupa, Orta İsveç, Güney Birleşik Krallık, Batı Avrupa
Desteklenen ortamlar: Azure DevOps bağlayıcısı
Roller ve izinler:
Bağlayıcıyı ayarlamak ve yapılandırmak için:
- Proje Koleksiyonu Yöneticisi: İlk kurulumu gerçekleştirmek için Azure DevOps'ta gereklidir.
- Abonelik Katkıda Bulunanı: Bağlayıcıyı oluşturmak ve yapılandırmak için Azure aboneliğinde gereklidir.
Güvenlik sonuçlarını görüntülemek için:
- Güvenlik Yöneticisi: Güvenlik ayarlarını, ilkeleri ve uyarıları yönetebilir ancak bağlayıcıyı değiştiremez.
- Güvenlik Okuyucusu: Önerileri, uyarıları ve ilkeleri görüntüleyebilir ancak değişiklik yapamaz.
Temel avantajlar
- Proaktif risk yönetimi: Geliştirme sürecinin erken aşamalarında riskleri belirleyin. Bu, güvenli kodlama uygulamalarını destekler ve güvenlik açıklarını üretime ulaşmadan önce azaltır.
- Zahmetsiz ekleme: En az yapılandırmayla ve işlem hattı değişikliği olmadan hızlı bir şekilde ayarlayın.
- Kurumsal ölçekli, merkezi yönetim: Tek bir bağlayıcı kullanarak birden çok depoda kodu otomatik olarak tarayın. Bu, büyük ortamlar için kapsamlı bir kapsam sağlar.
- Hızlı düzeltme için hızlı içgörüler: Eklemeden hemen sonra eyleme dönüştürülebilir güvenlik açığı içgörüleri alın. Bu, hızlı düzeltmeler sağlar ve pozlama süresini azaltır.
- Geliştirici dostu ve sorunsuz: Değişiklik veya doğrudan geliştirici katılımı gerekmeden sürekli tümleştirme ve sürekli dağıtım (CI/CD) işlem hatlarından bağımsız olarak çalışın. Bu, geliştirici üretkenliğini veya iş akışlarını kesintiye uğratmadan sürekli güvenlik izlemesine olanak tanır.
Risk algılama özellikleri
Aracısız kod tarama, hem kod hem de Kod Olarak Altyapı (IaC) şablonları için hedefli güvenlik önerileri sunarak güvenliği artırır. Bu, bağlayıcı aracılığıyla sağlanan Temel Bulut Güvenliği Duruş Yönetimi (CSPM) güvenlik önerilerine ek olarak sağlanır. Önemli algılama özellikleri şunlardır:
- Kod güvenlik açıkları: Birden çok programlama dilinde yaygın kodlama hatalarını, güvenli olmayan kodlama uygulamalarını ve bilinen güvenlik açıklarını bulun.
- Kod Olarak Altyapı yanlış yapılandırmaları: Güvenli olmayan dağıtımlara yol açabilecek IaC şablonlarındaki güvenlik yanlış yapılandırmalarını algılama.
Bağlayıcının oluşturulması, depolar, işlem hatları ve hizmet bağlantıları için temel bir güvenlik önerileri kümesi sağlayarak güvenliği artırır.
Tarama araçları
Aracısız kod tarama, kod ve Kod Olarak Altyapı (IaC) şablonlarındaki güvenlik açıklarını ve yanlış yapılandırmaları bulmak için çeşitli açık kaynak araçları kullanır:
Araç | Desteklenen IaC/Diller | Lisans |
---|---|---|
Haydut | Python | Apache 2.0 |
Checkov | Terraform IaC şablonları, Terraform plan dosyaları, AWS CloudFormation şablonları, Kubernetes bildirim dosyaları, Helm grafik dosyaları, Dockerfiles, Azure Azure Resource Manager (ARM) IaC şablonları, Azure Bicep IaC şablonları, AWS SAM şablonları (Sunucusuz Uygulama Modeli), Kustomize dosyaları, Sunucusuz çerçeve şablonları, OpenAPI belirtim dosyaları | Apache 2.0 |
ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
Şablon Çözümleyicisi | ARM IaC şablonları, Bicep IaC şablonları | MIT |
Bu araçlar çok çeşitli dilleri ve IaC çerçevelerini destekleyerek kod tabanınız genelinde kapsamlı güvenlik analizi sağlar.
Desteklenen platformlar ve dosya türleri
Sürüm denetim sistemleri
- Azure DevOps: Azure DevOps bağlayıcısı aracılığıyla bağlanan depolar için tam destek.
Programlama dilleri
- Python
- JavaScript/TypeScript
Kod Olarak Altyapı (IaC) platformları ve yapılandırmaları
IaC Platformu | Desteklenen dosya türleri | Notlar |
---|---|---|
Terraform |
.tf , .tfvars |
içindeki değişken dosyaları .tfvars da dahil olmak üzere HCL2 dilinde Terraform IaC şablonlarını destekler. |
Terraform Planı | JSON dosyaları | Analiz ve tarama için kullanılan planlı yapılandırmaları temsil eden JSON dosyalarını içerir. |
AWS CloudFormation | JSON, YAML dosyaları | AWS kaynaklarını tanımlamak için AWS CloudFormation şablonlarını destekler. |
Kubernetes | YAML, JSON dosyaları | Kümelerde yapılandırmaları tanımlamak için Kubernetes bildirim dosyalarını destekler. |
Helm | Helm grafiği dizin yapısı, YAML dosyaları | Helm'in standart grafik yapısını izler; Helm v3 grafik dosyalarını destekler. |
Docker | Dockerfile adlı dosyalar | Kapsayıcı yapılandırmaları için Dockerfile'ları destekler. |
Azure ARM Şablonları | JSON dosyaları | Azure Resource Manager (ARM) IaC şablonlarını JSON biçiminde destekler. |
Azure Bicep | .bicep dosyaları | ARM için etki alanına özgü bir dil (DSL) olan Bicep IaC şablonlarını destekler. |
AWS SAM | YAML dosyaları | Sunucusuz kaynaklar için AWS Sunucusuz Uygulama Modeli (SAM) şablonlarını destekler. |
Kustomize | YAML dosyaları | Kubernetes özelleştirmesi (Kustomize) için yapılandırma dosyalarını destekler. |
Sunucusuz Çerçeve | YAML dosyaları | Sunucusuz mimarileri tanımlamada Sunucusuz çerçeve için şablonları destekler. |
OpenAPI | YAML, JSON dosyaları | RESTful API'lerini tanımlamak için OpenAPI belirtim dosyalarını destekler. |
Azure DevOps kuruluşlarınızda aracısız kod taramasını etkinleştirme
Azure DevOps kuruluşlarınızı Bulut için Defender bağlamak ve aracısız kod taramasını etkinleştirmek için Azure DevOps kuruluşlarınıza bağlanma başlığındaki yönergelere bakın. Aşağıdaki görselde, sorunsuz ekleme için her adımda size yol gösteren hızlı ve basit kurulum işlemi gösterilmektedir.
Aracısız kod tarama nasıl çalışır?
Aracısız kod taraması CI/CD işlem hatlarından bağımsız olarak çalışır. Kod ve Kod Olarak Altyapı (IaC) yapılandırmalarını otomatik olarak taramak için Azure DevOps bağlayıcısını kullanır. İşlem hatlarını değiştirmeniz veya uzantı eklemeniz gerekmez. Bu kurulum, birden çok depoda geniş ve sürekli güvenlik analizi sağlar. Sonuçlar doğrudan Bulut için Microsoft Defender işlenir ve gösterilir.
Tarama işlemi
Bağlayıcı içinde aracısız kod tarama özelliğini etkinleştirdikten sonra tarama işlemi şu adımları izler:
- Depo bulma: Sistem, bağlayıcı oluşturulduktan hemen sonra ve ardından 8 saatte bir Azure DevOps bağlayıcısı aracılığıyla bağlanan tüm depoları otomatik olarak tanımlar.
- Kod alma: Analiz için her deponun varsayılan (ana) dalından en son kodu güvenli bir şekilde alır, önce bağlayıcı kurulumundan sonra ve sonra 3-4 günde bir.
- Analiz: Sistem, kod ve IaC şablonlarındaki güvenlik açıklarını ve yanlış yapılandırmaları bulmak için Bulut için Microsoft Defender içinde yönetilen ve güncelleştirilen bir dizi yerleşik tarama aracı kullanır.
- Bulguları işleme: Eyleme dönüştürülebilir güvenlik önerileri oluşturmak için Bulut için Defender arka ucu aracılığıyla tarama bulgularını işler.
- Sonuç teslimi: Sistem, bulguları Bulut için Defender güvenlik önerileri olarak gösterir ve güvenlik ekiplerinin sorunları gözden geçirmesine ve çözmesine olanak tanır.
Tarama sıklığı ve süresi
-
Tarama sıklığı:
- Bağlayıcıyı oluşturduğunuzda ve ardından 8 saatte bir depoların, işlem hatlarının ve hizmet bağlantılarının güvenlik duruşu değerlendirilir.
- Sistem, bağlayıcıyı oluşturduktan sonra ve 3-4 günde bir kod ve Kod Olarak Altyapı (IaC) şablonlarını güvenlik açıklarına karşı tarar.
- Tarama süresi: Taramalar, deponun boyutuna ve karmaşıklığına bağlı olarak genellikle 15-60 dakika içinde biter.
Tarama sonuçlarını görüntüleme ve yönetme
Taramalar tamamlandıktan sonra Bulut için Microsoft Defender içinde güvenlik bulgularına erişebilirsiniz.
Erişim bulguları
Bulut için Microsoft Defender Güvenlik önerileri sekmesine gidin.
Aşağıdaki gibi bulguları içeren öneriler listesini gözden geçirin:
Azure DevOps depolarında kod tarama bulguları çözümlenmelidir - Kod depolarında bulunan güvenlik açıklarını gösterir.
Kod tarama bulguları çözümlendikçe Azure DevOps depolarının altyapısı olmalıdır - Depolardaki IaC şablon dosyalarında algılanan güvenlik yanlış yapılandırmalarına işaret eder.
Azure DevOps bağlayıcısı tarafından oluşturulan diğer güvenlik önerileri şunlar olabilir:
- Azure DevOps depolarında Azure DevOps için GitHub Gelişmiş Güvenliği (GHAzDO) etkinleştirilmelidir
- Azure Pipelines'da çatal derlemeleri için kullanılabilir gizli diziler bulunmamalıdır
- Azure DevOps hizmet bağlantıları tüm işlem hatlarına erişim vermemelidir
- Gizli dizi değişkenleri olan Azure DevOps değişken grupları tüm işlem hatlarına erişim vermemelidir
- Azure DevOps Klasik Azure hizmet bağlantıları aboneliğe erişmek için kullanılmamalıdır
- (Önizleme) Azure DevOps depoları, kod göndermeleri için en az iki gözden geçiren onayı gerektirmelidir
- (Önizleme) Azure DevOps depoları istekte bulunanların kendi çekme isteklerini onaylamasına izin vermemelidir
- (Önizleme) Azure DevOps Projelerinde klasik işlem hatlarının oluşturulması devre dışı bırakılmalıdır
- Azure DevOps güvenli dosyaları tüm işlem hatlarına erişim vermemelidir
Etkilenen dosyalar, önem derecesi düzeyleri ve düzeltme yönergeleri de dahil olmak üzere ayrıntılı bilgi için herhangi bir öneri seçin.
Aracısız kod tarama ile işlem hattı içi tarama arasındaki fark
Microsoft Security DevOps uzantısını kullanan aracısız kod tarama ve işlem hattı içi tarama, Azure DevOps içinde güvenlik taraması sunar. Farklı ihtiyaçlara hizmet ederler ancak birlikte iyi çalışırlar. Aşağıdaki tabloda, güvenlik ve geliştirme gereksinimlerinize uygun seçeneği belirlemenize yardımcı olacak temel farklılıklar vurgulanır.
Görünüş | Aracısız kod tarama | İşlem hattı içi tarama |
---|---|---|
Büyük/küçük harfe uygun kullanma | Geliştiricilere minimum kesintiyle geniş kapsamlı kapsam sunar | Özelleştirilebilir denetimlerle ayrıntılı, işlem hattıyla tümleşik taramalar sağlar |
Tarama kapsamı ve kapsamı | Her 3-4 günde bir zamanlanan Kod Olarak Altyapı (IaC) ve kod güvenlik açığı taramasına odaklanır | her işlem hattı çalıştırması üzerinde tetiklenen ikili dosyalar ve kapsayıcı görüntüleri dahil olmak üzere kapsamlı kapsam sunar |
Kurulum ve yapılandırma | Bağlayıcı oluşturulduktan sonra başka kurulum gerektirmez | Her CI/CD işlem hattında el ile yükleme ve yapılandırma gerektirir |
İşlem hattı tümleştirmesi | İş akışlarını değiştirmeden (CI/CD) işlem hatlarından bağımsız olarak çalışır | CI/CD işlem hattı içinde tümleşir ve her işlem hattında yapılandırma gerekir |
Tarayıcı özelleştirmesi | Tarayıcılar özelleştirilemiyor veya seçmeli olarak çalıştırılamıyor | Belirli tarayıcılar, kategoriler, diller, duyarlılık düzeyleri ve Microsoft dışı araçlarla özelleştirmeye izin verir |
Sonuçlar ve geri bildirim | Bulut için Defender içindeki bulgulara erişim sağlar | CI/CD işlem hattı içinde gerçek zamanlıya yakın geri bildirim sunar ve sonuçlar Bulut için Defender |
Kesme ve hata ölçütleri | Derlemeler kesilemiyor | Güvenlik bulgularının önem derecesine göre derlemeleri kesecek şekilde yapılandırılabilir |
Ölçeklenebilirlik ve performans etkisi
Aracısız kod tarama, abonelikte kaynak oluşturmayı önler ve işlem hattı işlemi sırasında tarama gerektirmez. Meta verileri ve kodu çekmek için Azure DevOps REST API'sini kullanır. Başka bir deyişle API çağrıları Azure DevOps hız sınırlarına göre sayılır, ancak doğrudan veri aktarımı maliyetlerine neden olmazsınız. Hizmet, geliştirme ortamını kesintiye uğratmadan Azure DevOps hız sınırları içinde kalmalarını sağlamak için taramaları yönetir. Bu yöntem, DevOps iş akışlarını etkilemeden depolar arasında verimli, yüksek performanslı tarama sağlar. Daha fazla bilgi için bkz . Azure DevOps Hızı ve Kullanım Sınırları.
Aracısız kod tarama için veri güvenliği, uyumluluk ve erişim denetimi
Bulut için Microsoft Defender aracısız kod tarama hizmeti, katı veri güvenliği ve gizlilik önlemleri uygulayarak kodunuzun güvenli ve uyumlu bir şekilde işlenmesini sağlar:
- Veri şifreleme ve erişim denetimi: Sistem, aktarımdaki tüm verileri endüstri standardı protokolleri kullanarak şifreler. Kodunuza yalnızca yetkili Bulut için Defender hizmetleri erişebilir.
- Veri yerleşimi ve saklama: Taramalar, veri koruma yasalarına uymak için Azure DevOps bağlayıcınızla (ABD veya AB) aynı coğrafi bölgede gerçekleşir. Sistem yalnızca tarama sırasında kodu işler ve daha sonra uzun süreli depolama olmadan güvenli bir şekilde siler.
- Depolara erişim: Hizmet, Azure DevOps'un taramalar gerçekleştirmesi için güvenli bir erişim belirteci oluşturur. Bu belirteç, aboneliğinizde kaynak oluşturmadan gerekli meta verilerin ve kodun alınmasını sağlar. Yalnızca Bulut için Defender bileşenlerin erişimi vardır ve bu da veri bütünlüğünü korur.
- Uyumluluk desteği: Hizmet, veri işleme ve gizlilik için mevzuat ve güvenlik standartlarıyla uyumludur ve müşteri kodunun bölgesel veri koruma gereksinimlerine uygun olarak güvenli bir şekilde işlenmesini ve taranmasını sağlar.
Bu ölçüler, verilerinizin gizliliğini ve bütünlüğünü koruyarak güvenli, uyumlu ve verimli bir kod tarama işlemi sağlar.
Sınırlamalar (genel önizleme)
Genel önizleme aşamasında aşağıdaki sınırlamalar geçerlidir:
İkili tarama yok: Sistem yalnızca kod ve Kod Olarak Altyapı (IaC) dosyalarını tarar.
Tarama sıklığı: Depoları 3 günde bir tarar.
Depo boyutu: Taramayı 1 GB'ın altındaki depolara sınırlar.
Dal kapsamı: Taramalar yalnızca varsayılan (ana) dalı kapsar.
Araç özelleştirme: Tarama araçlarını özelleştiremezsiniz.