Microsoft Güvenlik DevOps GitHub eylemini yapılandırma

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

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

Name Dil License
Kötü Amaçlı Yazılımdan Koruma Uç Nokta için Microsoft Defender’teki Windows kötü amaçlı yazılımdan koruması, kötü amaçlı yazılımları tarar ve kötü amaçlı yazılım bulunursa derlemeyi başarısız yapar. Bu araç windows-latest aracıda varsayılan olarak tarar. Açık Kaynak Değil
Bandit Python Apache Lisansı 2.0
BinSkim İkili--Windows, ELF MIT Lisansı
Checkov Terraform, Terraform planı, CloudFormation, Amazon Web Services (AWS) SAM, Kubernetes, Helm grafikleri, Kustomize, Dockerfile, Sunucusuz, Bicep, OpenAPI, ARM Apache Lisansı 2.0
ESlint JavaScript MIT Lisansı
Şablon Çözümleyicisi ARM Şablonu, Bicep MIT Lisansı
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache Lisansı 2.0
Trivy konteyner imajları, Kod Olarak Altyapı (IaC) Apache Lisansı 2.0

Prerequisites

Microsoft Güvenlik DevOps GitHub eylemini yapılandırmadan önce, aşağıdaki ön koşullara sahip olduğundan emin olun:

GitHub eylem iş akışını kur

GitHub eylemini ayarlamak için:

  1. GitHub giriş sayfasına giriş yapın.

  2. GitHub eylemini yapılandırmak istediğiniz bir depo seçin.

  3. Eylemler'i seçin.

    Eylemler düğmesinin bulunduğu yeri gösteren ekran görüntüsü.

  4. Yeni iş akışı'ı seçin.

  5. GitHub Actions kullanmaya başlayın sayfasında kendiniz bir iş akışı ayarlayın öğesini seçin.

    Yeni iş akışı düğmesinin seçileceği yeri gösteren ekran görüntüsü.

  6. Metin kutusuna iş akışı dosyanız için bir ad girin. Örneğin, msdevopssec.yml.

    Yeni iş akışınız için bir adın girileceği yeri gösteren ekran görüntüsü.

  7. Aşağıdaki örnek eylem iş akışını kopyalayıp Yeni dosyayı düzenle sekmesine yapıştırın.

    name: MSDO
    on:
      push:
        branches:
          - main
    
    jobs:
      sample:
        name: Microsoft Security DevOps
    
        # Windows and Linux agents are supported
        runs-on: windows-latest
    
        permissions:
          contents: read
          id-token: write
          actions: read
          # Write access for security-events is only required for customers looking for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
          security-events: write
    
        steps:
    
          # Checkout your code repository to scan
        - uses: actions/checkout@v3
    
          # Run analyzers
        - name: Run Microsoft Security DevOps
          uses: microsoft/security-devops-action@latest
          id: msdo
        # with:
          # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig').
          # policy: 'GitHub' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: GitHub.
          # 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'.
    
          # Upload alerts to the Security tab - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts to Security tab
        #  uses: github/codeql-action/upload-sarif@v3
        #  with:
        #    sarif_file: ${{ steps.msdo.outputs.sarifFile }}
    
          # Upload alerts file as a workflow artifact - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts file as a workflow artifact
        #  uses: actions/upload-artifact@v3
        #  with:  
        #    name: alerts
        #    path: ${{ steps.msdo.outputs.sarifFile }}
    

    Note

    Daha fazla araç yapılandırma seçeneği ve yönergesi için bkz. Microsoft Güvenlik DevOps wiki

  8. Taahhüte başla seçin

    İşlemeyi başlat'ı nerede seçeceğinizi gösteren ekran görüntüsü.

  9. Yeni dosyayı onayla seçin. İşlemin tamamlanmasının bir dakika kadar sürebileceğini unutmayın.

    Yeni dosya işlemeyi gösteren ekran görüntüsü.

  10. Eylemler'i seçin ve yeni eylemin çalıştığını doğrulayın.

    Yeni eyleminizin çalıştığını görmek için nereye gitmeniz gerekenleri gösteren ekran görüntüsü.

Tarama sonuçlarını görüntüleme

Tarama sonuçlarınızı görüntülemek için:

  1. Azure'da oturum açın.

  2. Bulut > için Defender DevOps Security'ye gidin.

  3. DevOps güvenlik bölmesinde, ilgili depo için geliştiricilerin CI günlüklerinde gördüğü Microsoft Güvenlik DevOps (MSDO) güvenlik sonuçlarının aynısını birkaç dakika içinde görebilirsiniz. GitHub Advanced Security’ye sahip müşteriler, bu araçlardan içeri aktarılan bulguları da görür.

Sonraki adım

GitHub Kuruluşlarınızı Defender for Cloud