Configurar a integração nativa do GitHub Advanced Security com o Microsoft Defender para a Cloud

Este guia fornece passos de configuração e outras ações para o ajudar a integrar o GitHub Advanced Security (GHAS) e o Microsoft Defender para a Cloud com um caso de uso que o ajude a validar a integração de ponta a ponta. Esta integração ajuda a maximizar a segurança das aplicações cloud-native da Microsoft, correlacionando riscos e contexto em tempo de execução com o código originado para uma remediação mais rápida baseada em IA.

Ao seguir este guia, você:

  • Configure o seu repositório GitHub para cobrir o Defender para a Cloud.
  • Crie um fator de risco em tempo real.
  • Teste casos de uso reais no Defender para a Cloud.
  • Liga o código aos recursos de runtime.
  • Inicia uma campanha de segurança no GitHub. Esta campanha utiliza o contexto de execução para priorizar os alertas de segurança do GHAS.
  • Criar problemas no GitHub a partir do Defender para a Cloud para iniciar a remediação.
  • Fechem o ciclo entre as equipas de engenharia e segurança.

Pré-requisitos

Aspeto Detalhes
Requisitos ambientais - Conta GitHub com um conector criado no Defender para a Cloud
- Licença GitHub Advanced Security (GHAS) em repositórios ligados
- Plano Defender Cloud Security Posture Management (DCSPM) ativado na subscrição
- Microsoft Security Copilot (opcional para remediação automatizada baseada em IA)
Funções e permissões - Permissões de Administrador de Segurança
- Administrador de Segurança na subscrição do Azure (para ver as conclusões no Defender para a Cloud)
- Proprietário da organização GitHub (para conectar repositórios e configurar campanhas de segurança)
Ambientes de cloud - Disponível apenas em clouds comerciais (não no Azure Government, Azure operado pela 21Vianet, ou noutras clouds soberanas)

Prepare seu ambiente

Passo 1: Configurar o repositório do GitHub e executar o fluxo de trabalho

Para testar a integração, use os seus próprios repositórios ou um projeto sandbox exemplo que tenha um repositório de GitHub de testes com todo o conteúdo para construir uma imagem de contentor vulnerável.

  1. Inicie sessão no portal Azure.

  2. Vá a Microsoft Defender para a Cloud>DevOps security.

  3. Introduza o nome do seu repositório de código na barra de pesquisa (Exemplo: zava-webshop).

  4. Valida que realmente pertence à organização que estás a monitorizar (Exemplo: zava-corporation org).

  5. Verifique se há resultados para o repositório.

  6. Certifique-se de que o estado de Segurança Avançada está Ativo, indicando que tem o GitHub Advanced Security ativado no repositório monitorizado — no seu repositório integrado.

  7. Se o seu repositório não for encontrado, consulte a documentação do Microsoft Defender para a Cloud para a resolução de problemas e a integração do conector do GitHub.

  8. Certifica-te de que a análise sem agente está ativada para o teu conector GitHub.

    Captura de ecrã da Configuração do Plano em GPSC do Defender com a leitura de código sem agente ativada e todas as opções do scanner ativadas.

Passo 2: Valide que o seu ambiente está pronto

A validação confirma que o seu ambiente está corretamente configurado para apresentar recomendações durante o tempo de execução e gerar resultados acionáveis. Durante esta etapa, o Defender verifica que:

Código completo para visibilidade em tempo de execução

  • O Microsoft Defender para a Cloud monitoriza continuamente os repositórios de código-fonte para vulnerabilidades de segurança.
  • Artefatos de construção, como imagens de contêineres, são digitalizados nos registos de contêineres antes da implementação.
  • As cargas de trabalho em tempo de execução implementadas nos clusters Kubernetes são monitorizadas quanto a riscos de segurança.
  • O Defender para a Cloud correlaciona e traça cada artefacto desde o código, passando pela compilação e implementação, até ao tempo de execução e vice-versa.

Observação

Pode demorar até 24 horas após a aplicação dos passos anteriores para ver os resultados seguintes.

Teste que a varredura sem agente do GitHub capta o repositório.

