GitHub Advanced Security entegrasyonunu uygulama

Bu kılavuz, GitHub Gelişmiş Güvenlik (GHAS) ile Microsoft Defender for Cloud tümleştirmesini gerçekleştirmenize ve ardından tümleştirmeyi uçtan uca doğrulamanıza yardımcı olmak için kurulum adımları ve diğer işlemler sunar. Tümleştirme, daha hızlı yapay zeka destekli düzeltme için çalışma zamanı risklerini ve bağlamını kaynak kodla ilişkilendirerek Microsoft buluta özel uygulama güvenliğini en üst düzeye çıkarmaya 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 çalışma zamanı kaynaklarına bağlama.
  • GitHub'da bir güvenlik kampanyası başlatın. Bu kampanya, GHAS güvenlik uyarılarına öncelik vermek için çalışma zamanı 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.

Prerequisites

Aspect Ayrıntılar
Çevre gereksinimleri - Bulut için Defender'da oluşturulmuş bağlayıcıya sahip GitHub hesabı
- Bağlı depolarda GitHub Advanced Security (GHAS) lisansı
- Defender Bulut Güvenliği Duruş Yönetimi (DCSPM) planı abonelikte etkinleştirildi
- Microsoft Security Copilot (yapay zeka destekli otomatik düzeltme için isteğe bağlı)
Roller ve izinler - Güvenlik Yöneticisi izinleri
- Azure aboneliğinde Güvenlik Yöneticisi (Defender for Cloud bulguları görüntülemek için)
- GitHub kuruluş sahibi (depoları bağlamak ve güvenlik kampanyalarını yapılandırmak için)
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, güvenlik açığı bulunan bir kapsayıcı görüntüsü oluşturmak üzere tüm içeriğe sahip bir test GitHub deposu içeren kendi depolarınızı veya örnek bir korumalı alan projesini kullanın.

  1. Azure portalınaoturum açın.

  2. Microsoft Defender for Cloud>DevOps security adresine gidin.

  3. Arama çubuğuna kod deponuzun adını girin (Örnek: zava-webshop).

  4. Örneğin , zava-corporation kuruluşu gibi izlemekte olduğunuz kuruluşa ait olduğunu doğrulayın.

  5. Depo için herhangi bir tespit olup olmadığını gözden geçirin.

  6. Gelişmiş güvenlik durumununAçık olduğundan emin olun. Bu, izlenen depoda GitHub Gelişmiş Güvenlik'in etkinleştirildiğini gösterir.

  7. Deponuz bulunamazsa sorun giderme ve GitHub bağlayıcı ekleme için Microsoft Defender for Cloud belgelerine bakın.

  8. GitHub bağlayıcınız için aracısız taramanın açık olduğundan emin olun.

     Aracısız kod tarama açıkken ve tüm tarayıcı seçenekleri etkinken Defender CSPM Plan Yapılandırması ekran görüntüsü.

2. Adım: Ortamınızın hazır olduğunu doğrulama

Doğrulama, ortamınızın kodu çalışma zamanı önerilerine aktaracak ve eyleme dönüştürülebilir sonuçlar oluşturacak şekilde doğru yapılandırıldığını onaylar. Bu adım sırasında Defender şunları doğrular:

Tam koddan çalışma zamanı görünürlüğüne

  • Microsoft Defender for Cloud, güvenlik açıkları için kaynak kod depolarını sürekli izler.
  • Kapsayıcı görüntüleri gibi derleme yapıtları dağıtımdan önce kapsayıcı kayıt defterlerinde taranır.
  • Kubernetes kümelerine dağıtılan çalışma zamanı iş yükleri güvenlik riskleri açısından izlenir.
  • Defender for Cloud koddan derleme ve dağıtım aşamalarına, oradan da çalışma zamanı sırasında ve geriye doğru her bir işlevsel bileşeni ilişkilendirir ve izler.

Note

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

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

