Delen via


De Microsoft Security DevOps Azure DevOps-extensie configureren

Microsoft Security DevOps is een opdrachtregeltoepassing die statische analyse integreert in uw ontwikkelingslevenscyclus. Het installeert, configureert en voert de nieuwste SDL-, beveiligings- en nalevingsanalyses uit met behulp van draagbare configuraties om consistente, deterministische uitvoering in omgevingen te garanderen.

Microsoft Security DevOps maakt gebruik van de volgende opensource-hulpprogramma's:

Naam Language Licentie
AntiMalware Bescherming tegen malware in Windows vanuit Microsoft Defender voor Eindpunt. Scant op malware en onderbreekt de build als schadelijke inhoud wordt gedetecteerd. Wordt standaard uitgevoerd op de nieuwste Windows-agent. Niet open source
Bandit Python Apache License 2.0
BinSkim Binaire doelen: Windows, ELF MIT-licentie
Checkov Terraform, Terraform-plan, CloudFormation, AWS SAM, Kubernetes, Helm-grafieken, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Apache License 2.0
ESLint JavaScript MIT-licentie
IaCFileScanner Een hulpprogramma voor sjabloontoewijzing voor Terraform, CloudFormation, ARM-sjablonen en Bicep Geen open source
Sjabloonanalyse ARM-sjablonen, Bicep MIT-licentie
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache License 2.0
Trivy Containerafbeeldingen, infrastructuur als code (IaC) Apache License 2.0

Opmerking

Vanaf 20 september 2023 is het hulpprogramma voor het scannen van geheimen (CredScan) binnen de MSDO-extensie (Microsoft Security DevOps) voor Azure DevOps afgeschaft. MSDO-geheimen scannen wordt vervangen door GitHub Advanced Security voor Azure DevOps.

Vereiste voorwaarden

  • U hebt beheerdersbevoegdheden voor projectverzamelingen in uw Azure DevOps-organisatie nodig om de extensie te installeren. Als u geen toegang hebt, vraagt u deze tijdens de installatie aan bij uw Azure DevOps-beheerder.

De Microsoft Security DevOps Azure DevOps-extensie configureren

  1. Aanmelden bij Azure DevOps.

  2. Ga naar Shopping Bag>Beheer extensies.

    Schermopname die laat zien hoe u naar het scherm Extensies beheren navigeert.

  3. Kies Gedeeld.

    Opmerking

    Als u de Microsoft Security DevOps-extensie al hebt geïnstalleerd, wordt deze weergegeven op het tabblad Geïnstalleerd.

  4. Selecteer Microsoft Security DevOps.

    Schermopname van waar u Microsoft Security DevOps kunt selecteren.

  5. Selecteer Installeren.

  6. Selecteer de juiste organisatie in de vervolgkeuzelijst.

  7. Selecteer Installeren.

  8. Selecteer Doorgaan naar organisatie.

Pijplijnen configureren met YAML

  1. Meld u aan bij Azure DevOps.

  2. Selecteer uw project.

  3. Ga naar Pijplijnen>nieuwe pijplijn.

    Schermopname die laat zien waar u een pijplijn kunt maken in DevOps.

  4. Selecteer Git voor Azure-opslagplaatsen.

    Schermopname die laat zien waar u moet navigeren om de Azure repo Git te selecteren.

  5. Selecteer de relevante opslagplaats.

    Schermopname die laat zien waar u uw opslagplaats kunt selecteren.

  6. Selecteer Starter-pijplijn.

    Schermopname die laat zien waar u starterspijplijn selecteert.

  7. Plak de volgende YAML in de pijplijn:

    # 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*.
    

    Opmerking

    De artifactName 'CodeAnalysisLogs' is vereist voor integratie met Defender for Cloud. Zie de Microsoft Security DevOps-wiki voor aanvullende configuratieopties en omgevingsvariabelen

  8. Selecteer Opslaan en uitvoeren om de pijplijn door te voeren en uit te voeren.

    Opmerking

    Installeer de SARIF SAST Scans Tab-extensie om automatisch SARIF-analyseresultaten weer te geven op het tabblad Scans van de pijplijn.

Bevindingen van beveiligingshulpprogramma's van derden uploaden naar Defender for Cloud

Defender for Cloud kan SARIF-resultaten opnemen van andere beveiligingshulpprogramma's voor zichtbaarheid van code-naar-cloud. Als u deze resultaten wilt uploaden, moet u ervoor zorgen dat uw Azure DevOps-opslagplaatsen worden toegevoegd aan Defender for Cloud. Na onboarding bewaakt Defender voor Cloud continu het CodeAnalysisLogs artefact voor SARIF-uitvoer.

Gebruik de PublishBuildArtifacts@1 taak om SARIF-bestanden naar het CodeAnalysisLogs artefact te publiceren. Voorbeeld:

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

Defender voor Cloud toont deze bevindingen onder de beoordeling Azure DevOps-opslagplaatsen zouden codescanresultaten moeten oplossen voor de betrokken opslagplaats.