Freigeben über


Konfigurieren der GitHub-Aktion von Microsoft Security DevOps

Microsoft Security DevOps ist eine Befehlszeilenanwendung, die statische Analysetools in den Entwicklungslebenszyklus integriert. Security DevOps installiert und konfiguriert die neuesten Versionen statischer Analysetools, z. B. SDL-, Sicherheits- und Compliancetools, und führt diese aus. Security DevOps ist datengesteuert mit portablen Konfigurationen, die eine deterministische Ausführung in mehreren Umgebungen ermöglichen.

Microsoft Security DevOps verwendet die folgenden Open Source-Tools:

Name Sprache Lizenz
Antischadsoftware Antischadsoftware in Windows durch Microsoft Defender for Endpoint, die nach Malware scannt und den Build unterbricht, wenn Schadsoftware gefunden wurde. Dieses Tool scannt standardmäßig den windows-latest-Agent. Nicht Open Source
Bandit Python Apache License 2.0
BinSkim Binary--Windows, ELF MIT-Lizenz
Checkov Terraform, Terraform-Plan, CloudFormation, AWS SAM, Kubernetes, Helm-Diagramme, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Apache License 2.0
ESlint JavaScript MIT-Lizenz
Template Analyzer ARM-Vorlage, Bicep MIT-Lizenz
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache License 2.0
Trivy Containerimages, Infrastructure-as-Code (IaC) Apache License 2.0

Voraussetzungen

Konfigurieren der GitHub-Aktion von Microsoft Security DevOps

So richten Sie die GitHub-Aktion ein:

  1. Melden Sie sich bei GitHub an.

  2. Wählen Sie ein Repository aus, für das Sie die GitHub-Aktion konfigurieren möchten.

  3. Wählen Sie Actions aus.

    Screenshot, der zeigt, wo sich die Schaltfläche für Aktionen befindet.

  4. Klicken Sie auf New workflow (Neuer Workflow).

  5. Wählen Sie auf der Seite „Get started with GitHub Actions“ (Erste Schritte mit GitHub Actions) die Option zum Einrichten eines eigenen Workflows aus.

    Screenshot, der zeigt, wo die Schaltfläche für einen neuen Workflow ausgewählt werden kann.

  6. Geben Sie im Textfeld Titel einen Namen für die Workflowdatei ein. Beispiel: msdevopssec.yml.

    Screenshot, der zeigt, wo Sie einen Namen für Ihren neuen Workflow eingeben.

  7. Kopieren Sie den folgenden Beispielaktionsworkflow und fügen Sie ihn in die Registerkarte „Edit new file“ (Neue Datei bearbeiten) ein.

    name: MSDO
    on:
      push:
        branches:
          - master
    
    jobs:
      sample:
        name: Microsoft Security DevOps
    
        # MSDO runs on windows-latest.
        # ubuntu-latest also supported
        runs-on: windows-latest
    
        permissions:
          contents: read
          id-token: write
          actions: read
          security-events: write
    
        steps:
    
          # Checkout your code repository to scan
        - uses: actions/checkout@v3
    
          # Run analyzers
        - name: Run Microsoft Security DevOps Analysis
          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
        - name: Upload alerts to Security tab
          uses: github/codeql-action/upload-sarif@v2
          with:
            sarif_file: ${{ steps.msdo.outputs.sarifFile }}
    
          # Upload alerts file as a workflow artifact
        - name: Upload alerts file as a workflow artifact
          uses: actions/upload-artifact@v3
          with:  
            name: alerts
            path: ${{ steps.msdo.outputs.sarifFile }}
    

    Hinweis

    Weitere Toolkonfigurationsoptionen und Anweisungen finden Sie im Wiki zu Microsoft Security DevOps

  8. Klicken Sie auf Start commit (Commit starten).

    Screenshot, der zeigt, wo ein Commit gestartet werden kann.

  9. Wählen Sie Commit new file (Neue Datei committen) aus.

    Screenshot, der zeigt, wie eine neue Datei committet wird.

    Der Vorgang kann bis zu einer Minute dauern.

  10. Wählen Sie Actions (Aktionen) aus, und überprüfen Sie, ob die neue Aktion ausgeführt wird.

    Screenshot, der zeigt, wohin Sie navigieren müssen, um festzustellen, ob die neue Aktion ausgeführt wird.

Anzeigen der Überprüfungsergebnisse

So zeigen Sie die Überprüfungsergebnisse an:

  1. Melden Sie sich bei GitHub an.

  2. Navigieren Sie zu Security>Code scanning alerts>Tool (Sicherheit > Codeüberprüfungsbenachrichtigungen > Tool).

  3. Wählen Sie im Dropdownmenü Filter by tool (Nach Tool filtern) aus.

Die Codeüberprüfungsergebnisse werden nach bestimmten MSDO-Tools in GitHub gefiltert. Diese Codeüberprüfungsergebnisse werden auch in Defender for Cloud-Empfehlungen gepullt.

Weitere Informationen

Erfahren Sie mehr über DevOps-Sicherheit in Defender for Cloud.

Erfahren Sie, wie Sie Ihre GitHub-Organisationen mit Defender for Cloud verbinden.