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 por todos os passos de configuração para o ajudar a tirar o máximo proveito da segurança de aplicações nativas na cloud da Microsoft, integrando o GitHub Advanced Security (GHAS) e o Microsoft Defender for Cloud (MDC).
Ao seguir este guia, você:
- Configura o teu repositório GitHub para cobertura do Microsoft Defender for Cloud (MDC)
- Criar um fator de risco em tempo real
- Testar casos de uso reais no MDC
- Código de ligação para recursos cloud
- Inicie uma campanha de segurança no GitHub, aproveitando o contexto de runtime para priorizar os alertas de segurança GHAS com base no contexto de runtime
- Criar problemas no GitHub a partir do MDC para iniciar a remediação
- Fechar o ciclo entre as equipas de Engenharia e Segurança
Pré-requisitos
| Aspeto | Detalhes |
|---|---|
| Requisitos Ambientais | - Conta GitHub com conector criado no Microsoft Defender for Cloud (MDC) - Licença GitHub Advanced Security (GHAS) - Defender CSPM ativado na subscrição - GitHub Security Copilot (opcional para remediação automática) |
| Papéis e Permissões | - Permissões de Administrador de Segurança - Leitor de Segurança na Subscrição Azure (para visualizar as conclusões no MDC) - Proprietário da organização GitHub |
| Ambientes Cloud | - Disponível apenas em Nuvens Comerciais (não no Governo dos EUA, Governo da China ou outras nuvens 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.
Certifique-se de definir um conector para a organização GitHub que pretende usar no portal Microsoft Defender for Cloud. Para definição de conectores, siga os passos em Conecte as suas organizações no GitHub.
Certifica-te de que tens a análise de código sem agentes configurada para o teu conector GitHub. Se não, siga os passos de: Configurar a varredura de código sem agente (Pré-visualização).
Observação
Certifica-te de que o repositório que usas para a integração é privado.
Se quiseres usar um repositório de exemplo, clona o repositório seguinte para a tua organização no GitHub. Este repositório tem GHAS ativado e está integrado num tenant Azure com DCSPM ativado:build25-woodgrove/mdc-customer-playbook. Este repositório destina-se aos clientes a testarem a integração com o Microsoft Defender for Cloud e o GHAS.
No repositório, siga estes passos:
- Vá para Configurações.
- No painel esquerdo, selecione Segredos e Variáveis>Ações.
- Adicione os seguintes segredos ao nível do repositório ou da organização:
| Variable | Description |
|---|---|
| ACR_ENDPOINT | O servidor de login do Azure Container Registry |
| ACR_PASSWORD | A palavra-passe do Azure Container Registry |
| ACR_USERNAME | O nome de utilizador do Azure Container Registry |
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:
Selecione o ACR para o qual deseja fazer a implantação.
Selecione Teclas de Acesso em Definições.
No seu repositório, selecione Ações.
Seleciona o fluxo de trabalho Build and Push to ACR e executa o fluxo.
Verifique se a imagem foi implementada no seu Azure Container Registry.
Para o repositório de exemplo fornecido: 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 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: Crie 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 diferentes recursos como críticos para o negócio.
No portal Microsoft Defender for Cloud (portal Azure), vá a Definições de Ambiente, escolha 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.
Escolha recurso na Cloud no construtor de consultas.
Escreva uma consulta para definir o Nome do Recurso igual ao nome do contentor que implementou no seu cluster para validação e selecione Próximo.
Na página de Pré-visualização dos Ativos , se o Microsoft Defender já detetou o seu recurso, o nome do contentor aparece com o tipo de ativo sendo K8s-container ou K8s-pod. Mesmo que ainda não seja visível na página de recursos de pré-visualização, continue com o próximo passo. O Microsoft Defender aplica a etiqueta de criticidade ao contentor assim que detetado. Este processo pode demorar até 24 horas.
Escolha um nível de criticidade, 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 necessidade de agente do GitHub detecta o repositório.
Valide que o MDC (no ACR) 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á a funcionar e que o MDC analisou o cluster AKS.
Valide que os fatores de risco estão corretamente configurados do lado do MDC. Procure o nome do seu contentor na página de inventário do MDC 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 a correr 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 MDC enviar os dados para o GitHub. Saiba mais aqui.
No GitHub, vai à organização GitHub que usaste para os testes de configuração.
Selecione Campanhas de Segurança>Crie>uma campanha a partir de filtros de varrimento 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 e depois Publicar como campanha.
Insira a informação necessária e depois publique a campanha.
Passo 5: Avaliar Recomendações de Código para Nuvem
Utilize a experiência do SDLC da Recomendação C2C e o enriquecimento dos alertas de segurança para compreender o estado das questões de segurança e atribuir a recomendação de resolução à equipa de engenharia apropriada, através da ligação entre os alertas de segurança do Dependabot e os CVEs correspondentes na aba CVE associado de recomendação em tempo de execução.
Consulte as Recomendações C2C
- No portal MDC, vá à aba de Recomendações.
- Procura o nome do contentor que criaste e abre uma das recomendações que diz, **Atualizar ***.
- Se usou o repositório de exemplo, procure: Recomendação de expansão de braçadeiras atualizada.
- Vá ao separador Remediation Insights e visualize o código no diagrama da nuvem.
- O diagrama mapeia o teu contentor em execução, para a imagem do contentor no repositório de código, para o repositório de código de origem no GitHub.
Enriquecimento bidirecional
Selecione o separador CVEs associados . Repara que alguns CVEs têm um link na coluna Alertas Relacionados no GitHub.
Selecione o link View no GitHub para abrir o alerta de segurança GHAS relevante.
Mobilização de engenharia
Para fechar o ciclo entre as equipas de Segurança e Engenharia, pode criar um problema no GitHub para uma aplicação containerizada, priorizando para a equipa de engenharia as questões de segurança em que devem focar-se. Esta priorização pode incluir conclusões passageiras que o GHAS não detetou, mas que o MDC detetou para CVEs que não fazem parte de dependências diretas (por exemplo, vulnerabilidades na imagem base, sistema operativo ou software de terceiros como o NGINX).
O tíquete do GitHub é gerado automaticamente com todos os CVEs encontrados no âmbito da recomendação, incluindo aqueles que têm e não têm alertas do Dependabot, correspondendo e incluindo também outro contexto de tempo de execução no repositório de origem.
Quando atribuis o problema, o estado do problema atualiza-se no portal MDC.
Correções agenticas
Do lado do GitHub, se tiver uma licença GitHub Copilot, pode resolver o problema com a ajuda do GitHub Coding Agent:
- Atribui o GitHub Coding Agent ao problema.
- Revê a correção gerada.
- Se parecer razoável, aplica a correção.
- Observe a atualização do estado do problema em MDC para Fechado.