Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Microsoft Security DevOps est une application en ligne de commande qui intègre une analyse statique dans votre cycle de vie de développement. Il installe, configure et exécute les derniers analyseurs SDL, de sécurité et de conformité à l’aide de configurations portables pour garantir une exécution cohérente et déterministe dans les environnements.
Microsoft Security DevOps utilise les outils open source suivants :
| Nom | Language | Licence |
|---|---|---|
| Antimalware | Protection antimalware dans Windows avec Microsoft Defender pour Endpoint. Analyse les programmes malveillants et interrompt la génération si du contenu malveillant est détecté. S’exécute par défaut sur l’agent Windows le plus récent. | Non open source |
| Bandit | Python | Licence Apache 2.0 |
| BinSkim | Cibles binaires : Windows, ELF | Licence MIT |
| Checkov | Terraform, plan Terraform, CloudFormation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM | Licence Apache 2.0 |
| ESLint | JavaScript | Licence MIT |
| IaCFileScanner | Outil de mappage de modèles pour Terraform, CloudFormation, modèles ARM et Bicep | Non open source |
| Analyseur de modèle | Modèles ARM, Bicep | Licence MIT |
| Terrascan | Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation | Licence Apache 2.0 |
| Trivy | Images conteneur, Infrastructure as Code (IaC) | Licence Apache 2.0 |
Note
Depuis le 20 septembre 2023, l’outil d’analyse des secrets (CredScan) dans l’extension Microsoft Security DevOps (MSDO) pour Azure DevOps a été déconseillé. L’analyse des secrets MSDO est remplacée par GitHub Advanced Security pour Azure DevOps.
Prerequisites
- Vous avez besoin de privilèges d’administrateur de collection de projets dans votre organisation Azure DevOps pour installer l’extension. Si vous n’avez pas accès, demandez-le à votre administrateur Azure DevOps pendant l’installation.
Configurer l’extension Microsoft Security DevOps Azure DevOps
Connectez-vous à Azure DevOps.
Accédez à Shopping Bag>Gérer les extensions.
Sélectionnez Partagé.
Note
Si vous avez déjà installé l’extension Microsoft Security DevOps, elle est répertoriée sous l’onglet Installé.
Sélectionnez Microsoft Security DevOps.
Sélectionnez Installer.
Sélectionnez l’organisation appropriée dans le menu déroulant.
Sélectionnez Installer.
Sélectionnez Accéder à l'organisation.
Configurer des pipelines à l’aide de YAML
Connectez-vous à Azure DevOps.
Sélectionnez votre projet.
Accédez à Pipelines>New pipeline.
Sélectionnez Azure Repos Git.
Sélectionnez le référentiel approprié.
Sélectionnez Pipeline de démarrage.
Collez le YAML suivant dans le pipeline :
# 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
Le nom d’artefact « CodeAnalysisLogs » est requis pour l’intégration à Defender for Cloud. Pour obtenir des options de configuration d’outils supplémentaires et des variables d’environnement, consultez le wiki Microsoft Security DevOps
Sélectionnez Enregistrer et exécuter pour valider et exécuter le pipeline.
Note
Installez l’extension SaST Scans Tab pour afficher automatiquement les résultats de l’analyse SARIF sous l’onglet Analyses du pipeline.
Chargement de résultats à partir d’outils de sécurité tiers dans Defender pour Cloud
Defender pour le Cloud peut ingérer des résultats SARIF à partir d'autres outils de sécurité pour la visibilité du code vers le cloud. Pour charger ces résultats, vérifiez que vos référentiels Azure DevOps sont intégrés à Defender for Cloud. Après l’intégration, Defender for Cloud monitore en permanence l’artefact CodeAnalysisLogs pour la sortie SARIF.
Utilisez la tâche PublishBuildArtifacts@1 pour publier des fichiers SARIF sur l’artefact CodeAnalysisLogs. Par exemple:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'results.sarif'
ArtifactName: 'CodeAnalysisLogs'
Defender for Cloud affiche ces résultats sous l’évaluation les résultats d’analyse du code pour les référentiels Azure DevOps doivent être résolus pour le référentiel concerné.