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áticos, como, SDL, herramientas de seguridad y cumplimiento. Security DevOps está controlado por datos con configuraciones portátiles que permiten la ejecución determinista en varios entornos.

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

Nombre Language Licencia
AntiMalware Protección antimalware en Windows desde Microsoft Defender para Endpoint, que analiza el malware e interrumpe la compilación si se ha detectado malware. Esta herramienta examina el código de manera predeterminada en el agente más reciente de Windows. No es de código abierto
Bandit Pitón Licencia de Apache 2.0
BinSkim Binario--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
Analizador de plantillas Plantilla 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 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. Inicie sesión en GitHub.

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

  3. Seleccione 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 Configurar un flujo de trabajo usted mismo.

    Captura de pantalla que muestra dónde seleccionar el botón nuevo flujo de trabajo.

  6. En el cuadro de texto, escriba un nombre para el archivo de 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:
          - main
    
    jobs:
      sample:
        name: Microsoft Security DevOps
    
        # Windows and Linux agents are supported
        runs-on: windows-latest
    
        permissions:
          contents: read
          id-token: write
          actions: read
          # Write access for security-events is only required for customers looking for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
          security-events: write
    
        steps:
    
          # Checkout your code repository to scan
        - uses: actions/checkout@v3
    
          # Run analyzers
        - name: Run Microsoft Security DevOps
          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 - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts to Security tab
        #  uses: github/codeql-action/upload-sarif@v3
        #  with:
        #    sarif_file: ${{ steps.msdo.outputs.sarifFile }}
    
          # Upload alerts file as a workflow artifact - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts file as a workflow artifact
        #  uses: actions/upload-artifact@v3
        #  with:  
        #    name: alerts
        #    path: ${{ steps.msdo.outputs.sarifFile }}
    

    Nota:

    Para obtener más instrucciones e opciones de configuración de herramientas, consulte la wiki de DevOps de seguridad de Microsoft.

  8. Seleccione Iniciar confirmación.

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

  9. Seleccione Confirmar nuevo archivo. Tenga en cuenta que el proceso puede tardar hasta un minuto en completarse.

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

  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.

Ver resultados del escaneo

Para ver los resultados del escaneo:

  1. Inicie sesión en Azure.

  2. Vaya a Defender for Cloud > DevOps Security.

  3. En la hoja Seguridad de DevOps, debería empezar a ver los mismos resultados de seguridad de MSDO que los desarrolladores ven en sus registros de CI en cuestión de minutos para el repositorio asociado. Los clientes con GitHub Advanced Security también verán los resultados ingeridos de estas herramientas.

Aprende más

Pasos siguientes

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.