Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)
Software Composition Analysis, Dependabot, bağımlılık incelemesi ve sabitlenmiş eylemleri kullanarak pipeline'ınızı güvenlik açığı bulunan üçüncü taraf paketlerinden koruyun.
Bağımlılık ve Tedarik Zinciri Güvenliği (SCA), CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Tedarik Zinciri Riski
Modern uygulamalar çoğunlukla üçüncü taraf bağımlılıklardan oluşturulur. Bağımlılık ağacınızın derinliklerinde bulunan tek bir güvenlik açığı içeren paket, tüm uygulamayı tehlikeye atabilir.
Bu, yazılım tedarik zinciri riskidir ve bu zinciri güvenceye almak DevSecOps'un temel parçalarından biridir.
SCA Nedir?
Yazılım Bileşimi Analizi (SCA), projenizin bağımlılıklarını tarar ve bunları bilinen güvenlik açıklarına (CVE'lere) ilişkin veritabanlarıyla karşılaştırır.
Kendi kodunuzu inceleyen SAST'ın aksine SCA, içe aktardığınız kütüphanelere odaklanır.
- Bilinen güvenlik açıklarına sahip sürümleri algılar
- Riskli veya uyumsuz lisansları işaretler
- Güvenli yükseltme sürümleri önerir
Dependabot Uyarıları
GitHub, bildirim dosyalarınızı sürekli tarayan ve bir bağımlılıkta bilinen bir güvenlik açığı bulunduğunda uyarı oluşturan Dependabot'ı sağlar.
Bu özelliği Ayarlar > Kod güvenliği ve analizi bölümünden etkinleştirirsiniz. Uyarılar, önem derecesi puanlarıyla birlikte Güvenlik sekmesinde görünür.
Otomatik Bağımlılık Güncellemeleri
Dependabot, güvenlik açığı bulunan bağımlılıkların sürümünü otomatik olarak yükselten çekme istekleri de açabilir. Bunu bir dependabot.yml dosyasıyla yapılandırın.
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weeklyPR'lerde Bağımlılık İncelemesi
dependency-review-action, çekme isteklerinde çalışır ve bir PR bilinen bir güvenlik açığı içeren bağımlılık eklerse birleştirmeyi engeller.
Bu, güvenlik denetimlerini geliştirme sürecinin daha erken aşamalarına taşıyarak riskli paketleri main dalına ulaşmadan önce yakalar.
- name: Dependency Review
uses: actions/dependency-review-action@v4
with:
fail-on-severity: highEylem Sürümlerini Sabitleme
Bir iş akışında çağırdığınız eylemler de bağımlılıktır. @v4 başvurusunda bulunmak, bu etiketi yöneten kişiye güvenmek anlamına gelir.
En yüksek güvenlik için eylemleri değiştirilemez olan tam bir işleme ait SHA'ye sabitleyin.
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11Kilit Dosyaları Önemlidir
Bir kilit dosyası (package-lock.json veya poetry.lock gibi), bağımlılıkların tam sürümlerini ve özet değerlerini sabitler.
CI'da, derlemelerin tekrarlanabilir olması ve değiştirilmiş bir sürümün sessizce çekilememesi için deterministik bir kurulum komutu kullanın.
- name: Install (locked)
run: npm ciSBOM Oluşturma
Yazılım Malzeme Listesi (SBOM), derlemenizdeki her bileşenin eksiksiz envanteridir. Uyumluluk açısından giderek daha fazla zorunlu hâle gelmektedir.
GitHub, SPDX biçiminde bir SBOM dışa aktarabilir; Syft gibi araçlar da CI içinde bir tane oluşturabilir.
- name: Generate SBOM
uses: anchore/sbom-action@v0
with:
format: spdx-jsonLisans Uyumluluğu
SCA, lisans riskini de kapsar. GPL lisanslı bir kütüphaneyi özel mülk bir ürüne eklemek, yasal yükümlülükler doğurabilir.
Sorunun denetim sırasında değil, CI aşamasında ortaya çıkması için tarayıcınızı izin verilmeyen lisansları işaretleyecek veya reddedecek şekilde yapılandırın.
Derlemeyi Başarısız Kılma
Algılama, yalnızca kötü kodu durdurursa işe yarar. Kritik bir güvenlik açığı bulunduğunda işlem hattını başarısız kılacak SCA geçitleri yapılandırın.
Düşük riskli bulguların uyarı vermesi, kritik bulguların ise birleştirmeyi veya dağıtımı engellemesi için bir önem derecesi eşiği belirleyin.
with:
fail-on-severity: criticalSürekli İzleme
Her gün yeni güvenlik açıkları duyurulduğundan tek seferlik tarama yeterli değildir. SCA'yı her PR'ın yanı sıra bir zamanlamaya göre de çalıştırın.
Bu, birleştirme sırasında güvenli olan ancak daha sonra güvenlik açığına dönüşen paketleri yakalar.
on:
schedule:
- cron: '0 6 * * 1'Hızlı Kontrol
Tedarik zinciri güvenliği konusundaki anlayışınızı sınayın.
Özet
Yazılım tedarik zincirini güvenceye almayı öğrendiniz.
- SCA, bağımlılıkları bilinen güvenlik açıkları açısından tarar
- Dependabot, riskli paketler için uyarı verir ve bunları otomatik olarak günceller
- Bağımlılık incelemesi, riskli PR'leri engeller
- Eylemleri SHA'lara sabitleyin, kilit dosyaları kullanın ve bir SBOM oluşturun
SAST ve gizli bilgi yönetimiyle birlikte bu yaklaşım, güvenli bir işlem hattını tamamlar.
Sıkça Sorulan Sorular
“Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)” dersi ücretsiz mi?
Evet — “Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)” dersinde ne öğreneceğim?
Software Composition Analysis, Dependabot, bağımlılık incelemesi ve sabitlenmiş eylemleri kullanarak pipeline'ınızı güvenlik açığı bulunan üçüncü taraf paketlerinden koruyun. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- CI/CD'de Güvenlik En İyi Uygulamaları
- GitHub ile Gizli Bilgi Yönetimi
- Statik Uygulama Güvenlik Sınaması (SAST)
- Bağımlılık ve Tedarik Zinciri Güvenliği (SCA)