DevSecOps ve Yazılım Tedarik Zinciri

CI/CD Hattı Güvenliği

CI/CD hattınızın yetkilerini, runner'larını ve secret'larını inceliyoruz. Tek bir hesap ele geçirildiğinde üretime ulaşılamayacak bir yapı kuruyoruz.

Nedir?

CI/CD hattı, kodu derleyen, test eden ve üretime gönderen otomasyondur. Üretime yazma yetkisi ve en değerli secret'lar genellikle bu hattın kontrolündedir. Bir geliştirici hesabı veya üçüncü taraf bir eklenti hattın adımlarını değiştirebiliyorsa, bu yetkiler de onun eline geçer. İnceleme, OWASP Top 10 CI/CD güvenlik riskleri ve NIST SP 800-204D'yi referans alır.

Kapsam

  • CI/CD hattı tanımlarını kimin değiştirebildiği ve hangi branch'ten yayın yapılabildiği
  • Runner'ların yalıtımı ve ekipler arasında paylaşımı
  • Uzun ömürlü anahtarlar yerine kısa ömürlü, iş bazlı kimlik bilgileri (OIDC)
  • Üçüncü taraf eklenti ve action'ların sürüm sabitlemesi ve izinleri
  • Üretime dağıtımda onay adımı ve korumalı ortam kuralları
  • CI/CD loglarına secret yazılması ve değişikliklerin izlenebilirliği

İhtiyaç

Hangi durumlarda ihtiyaç duyulur?

  • Bir geliştirici hesabı veya CI/CD anahtarı ele geçirildiğinde ya da bundan şüphelenildiğinde.
  • Kullandığınız bir CI/CD eklentisinde veya derleme aracında tedarik zinciri saldırısı duyurulduğunda.
  • Ekipler kendi CI/CD hattı tanımlarını yazmaya başladığında ve bunları merkezi olarak gözden geçiren kimse olmadığında.

Yöntem

Nasıl çalışıyoruz?

  1. Harita

    Hattın tüm adımlarını, kullandığı kimlikleri ve eriştiği sistemleri çıkarırız.

  2. Ele geçirme yolları

    Bir geliştirici hesabından veya bir eklentiden üretime giden yolları gösteririz.

  3. Sıkılaştırma

    Yetkilerin daraltılmasını ve uzun ömürlü anahtarlardan kısa ömürlü kimliklere geçişi ekiplerinizle birlikte uygularız.

  4. Yeniden test

    Değişikliklerden sonra aynı ele geçirme yollarının kapandığını yeniden sınarız.

Sonuç

Çalışmanın sonunda elinizde olan

Hattınızın ele geçirilme yolları ve her birini kesen değişiklik elinizdedir. Tek bir hesapla incelenmemiş kodun üretime gönderilemediği yeniden testle gösterilmiştir.

Sık sorulan sorular

Hangi CI/CD platformlarıyla çalışıyorsunuz?

Değerlendirme yöntemi platformdan bağımsızdır. Öneriler GitHub Actions, GitLab CI, Azure DevOps veya Jenkins gibi kullandığınız platformun kendi özellikleriyle uygulanır.

İnceleme sırasında CI/CD hattı durdurulur mu?

Durdurulmaz. İnceleme yapılandırmalar ve okuma yetkili erişimle yürütülür. Değişiklikler ekiplerinizin onayıyla ve yayın takviminize uygun bir zamanda yapılır.

Kendi sunucularımızda çalışan runner'lar riskli mi?

Ekipler arasında paylaşıldıklarında ve işler arasında temizlenmediklerinde risk oluştururlar. Yalıtım ve her iş için yeniden oluşturulan runner'lar bu riski azaltır.

DevSecOps ve Yazılım Tedarik Zinciri

Bu alandaki diğer hizmetler

Bu hizmet için görüşelim.

İhtiyacınızı kısaca anlatın. Kapsamı ve takvimi ilk görüşmede birlikte netleştirelim.

Görüşme Planlayın