Aracılığıyla paylaş


Bulut için Microsoft Defender ile GitHub Gelişmiş Güvenlik tümleştirmesi dağıtma

Bu kılavuz, GitHub Advanced Security (GHAS) ve Bulut için Microsoft Defender'ı tümleştirmenize yardımcı olacak kurulum adımlarında ve diğer eylemlerde size yol gösterir. Bu tümleştirme, Microsoft'un bulutta yerel uygulama güvenliğini en üst düzeye çıkarmanıza yardımcı olur.

Bu kılavuzu izleyerek:

  • Bulut için Defender kapsamı için GitHub deponuzu ayarlayın.
  • Çalışma zamanı risk faktörü oluşturun.
  • Bulut için Defender'da gerçek kullanım örneklerini test edin.
  • Kodu bulut kaynaklarına bağlama.
  • GitHub'da bir güvenlik kampanyası başlatın. Bu kampanya, çalışma zamanı bağlamına dayalı olarak GHAS güvenlik uyarılarına öncelik vermek için bu bağlamı kullanır.
  • Düzeltmeyi başlatmak için Bulut için Defender'dan GitHub sorunları oluşturun.
  • Mühendislik ve güvenlik ekipleri arasındaki koordinasyonu tamamlayın.

Önkoşullar

Görünüş Ayrıntılar
Çevre gereksinimleri - Bulut için Defender'da oluşturulmuş bağlayıcıya sahip GitHub hesabı
- GHAS lisansı
- Abonelikte Etkinleştirilen Defender Bulut Güvenliği Duruş Yönetimi (CSPM)
- Microsoft Security Copilot (otomatik düzeltme için isteğe bağlı)
Roller ve izinler - Güvenlik Yöneticisi izinleri
- Azure aboneliğinde Güvenlik Okuyucusu (Bulut için Defender'daki bulguları görüntülemek için)
- GitHub kuruluş sahibi
Bulut ortamları - Yalnızca ticari bulutlarda kullanılabilir (Azure Kamu'da, 21Vianet tarafından sağlanan Azure'da veya diğer bağımsız bulutlarda kullanılamaz)

Ortamınızı hazırlama

1. Adım: GitHub deposunu ayarlama ve iş akışını çalıştırma

Tümleştirmeyi test etmek için kendi depolarınızı veya güvenlik açığı olan bir kapsayıcı görüntüsü oluşturmak için tüm içeriği içeren örnek bir GitHub deposunu kullanın. Depo ayarlamadan önce şunları yaptığınızdan emin olun:

Örnek bir depo kullanmak istiyorsanız aşağıdaki depoyu GitHub kuruluşunuza kopyalayın: build25-woodgrove/mdc-customer-playbook. Bu depo müşterilerin Bulut için Defender ve GHAS tümleştirmesini test etmelerini sağlar. GHAS etkindir ve Defender CSPM'nin etkin olduğu bir Azure kiracısına dahil edilmiştir.

Depoda şu adımları izleyin:

  1. Ayarlar'a gidin.

  2. Sol bölmede Gizli bilgiler ve değişkenler> ve Eylemler seçin. Ardından Yeni depoya ait gizli'yi seçin.

    GitHub'da yeni bir depo gizli dizisi oluşturmaya yönelik seçimlerin ekran görüntüsü.

  3. Depo ya da kuruluş seviyesinde aşağıdaki gizli anahtarları ekleyebilirsiniz:

    Variable Description
    ACR_ENDPOINT Kapsayıcı kayıt defterinin oturum açma sunucusu
    ACR_USERNAME Kapsayıcı kayıt defterinin kullanıcı adı
    ACR_PASSWORD Kapsayıcı kayıt defterinin parolası

    Uyarı

    Adlar serbestçe seçilebilir ve belirli bir deseni izlemesi gerekmez.

    Bu bilgileri Azure portalında aşağıdaki adımları izleyerek bulabilirsiniz:

    1. Dağıtmak istediğiniz kapsayıcı kayıt defterini seçin.

    2. Ayarlar'ın altında Erişim anahtarları'nı seçin. Erişim anahtarları bölmesinde oturum açma sunucusu, kullanıcı adı ve parolanın anahtarları gösterilir.

      Azure portalında bir kapsayıcı kayıt defteri için erişim anahtarlarını listeleyen bölmenin ekran görüntüsü.

  4. Deponuzda Eylemler'i seçin.

  5. Oluştur ve ACR'ye Gönder iş akışını ve ardından İş akışını çalıştır'ı seçin.

    GitHub deposunun iş akışı geçmişini ve iş akışını çalıştırma düğmesini gösteren Eylemler bölümünün ekran görüntüsü.

  6. Görüntünün kapsayıcı kayıt defterinize dağıtıldığını denetleyin.

    Örnek depo için, görüntünün mdc-mock-0001 adlı ve mdc-ghas-integration etiketine sahip bir kayıt defterinde olması gerekir.

  7. Kümenizde çalışan bir kapsayıcıyla aynı görüntüyü dağıtın. Bu adımı tamamlamanın bir yolu, kümeye bağlanmak ve komutunu kullanmaktır kubectl run . Aşağıda Azure Kubernetes Service (AKS) için bir örnek verilmiştir:

    1. Küme aboneliğini ayarlayın:

      az account set --subscription $subscriptionID
      
    2. Küme için kimlik bilgilerini ayarlayın:

      az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existing
      
    3. Görüntüyü dağıtın

      kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration
      

2. Adım: İlk risk faktörünü oluşturma (iş açısından kritik kural)

Bulut için Defender'ın bu tümleştirme için algılayan risk faktörlerinden biri iş açısından kritikliktir. Kuruluşlar, kaynakları iş açısından kritik olarak etiketlemek için kurallar oluşturabilir.

  1. Bulut için Defender portalında Ortam ayarları>Kaynak kritikliği'ne gidin.

  2. Sağ bölmede Microsoft Defender'ı açmak için bağlantıyı seçin.

    Microsoft Defender portalını açmaya yönelik seçimleri gösteren Bulut için Defender arabiriminin ekran görüntüsü.

  3. Yeni sınıflandırma oluştur'u seçin.

    Yeni sınıflandırma oluşturmaya yönelik düğmenin ekran görüntüsü.

  4. Ad ve açıklama girin.

  5. Sorgu oluşturucusunda Bulut kaynağı'nı seçin.

  6. Kaynak Adı'nı doğrulama için kümenize dağıttığınız kapsayıcının adına eşit olacak şekilde ayarlamak için bir sorgu yazın. Sonra İleri'yi seçin.

    Bulut kaynağı için bir kaynak adı filtresi uygulanmış Microsoft Defender sorgu oluşturucusunun ekran görüntüsü.

  7. Varlıkları Önizleme sayfasında, Microsoft Defender kaynağınızı zaten algılamışsa, kapsayıcının adı K8s-container veya K8s-pod varlık türüyle birlikte görünür.

    Ad henüz görünür olmasa bile sonraki adımla devam edin. Microsoft Defender, kapsayıcıyı algıladıktan sonra kapsayıcıya kritiklik etiketini uygular. Bu işlem 24 saat kadar sürebilir.

  8. Bir kritiklik düzeyi seçin ve sınıflandırma kuralınızı gözden geçirip gönderin.

3. Adım: Ortamınızın hazır olduğunu doğrulayın

Uyarı

Aşağıdaki sonuçları görmek için önceki adımların uygulanması 24 saat kadar sürebilir.

  1. GitHub aracısız taramanın depoyu alıp almadığını test edin.

  2. Bulut Güvenlik Gezgini'ne gidin ve sorguyu gerçekleştirin.

    Filtrelerin GitHub depolarına ve kapsayıcı görüntülerine ayarlandığı Bulut Güvenlik Gezgini sorgu oluşturucusunda arama sonuçlarının ekran görüntüsü.

  3. Bulut için Defender'ın (Azure Container Registry'de) kapsayıcı görüntüsünü taradığını ve kapsayıcı oluşturmak için kullandığını doğrulayın. Sorgunuza, dağıtımınıza özgü koşulları ekleyin.

    GitHub depoları ve kapsayıcı görüntüleri için filtreler içeren bir sorgunun tarama sonuçlarını gösteren Bulut Güvenlik Gezgini'nin ekran görüntüsü.

  4. Kapsayıcının çalıştığını ve Bulut için Defender'ın AKS kümesini taradığını doğrulayın.

    GitHub depoları ve kapsayıcı görüntüleri için filtreler içeren Bulut Güvenlik Gezgini sorgu sonuçlarının ekran görüntüsü.

  5. Bulut için Defender tarafında risk faktörlerinin doğru yapılandırıldığını doğrulayın. Defender for Cloud envanter sayfasında kapsayıcı adınızı arayın; kritik olarak işaretlendiğini görmelisiniz.

