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
- Defender for Cloud'ta bulguları görüntülemek için Azure aboneliğinde Güvenlik Yöneticisi rolü
- Depoları bağlamak ve güvenlik kampanyalarını yapılandırmak için GitHub organizasyon 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

Entegrasyonu doğrulamadan önce GitHub deposunu ve Defender for Cloud ayarlarını yapılandırmak için aşağıdaki adımları tamamla.

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

Entegrasyonu test etmek için kendi depolarınızı veya örnek bir sandbox projesini kullanın. Sandbox projesi, savunmasız bir konteyner imajı oluşturmak için ihtiyacınız olan her şeyi içeren bir test GitHub deposu sunuyor.

  1. Azure portalınaoturum açın.

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

  3. Kod depo adınızı arama çubuğuna girin, örneğin 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 ayar, izlenen depoda GitHub Gelişmiş Güvenliği'nin etkin olduğunu gösterir.

  7. Deponuz bulunamıyorsa, sorun giderme ve kurulum yönergeleri için GitHub bağlayıcısı kullanıma alma hızlı başlangıç kılavuzuna 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

Bu ortam doğrulaması, depo ve bulut kaynaklarınızın doğru kurulduğunu doğrular. Defender'ın koddan çalışma zamanına uzanan öneriler gösterebildiğini ve faydalı sonuçlar üretebildiğini kontrol eder. Ortam doğrulama aşamasında, Defender şunları doğrular:

  • 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

Önceki adımların uygulanmasından sonra sonuçları görmek 24 saate kadar sürebilir.

Koddan çalışma zamanına kadar tam görünürlüğü doğrulama

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.

GitHub deposu gönderimlerine ilişkin kapsayıcı görüntüleri sorgusunu gösteren Defender for Cloud Cloud Security Explorer'ının ekran görüntüsü.

Note

Sonuç döndürülmezse, artefaktlerin henüz oluşturulmamış olabileceğini, taramanın doğru yapılandırılmamış olabileceğini veya izinlerin eksik olabileceğini gösterebilir. Daha fazla bilgi için bkz. Kullanıcı rolleri ve izinleri .

  1. Azure Container Registry'de, Defender for Cloud'un konteyner imajını taradığını ve bunu bir konteyner oluşturmak için kullandığını doğrulayın.

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

    Güvenlik açıkları içeren kapsayıcı görüntülerine GitHub deposundan yapılan göndermelere ilişkin bir sorguyu gösteren Defender for Cloud'un Cloud Security Explorer 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ı bulunan kapsayıcı imajlarına yapılan GitHub gönderimlerine yönelik bir sorguyu gösteren Defender for Cloud'daki Cloud Security Explorer 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. Konteyner adınızı Defender for Cloud envanter sayfasında arayın. Bunu kritik olarak işaretlenmiş görmelisiniz.

Note

Bu adım yalnızca ortamınızda risk faktörleri henüz yapılandırılmamışsa gereklidir. Zaten risk faktörlerini kullanıyorsanız, yapılandırmalarını Settings>Resource Criticality 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 için Dependabot önceliği ve kod tarama uyarılarına bakınız.

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

Tarama kampanyası oluşturmak için GitHub organizasyon seviyesinde çalışın. 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.

    Çalışma zamanı riski kampanyası, gerçekten dağıtılmış ve çalışan koda ait olan GitHub Gelişmiş Güvenlik (GHAS) bulgularını önceliklendirmeye yardımcı olur.

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

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

  5. 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ü.

Adım 4: Önerilere göre hareket edin

Çalışır durumdaki Containers VA önerilerini, koddan çalışma zamanına işlevselliğini ve tanımlanan CVE'lerin Dependabot güvenlik uyarılarıyla ilişkilendirilmesini kullanarak güvenlik sorunlarının durumunu anlayı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üncelleme yazılımı önerilerinden birini açın. Öneri adı Güncelleme ile başlar.

  4. Bağlantılı CVE'leri seçin.

    Güvenlik uyarıları, öneri değerlendirme akışının bir parçası olarak görünür. Bu uyarılar, mühendislik tarafından bilinen GitHub Gelişmiş Güvenlik bulguları hakkında göstergeler sağlar. Bazı CVE ID'lerin Related GitHub Alerts sütununda View on GitHub bağlantısı bulunur.

     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'ta GHAS uyarı içeriğini görmek için ilgili GitHub deposuna erişim izinleriniz olmalıdır. Erişim izniniz yoksa, bir sonraki kullanım için bağlantıyı kopyalayabilir veya GitHub yöneticinizle iletişime geçebilirsiniz.

Eğer Related GitHub Alerts sütununda eşleşen bir Dependabot uyarısı varsa, bu güvenlik mühendisliği tarafından zaten bilinmektedir. Uyarı durumu Aktifse, henüz kimse çözmedi ve sorunun önceliklendirilmesi gerekiyor.

Eğer sütunda eşleşen bir GitHub uyarısı görünmezse, CVE mühendislik tarafından bilinmeyen ve düzeltme için önceliklendirilmesi gereken bir çalışma zamanı riskini temsil eder.

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. Remediation Insights'a gidin ve koddan çalışma zamanına diyagramı görün. 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ılı bir şekilde oluşturulduysa, soruna bağlantı içeren bir açılır pencere bildirimi 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 sorunu seçeneği mevcut değilse, GitHub veya depo izinleriniz olmayabilir. 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. Sahiplik ve durum güncellemelerini takip edin. GitHub'ta yapılan sorun durumu veya atama değişiklikleri Microsoft Defender for Cloud'ta yansıtılır. Bu bilgi, sahiplik ve iyileştirme ilerlemesini Öneriler görünümünden takip etmenizi 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

Eğer GitHub Copilot lisansınız varsa, sorunu GitHub kodlama ajanı 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.