Konfigurera Microsoft Security DevOps Azure DevOps-tillägget

Microsoft Security DevOps är ett kommandoradsprogram som integrerar statisk analys i utvecklingslivscykeln. Den installerar, konfigurerar och kör de senaste analysverktygen för SDL, säkerhet och efterlevnad med hjälp av bärbara konfigurationer för att säkerställa konsekvent, deterministisk körning i olika miljöer.

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

Namn Language Licens
Program mot skadlig kod Skydd mot skadlig kod i Windows från Microsoft Defender för Endpoint. Söker efter skadlig kod och bryter bygget om skadligt innehåll identifieras. Körs som standard på den senaste Windows-agenten. Inte öppen källkod
Bandit python Apache License 2.0
BinSkim Binära mål: Windows, ELF MIT-licens
Checkov Terraform, Terraform plan, CloudFormation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Apache License 2.0
ESLint JavaScript MIT-licens
IaCFileScanner Mallmappningsverktyg för Terraform, CloudFormation, ARM-mallar och Bicep Inte öppen källkod
Mallanalys ARM-mallar, 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

Anmärkning

Från och med den 20 september 2023 har verktyget för genomsökning av hemligheter (CredScan) i MSDO-tillägget (Microsoft Security DevOps) för Azure DevOps blivit inaktuellt. Genomsökning av MSDO-hemligheter ersätts med GitHub Advanced Security för Azure DevOps.

Förutsättningar

  • Du behöver administratörsbehörigheter för projektsamling i din Azure DevOps-organisation för att installera tillägget. Om du inte har åtkomst kan du begära dessa privilegier från din Azure DevOps administratör.

Konfigurera Microsoft Security DevOps Azure DevOps-tillägget

Så här installerar du Microsoft Security DevOps-tillägget:

  1. Logga in på Azure DevOps.

  2. Gå till Shopping Bag>Hantera tillägg.

    Skärmbild som visar hur du navigerar till skärmen Hantera tillägg.

  3. Välj Delat.

    Anmärkning

    Om du redan har installerat Microsoft Security DevOps-tillägget visas det på fliken Installerad.

  4. Välj Microsoft Security DevOps.

    Skärmbild som visar var du väljer Microsoft Security DevOps.

  5. Välj Installera.

  6. Välj lämplig organisation på den nedrullningsbara menyn.

  7. Välj Installera.

  8. Välj Fortsätt till organisation.

Konfigurera pipelines med YAML

Så här konfigurerar du en pipeline med YAML:

  1. Logga in på Azure DevOps.

  2. Välj ditt projekt.

  3. Gå till Pipelines>Ny pipeline.

    Skärmbild som visar var du hittar skapa pipeline i DevOps.

  4. Välj Azure-lagringsplatser Git.

    Skärmbild som visar var du ska navigera till för att välja Azure-lagringsplats git.

  5. Välj relevant lagringsplats.

    Skärmbild som visar var lagringsplatsen ska väljas.

  6. Välj Startpipeline.

    Skärmbild som visar var du väljer startpipeline.

  7. Klistra in följande YAML i pipelinen:

    # Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    trigger: none
    pool:
      # ubuntu-latest also supported.
      vmImage: 'windows-latest'
    steps:
    - task: MicrosoftSecurityDevOps@1
      displayName: 'Microsoft Security DevOps'
      # inputs:    
        # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). Vist the MSDO GitHub wiki linked below for additional configuration instructions
        # policy: 'azuredevops' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy to determine the tools/checks to run. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: azuredevops.
        # 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'. Example 'templateanalyzer, trivy'
        # break: boolean. Optional. If true, will fail this build step if any high severity level results are found. Default: false.
        # publish: boolean. Optional. If true, will publish the output SARIF results file to the chosen pipeline artifact. Default: true.
        # artifactName: string. Optional. The name of the pipeline artifact to publish the SARIF result file to. Default: CodeAnalysisLogs*.
    

    Anmärkning

    ArtifactName "CodeAnalysisLogs" krävs för integrering med Defender för molnet. Mer information om konfigurationsalternativ och miljövariabler finns i Microsoft Security DevOps wiki.

  8. Välj Spara och kör för att checka in och köra pipelinen.

    Anmärkning

    Installera SARIF SAST Scans Tab-tillägget för att automatiskt visa SARIF-analysresultat på pipelinens fliken Genomsökningar .

Ladda upp resultat från säkerhetsverktyg från tredje part till Defender för molnet

Defender för molnet kan mata in SARIF-resultat från andra säkerhetsverktyg för synlighet från kod till moln. Om du vill ladda upp dessa resultat kontrollerar du att dina Azure DevOps-lagringsplatser registreras i Defender för molnet. Efter ombordstigning övervakar Defender för molnet kontinuerligt CodeAnalysisLogs-artefakten för SARIF-utdata.

Använd uppgiften PublishBuildArtifacts@1 för att publicera SARIF-filer till CodeAnalysisLogs artefakten. Till exempel:

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: 'results.sarif'
    ArtifactName: 'CodeAnalysisLogs'

Defender för molnet visar dessa resultat under Azure DevOps-lagringsplatserna bör ha lösta kodgenomsökningsresultat bedömning för de berörda lagringsplatserna.