Configurar a ação do GitHub Segurança da Microsoft DevOps

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

O Segurança da Microsoft DevOps usa as seguintes ferramentas de software livre:

Name Linguagem License
AntiMalware A proteção antimalware no Windows do Microsoft Defender para Ponto de Extremidade, que verifica a presença de malware e interrompe a compilação se malware for encontrado. Essa ferramenta verifica por padrão o agente mais recente do Windows. Não é de software livre
Bandit Python Licença do Apache 2.0
BinSkim Binário– Windows, ELF Licença do MIT
Checkov Terraform, plano Terraform, CloudFormation, AWS (Amazon Web Services) SAM, Kubernetes, gráficos do Helm, Kustomize, Dockerfile, sem servidor, Bicep, OpenAPI, ARM Licença do Apache 2.0
ESlint JavaScript Licença do MIT
Analisador de Modelos Modelo do ARM, Bicep Licença do 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

Antes de configurar a ação Segurança da Microsoft DevOps no GitHub, certifique-se de cumprir os seguintes pré-requisitos:

Configure o fluxo de trabalho de ações do GitHub

Para configurar a ação GitHub:

  1. Faça login no GitHub.

  2. Selecione um repositório para o qual você 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. Ao começar com o GitHub Actions, selecione configurar um fluxo de trabalho você mesmo.

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

  6. Insira um nome para o 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 seguinte fluxo de trabalho de exemplo para ações na aba 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 }}
    

    Note

    Para mais opções e instruções de configuração de ferramentas, consulte o wiki Segurança da Microsoft DevOps.

  8. Selecione Iniciar confirmação.

    Captura de tela mostrando onde selecionar iniciar commit.

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

    Captura de tela mostrando como confirmar 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.

Ver resultados da varredura

Para exibir os resultados da verificação:

  1. Inicie sessão no Azure.

  2. Acesse Defender para Nuvem>DevOps Security.

  3. No painel de segurança DevOps, você pode ver os mesmos resultados de segurança do Segurança da Microsoft DevOps (MSDO). Os desenvolvedores veem esses resultados em seus logs de CI para o repositório associado em minutos. Os clientes com GitHub Advanced Security também veem as descobertas ingeridas dessas ferramentas.

Próxima etapa