Konfigurera Microsoft Security DevOps GitHub-åtgärden

Microsoft Security DevOps är ett kommandoradsprogram som integrerar statiska analysverktyg i utvecklingslivscykeln. Security DevOps installerar, konfigurerar och kör de senaste versionerna av statiska analysverktyg som SDL, säkerhets- och efterlevnadsverktyg. Security DevOps är datadriven med portabla konfigurationer som möjliggör deterministisk körning i flera miljöer.

Microsoft Security DevOps använder följande verktyg med öppen källkod:

Name Språk Licens
Program mot skadlig kod Skydd mot skadlig kod i Windows från Microsoft Defender za krajnju tačku, som söker efter skadlig kod och bryter bygget om skadlig kod har hittats. Det här verktyget genomsöker som standard den senaste Windows-agenten. Inte öppen källkod
Bandit Python Apache License 2.0
BinSkim Binärt – Windows, ELF MIT-licens
Checkov Terraform, Terraform-plan, CloudFormation, AWS SAM, Kubernetes, Helm-diagram, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Apache License 2.0
ESlint JavaScript MIT-licens
Mallanalys ARM-mall, Bicep MIT-licens
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache License 2.0
Trivy containeravbildningar, Infrastruktur som kod (IaC) Apache License 2.0

Förutsättningar

Konfigurera Microsoft Security DevOps GitHub-åtgärden

Så här konfigurerar du GitHub-åtgärden:

  1. Logga in på GitHub.

  2. Välj en lagringsplats som du vill konfigurera GitHub-åtgärden till.

  3. Välj Åtgärder.

    Skärmbild som visar var knappen Åtgärder finns.

  4. Välj Nytt arbetsflöde.

  5. På sidan Kom igång med GitHub Actions väljer du konfigurera ett arbetsflöde själv

    Skärmbild som visar var du väljer den nya arbetsflödesknappen.

  6. I textrutan anger du ett namn för arbetsflödesfilen. Exempel: msdevopssec.yml

    Skärmbild som visar var du anger ett namn för det nya arbetsflödet.

  7. Kopiera och klistra in följande exempelåtgärdsarbetsflöde på fliken Redigera ny fil.

    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 }}
    

    Kommentar

    Ytterligare konfigurationsalternativ och instruktioner för verktyg finns i Wikin för Microsoft Security DevOps

  8. Välj Starta incheckning

    Skärmbild som visar var du väljer starta incheckningen.

  9. Välj Checka in ny fil. Observera att processen kan ta upp till en minut att slutföra.

    Skärmbild som visar hur du checkar in en ny fil.

  10. Välj Åtgärder och kontrollera att den nya åtgärden körs.

    Skärmbild som visar var du ska navigera till för att se att den nya åtgärden körs.

Visa genomsökningsresultat

Så här visar du genomsökningsresultatet:

  1. Logga in på Azure.

  2. Gå till Defender för Cloud > DevOps Security.

  3. Från Säkerhetsbladet DevOps bör du börja se samma MSDO-säkerhetsresultat som utvecklare ser i sina CI-loggar inom några minuter för den associerade lagringsplatsen. Kunder med GitHub Advanced Security ser även resultaten som matas in från dessa verktyg.

Läs mer

Nästa steg

Läs mer om DevOps-säkerhet i Defender för molnet.

Lär dig hur du ansluter dina GitHub-organisationer till Defender för molnet.