Vai a Microsoft Defender para a Cloud>Cloud Security Explorer e realiza a consulta. As consultas de validação testam se o Defender consegue identificar artefactos produzidos pelas suas linhas de processamento e pelas suas cargas de trabalho. Se as consultas devolverem resultados, indica que a varredura e a correlação estão a funcionar como esperado.

Captura de ecrã do Cloud Security Explorer do Defender para a Cloud que mostra uma consulta sobre envios de repositórios GitHub para imagens de contentores.

Observação

Se não forem devolvidos resultados, pode indicar que os artefactos ainda não foram gerados, que a varredura não está configurada ou que faltam permissões. Consulte Papéis de utilizador e permissões para mais informações.

  1. Valide que o Defender para a Cloud (no Azure Container Registry) digitalizou a imagem do contentor e usou-a para criar um contentor.

  2. Na sua consulta, adicione as condições para a sua implementação específica.

    Captura de ecrã do Cloud Security Explorer do Defender para a Cloud mostrando uma consulta de pushes do repositório GitHub para imagens de contentores com vulnerabilidades.

  3. Verifique que o contentor está em execução e que o Defender para a Cloud analisou o cluster AKS.

    Captura de ecrã do Cloud Security Explorer do Defender para a Cloud a mostrar uma consulta sobre envios do GitHub para imagens de contentores com vulnerabilidades.

  4. Valide que os fatores de risco estão corretamente configurados do lado do Defender para a Cloud. Procure o nome do seu contentor na página de inventário do Defender para a Cloud, e deverá vê-lo marcado como crítico.

Observação

Este passo só é necessário se os fatores de risco ainda não estiverem configurados no seu ambiente. Se já utiliza fatores de risco, pode verificar a configuração deles nas Definições > de Criticidade de Recursos.

A validação bem-sucedida garante que passos subsequentes, como recomendações, campanhas e geração de edições no GitHub, produzam resultados significativos.

Observação

Depois de classificar o seu recurso como crítico, pode demorar até 12 horas até o Defender para a Cloud enviar os dados para o GitHub. Mais informações.

Passo 3: Criar uma campanha no GitHub

Para criar uma campanha de digitalização, precisa trabalhar ao nível da organização da GitHub. Esta experiência não está disponível ao nível do repositório individual.

  1. No GitHub, vai à organização do GitHub que usaste para os testes de configuração.

  2. Selecionar Segurança>Campanhas>Criar Campanha>A partir de filtros de varredura de código.

  3. Esta campanha ajudou a priorizar as conclusões do GHAS que pertencem a código verdadeiramente implementado e em funcionamento.

  4. Selecione filtros de Riscos de Execução para a campanha.

    Captura de ecrã da criação de campanha de verificação de código do GitHub com uma barra de filtro, botão de Filtro e um tooltip sobre filtragem por metadados de artefacto.

    Captura de ecrã do diálogo de filtros avançados na criação de campanha GitHub com filtro de Risco em Tempo de Execução e menu de fatores de risco selecionáveis aberto.

  5. Selecione Guardar>Publicar como campanha. Introduza a informação necessária e depois publique a campanha.

  6. Acompanha o avanço da campanha. Captura de ecrã da página de campanha do GitHub mostrando o estado pendente, lista de alertas críticos, barra de progresso da campanha e opções de filtro.

Passo 4: Mobilização de recomendações

Utilize a funcionalidade de mapeamento do código para execução nas recomendações de Containers VA e a correlação dos CVEs identificados com os alertas de segurança do Dependabot para entender o estado das questões de segurança. Pode então atribuir a recomendação para resolução à equipa de engenharia relevante com base no mapeamento code-to-runtime.

  1. No portal Defender para a Cloud, vá ao separador Recomendações.

  2. Procure o nome do contentor que criou a partir do seu repositório de código.

  3. Abra uma das recomendações do software Update ; o nome da recomendação começa por Atualização

  4. Selecione a aba CVEs Associados. Alertas de segurança aparecem como parte do fluxo de avaliação de recomendações. Estes alertas fornecem indicações sobre as descobertas de segurança do GitHub Advanced que já são conhecidas pela engenharia. Note que alguns IDs CVE têm um link Ver no GitHub na coluna de Alertas GitHub relacionados.

    Captura de ecrã do separador de Detecção do Defender para a Nuvem mostrando alertas CVE-2024-21409, estado da correção, pontuações CVSS e detalhes de alerta do GitHub.