Microsoft Defender for Cloud>Cloud Güvenlik Gezgini gidin ve sorguyu gerçekleştirin. Doğrulama sorguları, Defender işlem hatlarınız ve iş yükleriniz tarafından üretilen yapıtları tanımlayıp tanımlayamayacağını test eder. Sorgular sonuç döndürürse tarama ve bağıntının beklendiği gibi çalıştığını gösterir.

Konteyner görüntülerine GitHub deposu aktarımı sorgusu gösteren Defender for Cloud’un Cloud Security Explorer ekran görüntüsü.

Note

Sonuç döndürülmezse, bu, artefaktların henüz oluşturulmadığını, taramanın yapılandırılmadığını veya izinlerin eksik olduğunu gösterebilir. Daha fazla bilgi için bkz. Kullanıcı rolleri ve izinleri .

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

  2. Sorgunuza, dağıtımınıza özgü koşulları ekleyin.

     GitHub deposu gönderimlerinin güvenlik açıklarına sahip kapsayıcı görüntülerine yönelik sorguyu gösteren Defender for Cloud Bulut Güvenlik Gezgini ekran görüntüsü.

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

     Güvenlik açıkları olan kapsayıcı görüntülerine GitHub gönderme sorgusunu gösteren Defender for Cloud Bulut Güvenlik Gezgini ekran görüntüsü.

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

Note

Bu adım yalnızca ortamınızda risk faktörleri henüz yapılandırılmamışsa gereklidir. Risk faktörlerini zaten kullanıyorsanız, ayarların yapılandırmasını Ayarlar > Kaynak kritikliği bölümünden doğrulayabilirsiniz.

Başarılı doğrulama, öneriler, kampanyalar ve GitHub sorun oluşturma gibi sonraki adımların anlamlı sonuçlar üretmesini sağlar.

Note

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.

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

Tarama kampanyası oluşturmak için GitHub kuruluş düzeyinde çalışmanız gerekir. Bu deneyim bireysel depo düzeyinde mevcut değil.

  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.

  3. Bu kampanya, gerçekten dağıtılan ve çalışan koda ait GHAS bulgularının önceliğini belirlemeye yardımcı olur.

  4. Kampanya için Çalışma Zamanı Riskleri filtreleri'ni seçin.

    GitHub kod tarama kampanyası oluşturma ekran görüntüsü: filtre çubuğu, Filtre düğmesi ve yapıt meta verisine göre filtrelemeyle ilgili bir araç ipucu.

    GitHub'da kampanya oluşturma içindeki gelişmiş filtreler iletişim kutusunun ekran görüntüsü, Çalışma Zamanı Riski filtresi ve açık olan seçilebilir risk faktörleri menüsü ile birlikte.

  5. Kaydet>Kampanya olarak yayımla. Gerekli bilgileri girin ve kampanyayı yayımlayın.

  6. Kampanya ilerleme durumunu izleyin.  Süresi geçmiş durumu, kampanya ilerleme çubuğu, kritik uyarılar listesi ve filtre seçeneklerini gösteren GitHub kampanya sayfasının ekran görüntüsü.

4. Adım: Öneriler mobilizasyonu

Güvenlik sorunlarının durumunu anlamak için çalışan Kapsayıcılar VA tavsiyelerinin koddan çalışma zamanına dönüşüm işlevselliğini ve tanımlanan CVE'lerin Dependabot güvenlik uyarılarıyla ilişkilendirilmesini kullanın. Ardından çözüm önerisini koddan çalışma zamanına eşlemeye göre ilgili mühendislik ekibine atayabilirsiniz.

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

  2. Kod deponuzdan oluşturduğunuz kapsayıcının adını arayın.

  3. Güncelleştirme yazılımı önerilerinden birini açın; öneri adı Güncelleştirme ile başlar

  4. öneri değerlendirme akışının bir parçası olarak güvenlik uyarıları görünür İlişkili CVEs sekmesini seçin. Bu uyarılar, mühendislik tarafından bilinen GitHub Gelişmiş Güvenlik bulguları hakkında göstergeler sağlar. Bazı CVE kimliklerinin İlgili GitHub Uyarıları sütununda GitHub'da Görüntüle bağlantısı olduğunu unutmayın.

     CVE-2024-21409 uyarılarını, düzeltme durumunu, CVSS puanlarını ve GitHub uyarı ayrıntılarını gösteren Defender for Cloud Bulguları sekmesinin ekran görüntüsü popup.

