Microsoft Güvenlik DevOps Azure DevOps uzantısını yapılandırma

Microsoft Security DevOps, statik analiz araçlarını geliştirme yaşam döngüsüyle tümleştiren bir komut satırı uygulamasıdır. Microsoft Güvenlik DevOps, statik analiz araçlarının (SDL/güvenlik ve uyumluluk araçları dahil ancak bunlarla sınırlı olmamak üzere) en son sürümlerini yükler, yapılandırır ve çalıştırır. Microsoft Security DevOps, birden çok ortamda belirleyici yürütmeyi sağlayan taşınabilir yapılandırmalarla veri odaklıdır.

Microsoft Security DevOps aşağıdaki Açık Kaynak araçlarını kullanır:

Adı Dil Lisans
Kötü Amaçlı Yazılımdan Koruma Uç Nokta için Microsoft Defender karşı Windows'ta kötü amaçlı yazılımdan koruma, kötü amaçlı yazılım taraması yapar ve kötü amaçlı yazılım bulunursa derlemeyi bozar. Bu araç windows-latest aracıda varsayılan olarak tarar. Açık Kaynak Değil
Haydut Python Apache Lisansı 2.0
BinSkim İkili--Windows, ELF MIT Lisansı
Checkov Terraform, Terraform planı, CloudFormation, AWS SAM, Kubernetes, Helm grafikleri, Kustomize, Dockerfile, Sunucusuz, Bicep, OpenAPI, ARM Apache Lisansı 2.0
ESlint JavaScript MIT Lisansı
IaCFileScanner Terraform, CloudFormation, ARM Şablonu, Bicep için şablon eşleme aracı Açık Kaynak Değil
Şablon Çözümleyicisi ARM Şablonu, Bicep MIT Lisansı
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache Lisansı 2.0
Önemsiz kapsayıcı görüntüleri, Kod Olarak Altyapı (IaC) Apache Lisansı 2.0

Not

20 Eylül 2023 tarihinden itibaren Azure DevOps için Microsoft Güvenlik DevOps (MSDO) Uzantısı içindeki gizli dizi tarama (CredScan) aracı kullanım dışı bırakılmıştır. MSDO gizli dizi taraması, Azure DevOps için GitHub Gelişmiş Güvenliği ile değiştirilecektir.

Önkoşullar

  • Uzantıyı yüklemek için Azure DevOps kuruluşuna Yönelik Proje Koleksiyonu Yöneticisi ayrıcalıkları gerekir.

Uzantıyı yükleme erişiminiz yoksa, yükleme işlemi sırasında Azure DevOps kuruluşunuzun yöneticisinden erişim istemeniz gerekir.

Microsoft Güvenlik DevOps Azure DevOps uzantısını yapılandırma

Microsoft Güvenlik DevOps Azure DevOps uzantısını yapılandırmak için:

  1. Azure DevOps'te oturum açın.

  2. Alışveriş Çantası>Uzantıları yönet'e gidin.

    Uzantıları yönetme ekranına nasıl gidileceğini gösteren ekran görüntüsü.

  3. Paylaşılan'ı seçin.

    Not

    Microsoft Security DevOps uzantısını zaten yüklediyseniz, yüklü sekmesinde listelenir.

  4. Microsoft Güvenlik DevOps'u seçin.

    Microsoft Güvenlik DevOps'un nerede seçildiğini gösteren ekran görüntüsü.

  5. Yükle'yi seçin.

  6. Açılan menüden uygun kuruluşu seçin.

  7. Yükle'yi seçin.

  8. Kuruluşa devam et'i seçin.

YAML kullanarak işlem hatlarınızı yapılandırma

YAML kullanarak işlem hattınızı yapılandırmak için:

  1. Azure DevOps'ta oturum açma

  2. Projenizi seçin.

  3. İşlem Hatları'na gidin

  4. Yeni işlem hattı'ni seçin.

    DevOps'ta işlem hattı oluşturma konumunu gösteren ekran görüntüsü.

  5. Azure Repos Git'i seçin.

    Azure deposu git'i seçmek için nereye gidileceğinizi gösteren ekran görüntüsü.

  6. İlgili depoyu seçin.

    Deponuzun seçileceği yeri gösteren ekran görüntüsü.

  7. Başlangıç işlem hattı'ı seçin.

    Başlangıç işlem hattının seçileceği yeri gösteren ekran görüntüsü.

  8. İşlem hattına aşağıdaki YAML'yi yapıştırın:

    # Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    trigger: none
    pool:
      # ubuntu-latest also supported.
      vmImage: 'windows-latest'
    steps:
    - task: MicrosoftSecurityDevOps@1
      displayName: 'Microsoft Security DevOps'
      # inputs:    
        # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). Vist the MSDO GitHub wiki linked below for additional configuration instructions
        # policy: 'azuredevops' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy to determine the tools/checks to run. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: azuredevops.
        # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all.
        # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all.
        # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'. Example 'templateanalyzer, trivy'
        # break: boolean. Optional. If true, will fail this build step if any high severity level results are found. Default: false.
        # publish: boolean. Optional. If true, will publish the output SARIF results file to the chosen pipeline artifact. Default: true.
        # artifactName: string. Optional. The name of the pipeline artifact to publish the SARIF result file to. Default: CodeAnalysisLogs*.
      
    

    Not

    Bulut için Defender ile tümleştirme için artifactName 'CodeAnalysisLogs' gereklidir. Ek araç yapılandırma seçenekleri ve ortam değişkenleri için bkz . Microsoft Güvenliği DevOps wiki'si

  9. İşlem hattını işlemek için Kaydet ve çalıştır'ı seçin.

    İşlem hattı birkaç dakika boyunca çalışır ve sonuçları kaydeder.

    Not

    Oluşturulan analiz sonuçlarının Taramalar sekmesi altında otomatik olarak görüntülendiğinden emin olmak için Azure DevOps kuruluşuna SARIF SAST Taramaları Sekmesi uzantısını yükleyin.

Üçüncü taraf güvenlik araçlarından bulguları Bulut için Defender

Bulut için Defender, bir dizi açık kaynak güvenlik çözümleyicisi genelinde standartlaştırılmış işlevsellik ve ilke denetimleri için MSDO CLI sağlarken, CI/CD işlem hatlarında yapılandırmış olabileceğiniz diğer üçüncü taraf güvenlik araçlarından sonuçları kapsamlı koddan buluta Bulut için Defender yükleme esnekliğine sahip olursunuz bağlamsallaştırma. Bulut için Defender yüklenen tüm sonuçlar standart SARIF biçiminde olmalıdır.

İlk olarak Azure DevOps depolarınızın Bulut için Defender ekli olduğundan emin olun. Bulut için Defender başarıyla eklendikten sonra, SARIF çıkışı için 'CodeAnalysisLogs' yapıtını sürekli izler.

SARIF çıkışının doğru yapıda yayımlandığından emin olmak için 'PublishBuildArtifacts@1' görevini kullanabilirsiniz. Örneğin, bir güvenlik çözümleyicisi çıktısı results.sarifverirse, sonuçların Bulut için Defender yüklendiğinden emin olmak için işinizde aşağıdaki görevi yapılandırabilirsiniz:

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: 'results.sarif'
    ArtifactName: 'CodeAnalysisLogs'

Findings from third-party security tools will appear as 'Azure DevOps repositories should have code scanning findings resolved' assessments associated with the repository the security finding was identified in.