Yazılım oluşturma analizini (SCA) keşfetme

Tamamlandı

Güvenli DevOps işlem hattının iki önemli alanı Paket yönetimi ve Açık Kaynak Yazılım OSS bileşenleridir.

Paket yönetimi

Ekiplerin kaynak kodu için sürüm denetimini tek bir gerçek kaynağı olarak kullanması gibi, Güvenli DevOps da ikili bileşenlerin benzersiz kaynağı olarak bir paket yöneticisine dayanır.

İkili paket yönetimini kullanarak, geliştirme ekibi onaylı bileşenlerin yerel önbelleğini ve Sürekli Tümleştirme (CI) işlem hattı için güvenilir bir akışı oluşturabilir.

Azure DevOps'ta Azure Artifacts, paketlerinize erişimi düzenlemeye ve paylaşmaya yönelik bileşen iş akışının ayrılmaz bir parçasıdır. Azure Artifacts şunları yapmanızı sağlar:

  • Yapıtlarınızı düzenli tutun. Apache Maven, npm ve NuGet paketlerini birlikte depolayarak kodu kolayca paylaşın. Evrensel Paketler'i kullanarak paketleri depolayabilir ve git'te ikili dosyaları saklamayı ortadan kaldırabilirsiniz.
  • Paketlerinizi koruyun. Kullandığınız her genel kaynak paketini (npmjs ve NuGet .org paketleri dahil) akışınızda güvende tutun; burada yalnızca siz silebilirsiniz ve kurumsal düzeyde Azure Hizmet Düzeyi Sözleşmesi (SLA) tarafından desteklenir.
  • Kesintisiz paket işlemeyi Sürekli Tümleştirme (CI)/ Sürekli Geliştirme (CD) işlem hattınızla tümleştirin. Derlemelerdeki ve sürümlerdeki tüm yapıtlarınıza kolayca erişin. Azure Artifacts, Azure Pipelines CI/CD aracıyla yerel olarak tümleşir.

Azure Artifacts hakkında daha fazla bilgi için web sayfasını ziyaret edin. Azure Artifacts nedir?

Sürümler ve uyumluluk

Aşağıdaki tabloda Azure Artifacts tarafından desteklenen paket türleri listelenmektedir. Azure DevOps Services'da her paketin kullanılabilirliği de görüntülenir.

Aşağıdaki tabloda, her paketin daha önce Team Foundation Server (TFS) olarak bilinen Azure DevOps Server'ın belirli sürümleriyle uyumluluğu ayrıntılı olarak açıklanmaktadır.

Özellik Azure DevOps Services TFS
NuGet Evet TFS 2017
npm Evet TFS 2017 bir ve üzerini güncelleştirme
Maven Evet TFS 2017 bir ve üzerini güncelleştirme
Gradle Evet TFS 2018
Universal Evet Hayır
Python Evet Hayır

Maven, npm ve NuGet paketleri genel ve özel kaynaklardan her boyutta ekiple desteklenebilir. Azure Artifact, Azure DevOps ile birlikte gelir, ancak uzantı Visual Studio Market'ten de kullanılabilir.

Screenshot of Azure DevOps with Artifacts highlighted in the menu pane.

Dekont

Belirli bir paket sürümünü akışa yayımladıktan sonra, bu sürüm numarası kalıcı olarak ayrılır.

Dekont

Aynı sürüm numarasına sahip daha yeni bir düzeltme paketini karşıya yükleyemez veya bu sürümü silip aynı sürüm numarasına sahip yeni bir paket yükleyemezsiniz. Yayımlanan sürüm sabittir.

İşletim Sistemi bileşenlerinin rolü

Yeniden kullanılabilir Açık kaynak yazılım (OSS) bileşenlerinin geniş kullanılabilirliği nedeniyle geliştirme çalışmaları daha üretkendir.

Yeniden kullanım için bu pratik yaklaşım, Microsoft .NET Core ve Node.js gibi Windows ve Linux işletim sistemlerinde kullanılabilen çalışma zamanlarını içerir.

Ancak OSS bileşeninin yeniden kullanılması, yeniden kullanılan bağımlılıkların güvenlik açıklarına sahip olması riskiyle birlikte gelir. Sonuç olarak, birçok kullanıcı kullandıkları Node.js paket sürümleri nedeniyle uygulamalarında güvenlik açıkları bulur.

OSS, aşağıdaki görüntüde gösterildiği gibi bu güvenlik endişelerini gidermek için yeni bir kavram olarak adlandırılan Yazılım Oluşturma Analizi (SCA) sunar.

Screenshot of an image of the workflow for safely creating open-source dependencies.

İster bağımlılık oluştururken ister tüketirken, bir işletim sistemi bileşenini kullanırken genellikle şu üst düzey adımları izlemek istersiniz:

  1. Eski güvenlik açıklarını veya lisans kötüye kullanımını önlemek için en son ve doğru sürümle başlayın.
  2. İşletim sistemi bileşenlerinin sürümünüz için doğru ikili dosyalar olduğunu doğrulayın. Yayın işlem hattında, doğruluğu sağlamak ve izlenebilir bir malzeme listesi tutmak için ikili dosyaları doğrulayın.
  3. Bileşen güvenlik açıklarının bildirimlerini hemen alın, düzeltin ve yeniden kullanılan yazılımlardan güvenlik açıklarını veya lisans kötüye kullanımını çözmek için bileşeni otomatik olarak yeniden dağıtın.