Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
Meld u aan bij Azure DevOps.
Ga naar Shopping Bag>Beheer extensies.
Kies Gedeeld.
Note
Als u de Microsoft Beveiliging DevOps-extensie al hebt geïnstalleerd, wordt deze weergegeven op het tabblad Geïnstalleerd.
Selecteer Microsoft Beveiliging DevOps.
Selecteer Installeren.
Selecteer de juiste organisatie in de vervolgkeuzelijst.
Selecteer Installeren.
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:
Meld u aan bij Azure DevOps.
Selecteer uw project.
Ga naar Pijplijnen>nieuwe pijplijn.
Selecteer Git voor Azure-opslagplaatsen.
Selecteer de relevante opslagplaats.
Selecteer Starter-pijplijn.
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.
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.