Freigeben über


Konfigurieren der Azure DevOps-Erweiterung von Microsoft Security DevOps

Microsoft Security DevOps ist eine Befehlszeilenanwendung, die statische Analysen in Ihren Entwicklungslebenszyklus integriert. Es installiert, konfiguriert und führt die neuesten SDL-, Sicherheits- und Complianceanalysatoren mithilfe tragbarer Konfigurationen aus, um eine konsistente, deterministische Ausführung in allen Umgebungen sicherzustellen.

Microsoft Security DevOps verwendet die folgenden Open Source-Tools:

Name Language Lizenz
Antischadsoftware Schutz vor Schadsoftware in Windows von Microsoft Defender für Endpunkte. Sucht nach Schadsoftware und bricht den Build auf, wenn schädliche Inhalte erkannt werden. Wird standardmäßig auf dem neuesten Windows-Agent ausgeführt. Nicht Open Source
Bandit Python Apache-Lizenz 2.0
BinSkim Binäre Ziele: Windows, ELF MIT-Lizenz
Checkov Terraform, Terraform-Plan, CloudFormation, AWS SAM, Kubernetes, Helm-Diagramme, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Apache-Lizenz 2.0
ESLint JavaScript MIT-Lizenz
IaCFileScanner Vorlagenzuordnungstool für Terraform, CloudFormation, ARM-Vorlagen und Bicep Nicht Open Source
Vorlagenanalyse ARM-Vorlagen, Bicep MIT-Lizenz
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Apache-Lizenz 2.0
Trivy Containerimages, Infrastructure-as-Code (IaC) Apache-Lizenz 2.0

Hinweis

Ab dem 20. September 2023 wird das Tool Geheimnisüberprüfung (CredScan) innerhalb der Microsoft Security DevOps (MSDO)-Erweiterung für Azure DevOps veraltet sein. MSDO Secrets Scanning wird durch GitHub Advanced Security für Azure DevOps ersetzt.

Voraussetzungen

  • Sie benötigen Project Collection Administrator-Berechtigungen in Ihrer Azure DevOps-Organisation, um die Erweiterung zu installieren. Wenn Sie keinen Zugriff haben, fordern Sie ihn während der Installation von Ihrem Azure DevOps-Administrator an.

Konfigurieren der Azure DevOps-Erweiterung von Microsoft Security DevOps

  1. Melden Sie sich bei Azure DevOps an.

  2. Wechseln Sie zu Shopping Bag>Manage Extensions.

    Screenshot, der zeigt, wie Sie zum Bildschirm

  3. Wählen Sie "Freigegeben" aus.

    Hinweis

    Wenn Sie die Microsoft Security DevOps-Erweiterung bereits installiert haben, wird sie auf der Registerkarte "Installiert" aufgeführt.

  4. Wählen Sie Microsoft Security DevOps aus.

    Screenshot, der zeigt, wo Microsoft Security DevOps ausgewählt werden soll.

  5. Wählen Sie Installieren aus.

  6. Wählen Sie im Dropdownmenü die entsprechende Organisation aus.

  7. Wählen Sie Installieren aus.

  8. Wählen Sie "Weiter zur Organisation" aus.

Konfigurieren von Pipelines mithilfe von YAML

  1. Melden Sie sich bei Azure DevOps an.

  2. Wählen Sie Ihr Projekt aus.

  3. Wechseln Sie zu Pipelines>Neue Pipeline.

    Screenshot, der zeigt, wo die Pipeline in DevOps erstellt werden soll.

  4. Wählen Sie Azure Repos Git aus.

    Screenshot, der zeigt, wo Sie navigieren möchten, um Azure-Repository-Git auszuwählen.

  5. Wählen Sie das relevante Repository aus.

    Screenshot, der zeigt, wo Ihr Repository ausgewählt werden soll.

  6. Wählen Sie die Startpipeline aus.

    Screenshot, der zeigt, wo die Startpipeline ausgewählt werden soll.

  7. Fügen Sie den folgenden YAML-Code in die Pipeline ein:

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

    Hinweis

    Der Artefaktname "CodeAnalysisLogs" ist für die Integration in Defender für Cloud erforderlich. Weitere Toolkonfigurationsoptionen und Umgebungsvariablen finden Sie im Microsoft Security DevOps-Wiki

  8. Wählen Sie Speichern und ausführen aus, um den Commit durchzuführen und die Pipeline zu starten.

    Hinweis

    Installieren Sie die SARIF SAST Scans Tab-Erweiterung, um SARIF-Analyseergebnisse automatisch auf der Registerkarte "Scans " der Pipeline anzuzeigen.

Hochladen von Ergebnissen aus Sicherheitstools von Drittanbietern in Defender for Cloud

Defender für Cloud kann SARIF-Ergebnisse aus anderen Sicherheitstools einlesen, um Code-zu-Cloud-Transparenz zu gewährleisten. Um diese Ergebnisse hochzuladen, stellen Sie sicher, dass Ihre Azure DevOps-Repositorys in Defender for Cloud integriert sind. Nach dem Onboarding überwacht Defender für Cloud kontinuierlich das Artefakt auf die CodeAnalysisLogs SARIF-Ausgabe.

Verwenden Sie die PublishBuildArtifacts@1 Aufgabe, um SARIF-Dateien im CodeAnalysisLogs-Artefakt zu veröffentlichen. Beispiel:

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

Defender für Cloud zeigt diese Erkenntnisse unter der Beurteilung Azure DevOps-Repositorys sollten Code-Scan-Ergebnisse gelöst haben für das betroffene Repository an.