Aracılığıyla paylaş


Azure Pipelines'ın güvenliğini sağlama

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Azure Pipelines farklı güvenlik zorlukları sunar. İşlem hatları betikleri yürütmenize veya üretim ortamlarına kod dağıtmanıza olanak tanırken, bunların kötü amaçlı kodlara uygun hale gelmesini önlemek çok önemlidir. Güvenliği geliştirme ekiplerinin ihtiyaç duyduğu esneklik ve güçle dengelemek çok önemlidir.

Not

Azure Pipelines, tümü Azure'da güvenli bir altyapı üzerinde oluşturulmuş bir Azure DevOps Services paketinin bir parçasıdır. Tüm Azure DevOps Services genelinde güvenlik kavramlarını kapsamlı bir şekilde anlamak için aşağıdaki kaynakları görüntülemenizi öneririz:

Geleneksel olarak kuruluşlar, katı kilitlemeler aracılığıyla güvenliği zorunlu kılmaya devam eder. Kod, işlem hatları ve üretim ortamları ciddi erişim kısıtlamalarıyla karşı karşıya kalır. Bu yaklaşım sınırlı sayıda kullanıcısı ve projesi olan küçük kuruluşlarda iyi çalışsa da, büyük kuruluşlar farklı bir gerçeklikle karşı karşıya kalır. Çok sayıda katkıda bulunanın koda erişimi olduğu için 'ihlal varsayma' ilkesi kritik hale gelir. Bir saldırgan depolara katkıda bulunan erişimine sahipmiş gibi davranmayı ve daha yüksek bir tetiklenmeyi gerektirir.

Güvenlik hedeflerine ulaşmak için aşağıdaki noktaları göz önünde bulundurun:

  • Kötü amaçlı kod yürütmeyi engelle:

    • İşlem hatlarınızın aşağıdaki görevleri içeren kötü amaçlı kodun yetkisiz yürütülmesini engelleyecek şekilde yapılandırıldığından emin olun:
      • Hassas gizli dizilere ve kimlik bilgilerine erişimi kısıtlayın.
      • İstenmeyen davranışı önlemek için giriş parametrelerini ve bağımsız değişkenlerini doğrulayın.
      • Olası güvenlik riskleri için işlem hattı betiklerini düzenli olarak gözden geçirin ve denetleyin.
      • Aşağıdaki gibi güvenlik uygulamalarını uygulayın:
        • SQL eklemesini önlemek için betiklerde parametreli sorgular kullanın.
        • Kabuk komutu eklemesini önlemek için bağımsız değişkenlerdeki özel karakterlerin kaçışı.
        • İşlem hattı hizmeti bağlantıları için izinleri sınırlayın.
    • Yürütme üzerinde ayrıntılı denetim sağlayan ve güvenlik risklerine daha az eğilimli olan YAML işlem hatlarını kullanmayı göz önünde bulundurun.
  • Yanal maruziyeti azaltma:

    • Kuruluşunuzun projeleri ve depoları içinde yanal hareketi önlemek için işlem hatlarını yalıtın.
    • Erişimi yalnızca her işlem hattı için gerekli depolar ve kaynakla sınırlayın.
    • İşlem hattı etkinliğini izleyin ve şüpheli davranış için uyarılar ayarlayın.
    • Düzenli olarak açığa çıkarma durumunu en aza indirmek için izinleri gözden geçirin ve güncelleştirin.
  • YAML İşlem Hatlarını Kullanma:

    • YAML işlem hatları güvenlik açısından aşağıdaki avantajları sunar:
      • İşlem hattı adımlarını ve bağımlılıklarını açıkça tanımlayın.
      • İşlem hattı tanımları için sürüm denetimi.
      • İşlem hattı yapılandırmasının görünürlüğünü temizleyin.
      • Yanlışlıkla yanlış yapılandırma riski azaltıldı.
      • Kod gözden geçirme ve çekme istekleri:
        • YAML işlem hatlarını diğer kodlar gibi değerlendirin.
        • Kötü amaçlı adımları önlemek için değişiklikleri birleştirmek için çekme isteklerini zorunlu kılın.
        • Bu gözden geçirme işlemini ayarlamak için dal ilkelerini kullanın.
      • Kaynak erişim yönetimi:
        • Kaynak sahipleri YAML işlem hattının belirli kaynaklara erişip erişemeyeceğini denetler.
        • Bu güvenlik özelliği, başka bir depo çalmak gibi saldırıları önler.
        • Onaylar ve denetimler her işlem hattı çalıştırması için erişim denetimi sağlar.
      • Çalışma zamanı parametreleri:
    • Gelişmiş güvenlik ve bakım için mevcut işlem hatlarını YAML biçimine geçirmeyi göz önünde bulundurun.

Güvenlik devam eden bir süreçtir ve düzenli değerlendirmeler ve güncelleştirmeler gereklidir. YAML işlem hatları, Azure Pipelines'ınız için en iyi güvenliği sunar.

Aşağıdaki makalelerde güvenli YAML tabanlı işlem hattı geliştirmenize yardımcı olacak öneriler özetlenmiştir: