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, e depois validar a integração de ponta a ponta. A 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 de origem 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
| Aspect | 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 visualizar resultados no Defender para a Cloud - Proprietário da organização GitHub para ligar 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
Complete os seguintes passos para configurar o seu repositório GitHub e as definições do Defender para a Cloud antes de validar a integração.
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 de exemplo. O projeto sandbox fornece um repositório GitHub de teste com tudo o que precisa 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, por exemplo, zava-webshop.
Valide que pertence à organização que está a monitorizar, por exemplo, a organização zava-corporation .
Verifique se há resultados para o repositório.
Garantir que o estado de segurança avançado está Ativado. Esta configuração indica que o GitHub Advanced Security está ativado no repositório monitorizado.
Se o seu repositório não for encontrado, consulte o guia de iniciação rápida do conector GitHub para obter orientações sobre resolução de problemas e configuração.
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
Esta validação do ambiente confirma que o seu repositório e os recursos cloud estão configurados corretamente. Verifica se o Defender consegue apresentar recomendações do código para o runtime e produzir resultados úteis. Durante a etapa de validação ambiental, o Defender verifica que:
- 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.
Valide a visibilidade completa do código ao ambiente de execução
Testa se 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.
Note
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.
No Azure Container Registry, valide que o Defender para a Cloud 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. Deverás vê-lo assinalado como crítico.
Note
Este passo só é necessário se os fatores de risco ainda não estiverem configurados no seu ambiente. Se já usa fatores de risco, pode verificar a sua configuração em Definições>de Criticidade de Recursos.
A validação bem-sucedida garante que os próximos passos, como recomendações, campanhas e geração de edições no GitHub, produzam resultados significativos.
Note
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. Para mais informações, consulte Priorizar o Dependabot e alertas de leitura de código.
Passo 3: Criar uma campanha no GitHub
Para criar uma campanha de análise, faça-o ao nível da organização no 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.
A campanha de risco em tempo de execução ajuda a priorizar as conclusões do GitHub Advanced Security (GHAS) que pertencem a código verdadeiramente implementado e em execução.
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.
Acompanha o avanço da campanha.
Passo 4: Agir de acordo com as recomendações
Utilize a funcionalidade do código ao runtime das recomendações do Containers VA em execução e a correlação dos CVEs identificados com os alertas de segurança do Dependabot para compreender o estado dos problemas 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 de software de atualização . O nome da recomendação começa por Update.
Selecione CVEs associados.
Os alertas de segurança aparecem como parte do fluxo de avaliação de recomendações. Estes alertas fornecem indicações sobre as descobertas do GitHub Advanced Security que já são conhecidas pela engenharia. Alguns IDs CVE têm uma ligação "View on GitHub" na coluna Alertas do 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 a próxima utilização ou contactar o administrador do GitHub.
Se a coluna Related GitHub Alerts mostrar um alerta Dependabot correspondente, a vulnerabilidade já é conhecida pela engenharia. Se o estado do alerta for Ativo, ninguém o corrigiu ainda, e o problema precisa de ser priorizado para uma solução.
Se não aparecer um alerta do GitHub correspondente na coluna, o CVE representa um risco de execução desconhecido para a engenharia que precisa de ser priorizado para uma 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 incidente do GitHub é gerado automaticamente no repositório de código-fonte com todos os identificadores CVE encontrados no âmbito da recomendação, incluindo outros contextos de tempo de execução e relacionados com o ciclo de vida de desenvolvimento de software (SDLC) de contentores, que podem ajudar na correção e nos testes.
Da perspetiva de recomendações, podes gerar explicitamente um problema no GitHub para acompanhar o trabalho de remediação.
Vai ao Remediation Insights e vê o diagrama código-para-tempo de 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.
No separador Remediation Insights , reveja a caixa de 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, vê uma notificação popup com um link para o problema. A questão é criada no repositório de origem.
Note
Se a opção Gerar problema no GitHub não estiver disponível, pode faltar permissões no GitHub ou no repositório. Contacte o seu GitHub ou administrador do repositório para solicitar acesso.
Fazer correções agenciais
Se tiveres uma licença GitHub Copilot, podes resolver o problema com a ajuda do agente de programação 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.