Konfigurera Microsoft Security DevOps Azure DevOps-tillägget

Microsoft Security DevOps är ett kommandoradsprogram som integrerar statiska analysverktyg i utvecklingslivscykeln. Microsoft Security DevOps installerar, konfigurerar och kör de senaste versionerna av statiska analysverktyg (inklusive, men inte begränsat till, SDL/säkerhets- och efterlevnadsverktyg). Microsoft 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
Antimalware Skydd mot skadlig kod i Windows från Microsoft Defender för Endpoint, 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
ESlint JavaScript MIT-licens
IaCFileScanner Terraform, CloudFormation, ARM Template, Bicep Inte öppen källkod
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

Kommentar

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 upphört att gälla. Genomsökning av MSDO-hemligheter ersätts med GitHub Advanced Security för Azure DevOps.

Förutsättningar

  • Administratörsbehörigheter för projektsamling till Azure DevOps-organisationen krävs för att installera tillägget.

Om du inte har åtkomst till att installera tillägget måste du begära åtkomst från din Azure DevOps-organisations administratör under installationsprocessen.

Konfigurera Microsoft Security DevOps Azure DevOps-tillägget

Så här konfigurerar du Microsoft Security DevOps Azure 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.

    Kommentar

    Om du redan har installerat Tillägget Microsoft Security DevOps 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 dina pipelines med YAML

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

  1. Logga in på Azure DevOps

  2. Välj ditt projekt.

  3. Gå till Pipelines

  4. Välj Ny pipeline.

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

  5. Välj Azure Repos Git.

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

  6. Välj relevant lagringsplats.

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

  7. Välj Startpipeline.

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

  8. 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:    
      # command: 'run' | 'pre-job' | 'post-job'. Optional. The command to run. Default: run
      # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig').
      # policy: 'azuredevops' | '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: 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', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'.
      # break: boolean. Optional. If true, will fail this build step if any error 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*.
    
    

    Kommentar

    ArtifactName "CodeAnalysisLogs" krävs för integrering med Defender för molnet. Ytterligare konfigurationsalternativ för verktyg och miljövariabler finns i Wikin för Microsoft Security DevOps

  9. Om du vill checka in pipelinen väljer du Spara och kör.

    Pipelinen körs i några minuter och sparar resultatet.

    Kommentar

    Installera SARIF SAST Scans Tab-tillägget i Azure DevOps-organisationen för att säkerställa att de genererade analysresultaten visas automatiskt under fliken Genomsökningar.

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

Även om Defender för molnet tillhandahåller MSDO CLI för standardiserade funktioner och principkontroller i en uppsättning öppen källkod säkerhetsanalysverktyg, har du flexibiliteten att ladda upp resultat från andra säkerhetsverktyg från tredje part som du kan ha konfigurerat i CI/CD-pipelines för att Defender för molnet för omfattande kontextualisering från kod till moln. Alla resultat som laddas upp till Defender för molnet måste ha standardformatet SARIF.

Kontrollera först att dina Azure DevOps-lagringsplatser är registrerade för Defender för molnet. När du har registrerat Defender för molnet övervakar den kontinuerligt artefakten "CodeAnalysisLogs" för SARIF-utdata.

Du kan använda uppgiften "PublishBuildArtifacts@1" för att se till att SARIF-utdata publiceras till rätt artefakt. Om ett säkerhetsanalysverktyg till exempel matar ut "results.sarif" kan du konfigurera följande uppgift i jobbet för att säkerställa att resultaten laddas upp till Defender för molnet:

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

Findings from third-party security tools will appear as 'Azure DevOps repositories should have code scanning findings resolved' assessments associated with the repository the secuirty finding was identified in.