De Microsoft Beveiliging DevOps Azure DevOps-extensie configureren

Microsoft Beveiliging 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 Beveiliging DevOps maakt gebruik van de volgende opensource-hulpprogramma's:

Name Taal License
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 Licentie 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 Licentie 2.0
ESLint JavaScript MIT-licentie
IaCFileScanner Een hulpprogramma voor sjabloontoewijzing voor Terraform, CloudFormation, ARM-sjablonen en Bicep Niet open source
Sjabloonanalyse ARM-sjablonen, Bicep MIT-licentie
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache Licentie 2.0
Trivy Containerafbeeldingen, infrastructuur als code (IaC) Apache Licentie 2.0

Note

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

Prerequisites

Voordat je de extensie installeert, zorg ervoor dat je aan de volgende voorwaarden voldoet:

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

De extensie installeren

De DevOps-extensie Microsoft Beveiliging installeren:

  1. Meld u aan 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.

    Note

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

  4. Selecteer Microsoft Beveiliging DevOps.

    Schermopname van waar u Microsoft Beveiliging 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

Tip

Optioneel: Installeer de SARIF SAST Scans Tab-extensie als je wilt dat SARIF-analyseresultaten automatisch verschijnen in het tabblad Scans van de pipeline.

Een pijplijn 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*.
    

    Note

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

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

    Note

    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 voor Cloud

Defender voor 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 voor 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. De volgende YAML-stap publiceert het SARIF-resultaatbestand als een build-artefact zodat Defender voor Cloud de bevindingen kan invoeren:

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