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
Una suscripción a Azure: si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Abra la acción GitHub de DevOps de seguridad de Microsoft en una nueva ventana.
Asegúrese de que los Permisos de flujo de trabajo estén establecidos en Lectura y Escritura en el repositorio de GitHub. Esto incluye la configuración de permisos "id-token: write" en el flujo de trabajo de GitHub para la federación con Defender for Cloud.
Configuración de la acción de GitHub de DevOps de seguridad de Microsoft
Para configurar la acción de GitHub:
Inicia sesión en GitHub.
Seleccione el repositorio en el que quiere configurar la acción de GitHub.
Seleccione Actions (Acciones).
Seleccione New workflow (Nuevo flujo de trabajo).
En la página Introducción a Acciones de GitHub, seleccione Configure un flujo de trabajo usted mismo.
En el cuadro de texto, escriba el del archivo del flujo de trabajo. Por ejemplo,
msdevopssec.yml
.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 instrucciones y opciones de configuración de herramientas adicionales, consulte la wiki de Microsoft Security DevOps
Seleccione Iniciar confirmación.
Seleccione Commit new file (Confirmar nuevo archivo). Tenga en cuenta que el proceso puede tardar hasta un minuto en completarse.
Seleccione Acciones y compruebe que se está ejecutando la nueva acción.
Visualización de los resultados del examen
Para ver los resultados del examen:
Inicie sesión en Azure.
Vaya a Defender for Cloud > DevOps Security.
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.
Saber más
Obtenga información sobre las Acciones de GitHub para Azure.
Aprenda a implementar aplicaciones de GitHub a Azure.
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.