Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Inicie sessão no portal Azure.
Vá a Microsoft Defender para a Cloud>DevOps security.
Introduza o nome do seu repositório de código na barra de pesquisa (Exemplo: zava-webshop).
Valida que realmente pertence à organização que estás a monitorizar (Exemplo: zava-corporation org).
Verifique se há resultados para o repositório.
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.
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.
Certifica-te de que a análise sem agente está ativada para o teu conector GitHub.
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.
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.
Valide que o Defender para a Cloud (no Azure Container Registry) digitalizou a imagem do contentor e usou-a para criar um contentor.
Na sua consulta, adicione as condições para a sua implementação específica.
Verifique que o contentor está em execução e que o Defender para a Cloud analisou o cluster AKS.
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.
No GitHub, vai à organização do GitHub que usaste para os testes de configuração.
Selecionar Segurança>Campanhas>Criar Campanha>A partir de filtros de varredura de código.
Esta campanha ajudou a priorizar as conclusões do GHAS que pertencem a código verdadeiramente implementado e em funcionamento.
Selecione filtros de Riscos de Execução para a campanha.
Selecione Guardar>Publicar como campanha. Introduza a informação necessária e depois publique a campanha.
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.
No portal Defender para a Cloud, vá ao separador Recomendações.
Procure o nome do contentor que criou a partir do seu repositório de código.
Abra uma das recomendações do software Update ; o nome da recomendação começa por Atualização
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.
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.
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.
Na aba Remediation Insights, reveja a caixa Tempo de Execução afetada.
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.
Se não existir nenhum problema e tiveres as permissões necessárias, podes gerar um novo problema no GitHub. Selecione Executar ação.
Selecione a opção Gerar issue no GitHub no popup.
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.
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.
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.
- Atribui um agente de programação do GitHub ao problema.
- Revê a correção gerada.
- Se a solução parecer razoável, aplique-a.
- Observe enquanto o Defender para a Cloud atualiza o estado do problema para Fechado.