Compartir a través de


Configuración de la acción de GitHub de DevOps de seguridad de Microsoft

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. Security DevOps instala, configura y ejecuta las versiones más recientes de herramientas de análisis estático, como SDL y herramientas de seguridad y cumplimiento. 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
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

Prerrequisitos

Configuración de la acción de GitHub de DevOps de seguridad de Microsoft

Para configurar la acción de GitHub:

  1. Inicia sesión en GitHub.

  2. Seleccione el repositorio en el que quiere configurar la acción de GitHub.

  3. Seleccione Actions (Acciones).

    Captura de pantalla que muestra dónde se encuentra el botón Acciones.

  4. Seleccione New workflow (Nuevo flujo de trabajo).

  5. En la página Introducción a Acciones de GitHub, seleccione Configure un flujo de trabajo usted mismo.

    Captura de pantalla que muestra dónde se selecciona el botón del flujo de trabajo nuevo.

  6. En el cuadro de texto, escriba el del archivo del flujo de trabajo. Por ejemplo, msdevopssec.yml.

    Captura de pantalla que muestra dónde escribir un nombre para el nuevo flujo de trabajo.

  7. Copie y pegue el siguiente flujo de trabajo de acción de ejemplo en la pestaña Editar nuevo archivo.

    name: MSDO
    on:
      push:
        branches:
          - master
    
    jobs:
      sample:
        name: Microsoft Security DevOps
    
        # MSDO runs on windows-latest.
        # ubuntu-latest also supported
        runs-on: windows-latest
    
        permissions:
          contents: read
          id-token: write
          actions: read
          security-events: write
    
        steps:
    
          # Checkout your code repository to scan
        - uses: actions/checkout@v3
    
          # Run analyzers
        - name: Run Microsoft Security DevOps Analysis
          uses: microsoft/security-devops-action@latest
          id: msdo
        # with:
          # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig').
          # policy: 'GitHub' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: GitHub.
          # 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'.
    
          # Upload alerts to the Security tab
        - name: Upload alerts to Security tab
          uses: github/codeql-action/upload-sarif@v2
          with:
            sarif_file: ${{ steps.msdo.outputs.sarifFile }}
    
          # Upload alerts file as a workflow artifact
        - name: Upload alerts file as a workflow artifact
          uses: actions/upload-artifact@v3
          with:  
            name: alerts
            path: ${{ steps.msdo.outputs.sarifFile }}
    

    Nota:

    Para obtener instrucciones y opciones de configuración de herramientas adicionales, consulte la wiki de Microsoft Security DevOps

  8. Seleccione Iniciar confirmación.

    Captura de pantalla que muestra dónde seleccionar la opción para iniciar la confirmación.

  9. Seleccione Commit new file (Confirmar nuevo archivo).

    Captura de pantalla que muestra cómo confirmar un archivo nuevo.

    El proceso puede tardar hasta un minuto en completarse.

  10. Seleccione Acciones y compruebe que se está ejecutando la nueva acción.

    Captura de pantalla en la que se muestra a dónde navegar para ver que se está ejecutando la nueva acción.

Visualización de los resultados del examen

Para ver los resultados del examen:

  1. Inicia sesión en GitHub.

  2. Vaya a Seguridad>Alertas de exámenes de código>Herramienta.

  3. En el menú desplegable, seleccione Filtrar por herramienta.

Los resultados del examen de código se filtrarán mediante herramientas específicas de MSDO en GitHub. Estos resultados del examen de código también se extraen de las recomendaciones de Defender for Cloud.

Más información

Obtenga más información sobre Seguridad de DevOps en Defender for Cloud.

Obtenga información sobre cómo Conectar sus organizaciones de GitHub a Defender for Cloud.