Konfigurieren der Microsoft Security DevOps-GitHub-Aktion

Microsoft Security DevOps ist eine Kommandozeilen-Anwendung, die statische Analysetools in den Entwicklungszyklus integriert. Security DevOps installiert, konfiguriert und führt die neuesten Versionen statischer Analysetools wie SDL, Sicherheit und Compliance-Tools aus. Security DevOps ist datengesteuert mit tragbaren Konfigurationen, die die deterministische Ausführung in mehreren Umgebungen ermöglichen.

Microsoft Security DevOps verwendet die folgenden Open Source-Tools:

Name Sprache License
Antischadsoftware Anti-Malware-Schutz in Windows von Microsoft Defender for Endpoint, die nach Schadsoftware sucht und den Build bricht, wenn Schadsoftware gefunden wird. Dieses Tool scannt standardmäßig auf dem neuesten Windows-Agent. Nicht Open Source
Bandit Python Apache-Lizenz 2.0
BinSkim Binärdatei--Windows, ELF MIT-Lizenz
Checkov Terraform, Terraform plan, CloudFormation, Amazon Web Services (AWS) SAM, Kubernetes, Helm Charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Apache-Lizenz 2.0
ESlint JavaScript MIT-Lizenz
Vorlagenanalyse ARM-Vorlage, Bicep MIT-Lizenz
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache-Lizenz 2.0
Trivy Containerimages, Infrastruktur als Code (IaC) Apache-Lizenz 2.0

Voraussetzungen

Bevor Sie die Microsoft Security DevOps GitHub-Aktion konfigurieren, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

Richte den GitHub-Action-Workflow ein

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 Aktionen aus.

    Screenshot, der zeigt, wo sich die Schaltfläche

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

  5. Bei "Start mit GitHub Actions" wähle "Einen Workflow selbst einrichten".

    Screenshot, der zeigt, wo die neue Workflowschaltfläche ausgewählt werden soll.

  6. Geben Sie einen Namen für Ihre Workflow-Datei ein. Zum Beispiel msdevopssec.yml.

    Screenshot, der zeigt, wo Sie einen Namen für ihren neuen Workflow eingeben möchten.

  7. Kopieren und fügen Sie den folgenden Beispiel-Aktionsworkflow in den Reiter "Neue Datei bearbeiten" ein.

    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

    Weitere Werkzeugkonfigurationsoptionen und Anleitungen finden Sie im Microsoft Security DevOps Wiki.

  8. Wählen Sie "Commit starten" aus.

    Ein Screenshot, der dir zeigt, wo du Commit starten auswählen kannst.

  9. Wählen Sie "Commit für neue Datei ausführen" aus. Der Prozess kann bis zu einer Minute dauern.

    Screenshot, der zeigt, wie Sie eine neue Datei übernehmen.

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

    Screenshot, der zeigt, wo Sie navigieren möchten, um zu sehen, dass Ihre neue Aktion ausgeführt wird.

Scanergebnisse anzeigen

So zeigen Sie Ihre Scanergebnisse an:

  1. Melden Sie sich bei Azure an.

  2. Gehen Sie zu Defender for Cloud>DevOps Security.

  3. Im DevOps-Sicherheitsbereich sehen Sie dieselben Microsoft Security DevOps (MSDO)-Sicherheitsergebnisse. Entwickler sehen diese Ergebnisse in ihren CI-Logs für das zugehörige Repository innerhalb von Minuten. Kunden mit GitHub Advanced Security sehen auch die Erkenntnisse, die aus diesen Tools übernommen werden.

Nächster Schritt