İlgili GHAS güvenlik uyarısını açmak için bağlantıyı seçin. (GitHub'da GHAS uyarı içeriğini görüntülemek için ilgili GitHub deposuna erişim izinleriniz olmalıdır. Erişim izinleriniz yoksa, bağlantıyı istediğiniz zaman sonraki kullanım için kopyalayabilir veya GitHub yöneticinize başvurabilirsiniz.)

Bir uyarı zenginleştirmesi varsa, mühendislik tarafından zaten bilinen eşleştirilmiş bir Dependabot uyarısı vardır. Durum Etkinse, henüz kimse bunu düzeltmemiştir ve bir düzeltme için soruna öncelik verilmesi gerekir.

Bulgular zenginleştirilmezse, bu durum düzeltme için önceliklendirilmeleri gereken ve mühendislik ekibinin bilmediği bir çalışma zamanı riskini gösterir.

Sırada ne var? Düzeltme için ilgili ekibin kim olduğunu nasıl bilebilirim? Düzeltmede hangi bağlamın mühendislik konusunda yardımcı olabileceğini nasıl bilebilirim?

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 issue’su, düzeltme ve test süreçlerine yardımcı olabilecek, çalışma zamanı ve kapsayıcı SDLC’siyle ilgili diğer bağlamlarla birlikte, öneri kapsamındaki tüm CVE kimliklerini içerecek şekilde kaynak kod deposunda otomatik olarak oluşturulur.

Öneri görünümünde, düzeltme çalışmalarını izlemek için açıkça bir GitHub sorunu oluşturabilirsiniz.

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

    Risk seviyelerini gösteren koddan çalışma zamanına giden diyagram ve Çalışma Zamanı kutusunda Harekete Geç menüsünü gösteren Düzeltme İçgörüleri'nin ekran görüntüsü.

    1. Düzeltme İçgörüleri sekmesinde, etkilenen Çalışma Zamanı kutusunu gözden geçirin.

    2. GitHub sorununun zaten var olup olmadığını doğrulayın. GitHub sorunu zaten varsa, kutuda bir GitHub simgesi görüntülenir. Sorun ayrıntılarını görüntülemek için simgenin üzerine gelin.

    3. Sorun yoksa ve gerekli izinlere sahipseniz yeni bir GitHub sorunu oluşturabilirsiniz. Eylem gerçekleştir'i seçin.

    4. Açılan menüden Genel GitHub sorunu seçeneğini belirleyin.

    5. Sorun başarıyla oluşturulduysa, sorunun bağlantısını içeren bir açılır bildirim görürsünüz. Sorun kaynağın kod deposunda oluşturulur.

      Bağımlılıklar için Defender for Cloud ve güvenlik gibi etiketlerle açık sorunları gösteren GitHub sorunlar listesinin ekran görüntüsü.

    Note

    Generate GitHub sorun oluşturma seçeneği kullanılamıyorsa, gerekli GitHub veya depo izinleri eksik olabilir. Erişim istemek için GitHub veya depo yöneticinize başvurun.

     Defender for Cloud ve güvenlik etiketleriyle açık bağımlılık için oluşturulan GitHub sorununu gösteren ekran görüntüsü.

    1. Sahipliği ve durum güncellemelerini izleyin - GitHub'da sorun durumunda veya atamada yapılan değişiklikler Microsoft Defender for Cloud'a yansıtılır ve sahipliği ve düzeltme ilerlemesini Recommendations görünümünden izlemenizi sağlar.

      GitHub sorun detayları açılır penceresi ile birlikte yüksek riskli sorunları gösteren Microsoft Defender for Cloud Önerileri sayfasının 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.