Aracılığıyla paylaş


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:

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ı .tfvarsda 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 taramasını etkinleştirmeye yönelik kurulum işlemini gösteren GIF görüntüsü

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.

Aracısız kod tarama mimarisini gösteren diyagram.

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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ı

  1. Bulut için Microsoft Defender Güvenlik önerileri sekmesine gidin.

  2. Aşağıdaki gibi bulguları içeren öneriler listesini gözden geçirin:

  3. 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.