Configurar a ação do GitHub do Microsoft Security DevOps

O Microsoft Security DevOps é um aplicativo de linha de comando que integra ferramentas de análise estática ao ciclo de vida de desenvolvimento. O Security DevOps instala, configura e executa as versões mais recentes das ferramentas de análise estática, como as ferramentas de conformidade, segurança e do SDL. O Security DevOps é orientado a dados com configurações portáteis que permitem a execução determinística em vários ambientes.

O Microsoft Security DevOps usa as seguintes ferramentas de código aberto:

Nome Idioma Licença
AntiMalware Proteção AntiMalware no Windows a partir do Microsoft Defender para Ponto de Extremidade que examina por malware e interrompe a compilação se o malware for encontrado. Esta ferramenta faz a varredura por padrão no agente mais recente do Windows. Sem código aberto
Bandit Python Licença do Apache 2.0
BinSkim Binário--Windows, ELF Licença MIT
Checkov Terraform, plano Terraform, CloudFormation, AWS SAM, Kubernetes, gráficos Helm, Kustomize, Dockerfile, Sem servidor, Bicep, OpenAPI, ARM Licença do Apache 2.0
ESlint JavaScript Licença MIT
Analisador de Modelos Modelo do ARM, Bicep Licença MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licença do Apache 2.0
Trivy imagens de contêiner, IaC (infraestrutura como código) Licença do Apache 2.0

Pré-requisitos

Configurar a ação do GitHub do Microsoft Security DevOps

Para configurar a ação do GitHub:

  1. Entre no GitHub.

  2. Selecione um repositório para o qual deseja configurar a ação do GitHub.

  3. Selecione Ações.

    Captura de tela que mostra onde o botão Ações está localizado.

  4. Selecione Novo fluxo de trabalho.

  5. Na página Introdução ao GitHub Actions, selecione configurar um fluxo de trabalho por conta própria

    Captura de tela mostrando onde selecionar o botão Novo fluxo de trabalho.

  6. Na caixa de texto, digite um nome para seu arquivo de fluxo de trabalho. Por exemplo, msdevopssec.yml.

    Captura de tela que mostra onde inserir um nome para o novo fluxo de trabalho.

  7. Copie e cole o exemplo de fluxo de trabalho de ação a seguir na guia Editar novo arquivo.

    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 }}
    

    Observação

    Para obter opções e instruções adicionais de configuração de ferramentas, veja o wiki do Microsoft Security DevOps

  8. Selecione Iniciar commit

    Captura de tela mostrando onde selecionar para iniciar commit.

  9. Selecione Confirmar novo arquivo. Observe que o processo pode levar até um minuto para ser concluído.

    Captura de tela mostrando como fazer commit de um novo arquivo.

  10. Selecione Ações e verifique se a nova ação está em execução.

    Captura de tela mostrando para onde navegar, para ver se sua nova ação está em execução.

Exibir resultados da verificação

Para ver os resultados da verificação:

  1. Inicie sessão no Azure.

  2. Navegue até Defender para Cloud > DevOps Security.

  3. Na lâmina de segurança DevOps, você deverá começar a ver os mesmos resultados de segurança MSDO que os desenvolvedores veem em seus logs de CI em poucos minutos para o repositório associado. Os clientes com GitHub Advanced Security também verão as descobertas obtidas dessas ferramentas.

Saiba mais

Próximas etapas

Saiba mais sobre a segurança do DevOps no Defender para Nuvem.

Saiba como conectar suas organizações do GitHub ao Defender para Nuvem.