4. Adım: GitHub kampanyası oluşturma

İş akışı, risk faktörlerinden (iş açısından kritik) biriyle çalışan bir kapsayıcı oluşturan bir görüntü dağıttığı için geliştiriciler GitHub'da risk faktörlerini görebilir.

Uyarı

Kaynağınızı kritik olarak sınıflandırdıktan sonra Bulut için Defender'ın verileri GitHub'a göndermesi 12 saate kadar sürebilir. Daha fazla bilgi edinin.

  1. GitHub'da, kurulum testi için kullandığınız GitHub kuruluşuna gidin.

  2. Güvenlik>Kampanyaları>Kod tarama filtrelerinden kampanya >oluştur'useçin.

    GitHub'da kod veya gizli dizi tarama filtrelerinden kampanya oluşturma seçeneklerinin ekran görüntüsü.

  3. Aşağıdaki kampanyayı oluşturun. Bu kampanya, depodan dağıtılan görüntünün kritik bir kaynağa bağlı olduğu orta önem derecesine sahip açık uyarıları gösterir. Test deponuz bu kampanyada tespit edilmelidir.

    Açık uyarılar, önem derecesi ve çalışma zamanı riski filtreleri içeren gitHub kampanyasının ekran görüntüsü.

  4. Kaydet>Kampanya olarak yayımla.

  5. Gerekli bilgileri girin ve kampanyayı yayımlayın.

