Compartir a través de


Configura la extensión Microsoft Security DevOps de Azure DevOps

Microsoft Security DevOps es una aplicación de línea de comandos que integra el análisis estático en el ciclo de vida de desarrollo. Instala, configura y ejecuta los analizadores de cumplimiento, seguridad y SDL más recientes mediante configuraciones portátiles para garantizar una ejecución coherente y determinista entre entornos.

Microsoft Security DevOps usa las siguientes herramientas de código abierto:

Nombre Language Licencia
AntiMalware Protección contra malware en Windows desde Microsoft Defender para punto de conexión. Busca malware y interrumpe la compilación si se detecta contenido malintencionado. Se ejecuta de forma predeterminada en el agente más reciente de Windows. No de código abierto
Bandit Pitón Licencia de Apache 2.0
BinSkim Destinos binarios: Windows, ELF Licencia de MIT
Checkov Terraform, plan de Terraform, CloudFormation, AWS SAM, Kubernetes, gráficos de Helm, Kustomize, Dockerfile, Sin servidor, Bicep, OpenAPI, ARM Licencia de Apache 2.0
ESLint JavaScript Licencia de MIT
IaCFileScanner Herramienta de mapeo de plantillas para Terraform, CloudFormation, ARM templates y Bicep No de código abierto
Analizador de plantillas Plantillas de ARM, Bicep Licencia de MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licencia de Apache 2.0
Trivy Imágenes de contenedores, infraestructura como código (IaC) Licencia de Apache 2.0

Nota:

A partir del 20 de septiembre de 2023, la herramienta de análisis de secretos (CredScan) dentro de la extensión DevOps de Seguridad de Microsoft (MSDO) para Azure DevOps ha quedado en desuso. El examen de secretos de MSDO se reemplaza por GitHub Advanced Security para Azure DevOps.

Prerrequisitos

  • Necesita privilegios de administrador de colecciones de proyectos en la organización de Azure DevOps para instalar la extensión. Si no tiene acceso, solicítelo a su administrador de Azure DevOps durante la instalación.

Configura la extensión Microsoft Security DevOps de Azure DevOps

  1. Inicie sesión en Azure DevOps.

  2. Vaya a Shopping Bag>Manage extensions (Administrar extensiones).

    Captura de pantalla que muestra cómo navegar a la pantalla administrar extensiones.

  3. Seleccione Compartido.

    Nota:

    Si ya ha instalado la extensión DevOps de Microsoft Security, aparece en la pestaña Instalado.

  4. Seleccione Microsoft Security DevOps.

    Captura de pantalla que muestra dónde seleccionar Microsoft Security DevOps.

  5. Seleccione Instalar.

  6. Seleccione la organización adecuada en el menú desplegable.

  7. Seleccione Instalar.

  8. Seleccione Continuar con la organización.

Configuración de canalizaciones mediante YAML

  1. Inicie sesión en Azure DevOps.

  2. Seleccione su proyecto.

  3. Vaya a Canalizaciones>Nueva canalización.

    Captura de pantalla que muestra dónde buscar la canalización de creación en DevOps.

  4. Seleccione Git de Azure Repos.

    Captura de pantalla en la que se muestra dónde navegar, para seleccionar Git del repositorio de Azure.

  5. Seleccione el repositorio correspondiente.

    Captura de pantalla que muestra dónde seleccionar el repositorio.

  6. Seleccione Canalización de inicio.

    Captura de pantalla que muestra dónde seleccionar la canalización de inicio.

  7. Pegue el siguiente CÓDIGO YAML en la canalización:

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

    Nota:

    El artifactName "CodeAnalysisLogs" es necesario para la integración con Defender for Cloud. Para obtener más opciones de configuración de herramientas y variables de entorno, consulte la wiki de Microsoft Security DevOps.

  8. Seleccione Guardar y ejecutar para confirmar y ejecutar la canalización.

    Nota:

    Instale la extensión SARIF SAST Scans Tab para mostrar automáticamente los resultados del análisis de SARIF en la pestaña Exámenes del flujo de trabajo.

Carga de hallazgos de herramientas de seguridad de terceros en Defender for Cloud

Defender for Cloud puede ingerir resultados de SARIF de otras herramientas de seguridad para la visibilidad de código a nube. Para cargar estos resultados, asegúrese de que los repositorios de Azure DevOps estén integrados a Defender for Cloud. Después de la incorporación, Defender for Cloud monitoriza de manera continua el artefacto CodeAnalysisLogs en busca de resultados SARIF.

Use la tarea PublishBuildArtifacts@1 para publicar archivos SARIF en el artefacto CodeAnalysisLogs. Por ejemplo:

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

Defender for Cloud muestra estos resultados en la evaluación los repositorios de Azure DevOps deberían tener resueltos los hallazgos del análisis de código para el repositorio afectado.