Editar

Compartir vía


Configuración de la extensión Azure DevOps de Microsoft Security DevOps

Microsoft Security DevOps es una aplicación de línea de comandos que integra herramientas de análisis estáticos en el ciclo de vida de desarrollo. Microsoft Security DevOps instala, configura y ejecuta las versiones más recientes de herramientas de análisis estático (incluidas, sin limitación, SDL y herramientas de seguridad y cumplimiento). Microsoft Security DevOps está controlado por datos con configuraciones portátiles que permiten realizar una ejecución determinista en varios entornos.

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

Nombre Idioma Licencia
Antimalware Protección antimalware en Windows desde Microsoft Defender para punto de conexión, que examina para detectar malware e interrumpe la compilación si se ha encontrado malware. Esta herramienta examina de manera predeterminada en el agente más reciente de Windows. No es de código abierto
Bandit Python Licencia de Apache 2.0
BinSkim Binary--Windows, ELF Licencia 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 MIT
IaCFileScanner Herramienta de asignación de plantillas para Terraform, CloudFormation, plantilla de ARM, Bicep No es de código abierto
Template Analyzer Plantilla de ARM, Bicep Licencia MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licencia de Apache 2.0
Trivy imágenes de contenedor, infraestructura como código (IaC) Licencia de Apache 2.0

Nota:

Desde el 20 de septiembre de 2023, la herramienta de análisis de secretos (CredScan) dentro de la extensión de Microsoft Security DevOps (MSDO) para Azure DevOps ha quedado en desuso. El análisis de secretos de MSDO se reemplazará por GitHub Advanced Security para Azure DevOps.

Requisitos previos

  • Se necesitan privilegios de administrador de colección de proyectos para la organización de Azure DevOps para instalar la extensión.

Si no tiene acceso para instalar la extensión, debe solicitar acceso al administrador de la organización de Azure DevOps durante el proceso de instalación.

Configuración de la extensión Azure DevOps de Microsoft Security DevOps

Para configurar la extensión Azure DevOps de Microsoft Security DevOps

  1. Inicie sesión en Azure DevOps.

  2. Vaya a Bolsa para la compra>Administrar extensiones.

    Captura de pantalla que muestra cómo ir a la pantalla Administrar extensiones.

  3. Seleccione Compartidas.

    Nota

    Si ya ha instalado la extensión Microsoft Security DevOps, aparecerá 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. En el menú desplegable, seleccione la organización adecuada.

  7. Seleccione Instalar.

  8. Seleccione Continuar con la organización.

Configuración de canalizaciones mediante YAML

Para configurar la canalización mediante YAML:

  1. Inicie sesión en Azure DevOps.

  2. Seleccione su proyecto.

  3. Vaya a Canalizaciones.

  4. Selecciona Nueva canalización.

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

  5. Seleccione Git de Azure Repos.

    Captura de pantalla que muestra dónde ir para seleccionar el repositorio de Git de Azure.

  6. Seleccione el repositorio correspondiente.

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

  7. Seleccione Canalización inicial.

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

  8. Pegue el siguiente 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'.
        # 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

  9. Para confirmar la canalización, seleccione Guardar y ejecutar.

    La canalización se ejecutará durante unos minutos y guardará los resultados.

    Nota

    Instale la extensión SARIF SAST de la pestaña Exámenes en la organización de Azure DevOps para asegurarse de que los resultados del análisis generado se mostrarán automáticamente en dicha pestaña.

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

Aunque Defender for Cloud proporciona la CLI de MSDO para la funcionalidad estandarizada y los controles de directivas en un conjunto de analizadores de seguridad de código abierto, tiene la flexibilidad de cargar los resultados de otras herramientas de seguridad de terceros que puede haber configurado en canalizaciones de CI/CD en Defender for Cloud para una contextualización completa de código a nube. Todos los resultados cargados en Defender for Cloud deben estar en formato SARIF estándar.

En primer lugar, asegúrese de que los repositorios de Azure DevOps se incorporan a Defender for Cloud. Después de incorporar correctamente Defender for Cloud, supervisa continuamente el artefacto "CodeAnalysisLogs" para la salida de SARIF.

Puede usar la tarea "PublishBuildArtifacts@1" para asegurarse de que la salida de SARIF se publica en el artefacto correcto. Por ejemplo, si un analizador de seguridad genera results.sarif, puede configurar la siguiente tarea en el trabajo para asegurarse de que los resultados se cargan en Defender for Cloud:

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

Findings from third-party security tools will appear as 'Azure DevOps repositories should have code scanning findings resolved' assessments associated with the repository the security finding was identified in.