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üne entegre eden 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'aoturum aç.

  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. Get start with GitHub Actions'ta, 'Kendiniz bir iş akışı kur' seçeneğini seçin.

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

  6. İş akışı dosyanız için bir isim 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ıEdit yeni dosya sekmesine kopyalayıp 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çenekleri ve talimatları için Microsoft Güvenlik DevOps wiki sayfasına bakınız.

  8. İşlemeyi başlat'ı seçin.

    Başlat commit'i nereden seçeceğinizi gösteren ekran görüntüsü.

  9. Yeni dosyayı onayla seçin. Bu süreç bir dakikaya kadar sürebilir.

    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. Defender for Cloud> sayfasına gidin.

  3. DevOps güvenlik panelinden ise aynı Microsoft Güvenlik DevOps (MSDO) güvenlik sonuçlarını görebilirsiniz. Geliştiriciler, ilgili depo için CI kayıtlarında bu sonuçları dakikalar içinde görürler. 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