Selecione o link para abrir o alerta de segurança GHAS relevante. (Para visualizar o conteúdo de alertas GHAS no GitHub, deve ter permissões de acesso ao repositório relevante do GitHub. Se não tiver permissões de acesso, pode sempre copiar o link para uso subsequente ou contactar o administrador do GitHub.)

Se houver um alerta de enriquecimento, há um alerta Dependabot correspondente que já é conhecido pela engenharia. Se o estado for Ativo, ninguém o corrigiu ainda, e o problema precisa de ser priorizado para uma correção.

Se não encontrar enriquecimento, isto indica um risco em tempo de execução desconhecido para a engenharia que precisa de ser priorizado para a correção.

O que é que se segue? Como é que eu saberia quem é a equipa relevante para a correção? Como é que eu saberia qual o contexto que pode ajudar a engenharia com a correção?

Criar um problema no GitHub

Para fechar o ciclo entre as equipas de segurança e engenharia, pode criar um problema no GitHub que priorize os problemas de segurança em que a equipa de engenharia deve focar-se. Esta priorização pode incluir resultados que o GHAS não detetou, mas que o Defender para a Cloud detetou relacionadas com IDs CVE que não fazem parte de dependências diretas. Estas descobertas podem incluir vulnerabilidades na imagem base, no sistema operativo ou em software como o NGINX.

O problema do GitHub é gerado automaticamente no repositório de código de origem, com todos os IDs CVE encontrados no âmbito da recomendação, incluindo outros contextos de runtime e containers relacionados com SDLC que podem ajudar a facilitar a correção e os testes.

Da perspetiva de recomendações, podes gerar explicitamente um problema no GitHub para acompanhar o trabalho de remediação.

  1. Vá ao separador Remediation Insights e visualize o diagrama do código até à execução. O diagrama mapeia o teu contentor em execução para a imagem do contentor no repositório de código e para o repositório de código de origem no GitHub.

    Captura de ecrã do Remediation Insights que mostra o diagrama de código para tempo de execução com níveis de risco e o menu Take Action aberto na caixa de Runtime.

    1. Na aba Remediation Insights, reveja a caixa Tempo de Execução afetada.

    2. Valide se já existe um problema de GitHub. Se já existir um problema no GitHub, aparece um ícone do GitHub na caixa. Passe o rato sobre o ícone para ver os detalhes da questão.

    3. Se não existir nenhum problema e tiveres as permissões necessárias, podes gerar um novo problema no GitHub. Selecione Executar ação.

    4. Selecione a opção Gerar issue no GitHub no popup.

    5. Se o problema foi criado com sucesso, verá uma notificação pop-up com um link para o problema. A questão é criada no repositório de origem.

      Captura de ecrã da lista de problemas GitHub a mostrar problemas abertos para dependências com rótulos como Defender para a Cloud e security.

    Observação

    Se a opção de Gerar GitHub não estiver disponível, talvez estejam ausentes as permissões necessárias do GitHub ou do repositório. Contacte o seu GitHub ou administrador do repositório para solicitar acesso.

    Captura de ecrã da lista de problemas GitHub a mostrar problemas abertos para dependências com rótulos como Defender para a Cloud e security.

    1. Acompanhar atualizações de propriedade e estado - alterações ao estado da emissão ou à cessão feitas em GitHub refletem-se no Microsoft Defender para a Cloud, permitindo-lhe acompanhar o progresso da propriedade e da remediação a partir da perspetiva Recomendações.

      Captura de ecrã da página de Recomendações do Microsoft Defender para a Cloud mostrando problemas de alto risco com popup de detalhes de problema do GitHub.

Fazer correções agenciais

Do lado do GitHub, se tiver uma licença do GitHub Copilot, pode resolver o problema com a ajuda do assistente de codificação do GitHub.

  1. Atribui um agente de programação do GitHub ao problema.
  2. Revê a correção gerada.
  3. Se a solução parecer razoável, aplique-a.
  4. Observe enquanto o Defender para a Cloud atualiza o estado do problema para Fechado.