5. Adım: Koddan buluta önerileri değerlendirme

Güvenlik sorunlarının durumunu anlamak için koddan buluta önerileri ve güvenlik uyarılarını kullanın. Ardından, Dependabot güvenlik uyarıları ile Bulut için Defender'daki yaygın güvenlik açıkları ve açığa çıkarma (CVE) kimlikleri arasındaki bağlantının yardımıyla çözüm önerisini ilgili mühendislik ekibine atayabilirsiniz.

Koddan buluta geçiş önerilerini görmek için:

  1. Bulut için Defender portalında Öneriler sekmesine gidin.

  2. Oluşturduğunuz kapsayıcının adını arayın. Ardından , Güncelleştir sözcüğünü içeren önerilerden birini açın.

    Örnek depoyu kullandıysanız , Küme ayracı genişletme önerisini güncelleştir'i arayın.

  3. Düzeltme İçgörüleri sekmesine gidin ve koddan buluta diyagramı görüntüleyin. Diyagram, çalışan kapsayıcınızı kod deposundaki kapsayıcı görüntüsüne ve GitHub'daki kaynağın kod deposuna eşler.

    Bağlantılı geliştirme aşamalarının diyagramını gösteren Düzeltme İçgörüleri sekmesinin ekran görüntüsü.

Güvenlik uyarılarını görüntüleme

  1. İlişkili CVE'ler sekmesini seçin. Bazı CVE kimliklerinin İlgili GitHub Uyarıları sütununda GitHub'da Görüntüle bağlantısı olduğuna dikkat edin.

  2. İlgili GHAS güvenlik uyarısını açmak için bağlantıyı seçin.

İlişkili bir GitHub uyarısının bağlantısını gösteren İlişkili CVE'ler sekmesinin ekran görüntüsü.

GitHub sorunu oluşturma

Güvenlik ve mühendislik ekipleri arasındaki döngünün kapatılması için, mühendislik ekibinin odaklanması gereken güvenlik sorunlarına öncelik veren bir GitHub sorunu oluşturabilirsiniz. Bu önceliklendirme, GHAS tarafından tespit edilmeyen ancak doğrudan bağımlılıkların parçası olmayan CVE kimlikleri için Defender for Cloud tarafından algılanan bulguları iletmeyi içerebilir. Bu bulgular temel görüntü, işletim sistemi veya NGINX gibi yazılımlardaki güvenlik açıklarını içerebilir.

GitHub sorunu, öneri kapsamında bulunan tüm CVE kimlikleriyle otomatik olarak oluşturulur. Öneri, Dependabot uyarı eşleşmelerinin varlığı veya yokluğunda ve kaynak depodaki diğer çalışma zamanı bağlamlarını da kapsayacak şekilde yapılır.

Güvenlik ve güvenlik açığı etiketleriyle işaretlenmiş üç girişi gösteren GitHub sorun listesinin ekran görüntüsü.

Sorunu atadığınızda, bulut için Defender portalında sorun durumu güncelleştirilir.

CVE kimlikleri, çalışma zamanı risk faktörleri ve dağıtım bilgileri gibi ayrıntılar da dahil olmak üzere güvenlik ve güvenlik açığı etiketleriyle ilgili GitHub sorununun ekran görüntüsü.

Etkili düzeltmeler yapın

GitHub tarafında GitHub Copilot lisansınız varsa Sorunu GitHub kodlama aracısının yardımıyla çözebilirsiniz:

  1. Soruna bir GitHub kodlama aracısı atayın.
  2. Oluşturulan düzeltmeyi gözden geçirin.
  3. Düzeltme makul görünüyorsa uygulayın.
  4. Bulut için Defender'ın sorun durumunu Kapalı olarak güncelleştirdiği gözlemleyin.