Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este guia guia-o pelos passos de configuração e outras ações para o ajudar a integrar o GitHub Advanced Security (GHAS) e o Microsoft Defender for Cloud. Esta integração ajuda-o a maximizar a segurança das aplicações cloud-native da Microsoft.
Ao seguir este guia, você:
- Configura o teu repositório GitHub para cobertura Defender para a Cloud.
- Crie um fator de risco em tempo real.
- Teste casos de uso reais no Defender for Cloud.
- Liga o código aos recursos na cloud.
- Inicia uma campanha de segurança no GitHub. Esta campanha utiliza o contexto de execução para priorizar alertas de segurança GHAS com base no contexto de execução.
- Criar problemas no GitHub a partir do Defender for Cloud para iniciar a correçã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 for Cloud - Licença GHAS - Defender Cloud Security Posture Management (CSPM) ativado na subscrição - Microsoft Security Copilot (opcional para remediação automática) |
| Funções e permissões | - Permissões de Administrador de Segurança - Leitor de Segurança na subscrição do Azure (para ver os resultados no Defender para a Cloud) - Proprietário da organização GitHub |
| 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 repositório GitHub de exemplo que já tenha todo o conteúdo necessário para construir uma imagem de contentor vulnerável. Antes de configurar um repositório, certifique-se de que:
Define um conector para a organização GitHub que planeia usar no portal Defender for Cloud. Siga os passos em Ligar o seu ambiente GitHub ao Microsoft Defender for Cloud.
Configura a análise de código sem agente para o seu conector do GitHub. Siga os passos em Configurar a análise de código sem agente (pré-visualização).
O repositório que usas para a integração é privado.
Se quiser usar um repositório de exemplo, clone o seguinte repositório para a sua organização no GitHub: build25-woodgrove/mdc-customer-playbook. Este repositório destina-se a clientes testarem a integração do Defender for Cloud e do GHAS. Tem o GHAS ativado e está integrado num tenant Azure que tem o Defender CSPM ativado.
No repositório, siga estes passos:
Vá para Configurações.
No painel esquerdo, selecione Segredos e variáveis>Ações. Depois seleciona o segredo do novo repositório.
Adicione os seguintes segredos ao nível do repositório ou da organização:
Variable Description ACR_ENDPOINTO servidor de login do registo de contentores ACR_USERNAMEO nome de utilizador do registo de contentores ACR_PASSWORDA palavra-passe do registo de contentores Observação
Os nomes podem ser escolhidos livremente e não precisam de seguir um padrão específico.
Pode encontrar esta informação no portal Azure seguindo estes passos:
No seu repositório, selecione Ações.
Selecione o workflow Compilar e Enviar para o ACR, e depois selecione Executar workflow.
Verifique se a imagem foi implementada no seu registo de contentores.
Para o repositório de exemplo, a imagem deve estar num registo chamado mdc-mock-0001 com a tag mdc-ghas-integration.
Implemente a mesma imagem que um contentor em execução no seu cluster. Uma forma de completar este passo é ligando-te ao cluster e usando o
kubectl runcomando. Aqui está um exemplo para o Azure Kubernetes Service (AKS):Defina a subscrição do cluster:
az account set --subscription $subscriptionIDDefina as credenciais para o cluster:
az aks get-credentials --resource-group $resourceGroupName --name $kubernetesClusterName --overwrite-existingImplemente a imagem:
kubectl run $containerName --image=$registryName.azurecr.io/mdc-mock-0001:mdc-ghas-integration
Passo 2: Criar o primeiro fator de risco (regra crítica para o negócio)
Um dos fatores de risco que o Defender for Cloud deteta para esta integração é a criticidade empresarial. As organizações podem criar regras para rotular os recursos como críticos para o negócio.
No portal Defender for Cloud, vá a Definições do Ambiente>Criticidade de Recursos.
No painel direito, selecione o link para abrir o Microsoft Defender.
Selecionar Criar uma nova classificação.
Introduza um nome e descrição.
No construtor de consultas, selecione recurso de nuvem.
Escreva uma consulta para definir o Nome do Recurso igual ao nome do contentor que implementou no seu cluster para validação. Em seguida, selecione Seguinte.
Na página Pré-visualização de Ativos, se o Microsoft Defender já tiver detetado o seu recurso, o nome do contentor aparece com um tipo de ativo K8s-container ou K8s-pod.
Mesmo que o nome ainda não seja visível, continue com o passo seguinte. O Microsoft Defender aplica a etiqueta de criticidade ao contentor depois de o detetar. Este processo pode demorar até 24 horas.
Escolha um nível de criticidade e depois reveja e submeta a sua regra de classificação.
Passo 3: Valide que o seu ambiente está pronto
Observação
Pode demorar até 24 horas após a aplicação dos passos anteriores para ver os resultados seguintes.
Testa se a varredura sem agente do GitHub capta o repositório.
Vai ao Cloud Security Explorer e faz a consulta.
Valide que o Defender for 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 for Cloud analisou o cluster AKS.
Valide que os fatores de risco estão corretamente configurados do lado do Defender for Cloud. Procure o nome do seu contentor na página de inventário do Defender for Cloud, e deverá vê-lo marcado como crítico.
Passo 4: Criar uma campanha no GitHub
Como o fluxo de trabalho lança uma imagem que cria um contentor em execução com um dos fatores de risco (crítico para o negócio), os programadores podem ver os fatores de risco no GitHub.
Observação
Depois de classificar o seu recurso como crítico, pode demorar até 12 horas até o Defender for Cloud enviar os dados para o GitHub. Mais informações.
No GitHub, vai à organização GitHub que usaste para os testes de configuração.
Selecionar Segurança>Campanhas>Criar Campanha>A partir de filtros de varredura de código.
Crie a seguinte campanha. Esta campanha mostra alertas abertos com gravidade média, onde a imagem distribuída a partir do repositório está associada a um recurso crítico. O seu repositório de testes deve ser detetado com esta campanha.
Selecione Guardar>Publicar como campanha.
Introduza a informação necessária e depois publique a campanha.
Passo 5: Avaliar as recomendações de código para a nuvem
Use recomendações de code-to-cloud e alertas de segurança para compreender o estado dos problemas de segurança. Pode então atribuir a recomendação para resolução à equipa de engenharia relevante com a ajuda da ligação entre os alertas de segurança do Dependabot e os IDs de vulnerabilidades e exposições comuns (CVE) correspondentes no Defender for Cloud.
Para ver as recomendações de código para nuvem:
No portal Defender for Cloud, vá ao separador Recomendações.
Procure o nome do contentor que criou. Depois, abra uma das recomendações que inclua a palavra Atualizar.
Se usou o repositório de exemplo, procure a recomendação Update brace-expansion.
Vai ao separador Remediation Insights e vê o diagrama code-to-cloud. 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 da origem no GitHub.
Ver alertas de segurança
Selecione o separador CVEs associados. Repare que alguns IDs CVE têm um link Ver no GitHub na coluna Alertas Relacionados no GitHub.
Selecione o link para abrir o alerta de segurança GHAS relevante.
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 for 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.
A issue do GitHub é gerada automaticamente com todos os IDs CVE encontrados no âmbito da recomendação. A recomendação é tanto com como sem alertas Dependabot correspondentes, incluindo outros contextos de execução no repositório original.
Quando atribui o problema, o estado do problema é atualizado no portal Defender for Cloud.
Fazer correções agenciais
Do lado do GitHub, se tiveres uma licença do GitHub Copilot, podes resolver o problema com a ajuda do agente de programaçã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 for Cloud atualiza o estado do problema para Fechado.
Conteúdo relacionado
- O que é a integração do GitHub Advanced Security com o Microsoft Defender for Cloud (pré-visualização)?
- Visão geral da segurança do Microsoft Defender for Cloud DevOps
- Início Rápido: Ligue o seu ambiente GitHub ao Microsoft Defender for Cloud
- Configurar a análise de código sem agente (pré-visualização)