Verificação de código sem agente no Microsoft Defender for Cloud
A análise de código sem agente no Microsoft Defender para a Cloud oferece cobertura de segurança rápida e escalável para todos os repositórios no Azure DevOps. Ele encontra rapidamente vulnerabilidades em configurações de código e infraestrutura como código (IaC) sem a necessidade de agentes ou alterações de pipeline de Integração Contínua e Implantação Contínua (CI/CD). Essa abordagem simplifica a instalação e a manutenção com um único conector de DevOps do Azure e fornece ampla cobertura, insights contínuos e descobertas de segurança acionáveis. Ele permite que as equipes de segurança e desenvolvimento se concentrem na correção de riscos sem problemas, sem interromper os fluxos de trabalho de desenvolvimento.
Pré-requisitos
Estado de lançamento: Pré-visualização pública
Casos de uso suportados:
Nuvens: nuvens comerciais do Azure
Regiões suportadas: Leste da Austrália, Canadá Central, Centro dos EUA, Leste Asiático, Leste dos EUA, Norte da Europa, Suécia Central, Sul do Reino Unido, Europa Ocidental
Ambientes suportados: conector do Azure DevOps
Funções e permissões:
Para instalar e configurar o conector:
- Project Collection Admin: Necessário no Azure DevOps para executar a configuração inicial.
- Colaborador da Assinatura: Necessário na assinatura do Azure para criar e configurar o conector.
Para visualizar os resultados de segurança:
- Administrador de segurança: pode gerenciar configurações de segurança, políticas e alertas, mas não pode modificar o conector.
- Leitor de segurança: pode exibir recomendações, alertas e políticas, mas não pode fazer alterações.
Principais benefícios
- Gestão proativa de riscos: Identificar riscos no início do processo de desenvolvimento. Isso suporta práticas de codificação seguras e reduz as vulnerabilidades antes que elas cheguem à produção.
- Integração sem esforço: configure rapidamente com o mínimo de configuração e sem alterações no pipeline.
- Gerenciamento centralizado em escala empresarial: digitalize automaticamente o código em vários repositórios usando um único conector. Isso proporciona ampla cobertura para ambientes grandes.
- Insights rápidos para correção rápida: receba informações acionáveis sobre vulnerabilidades logo após a integração. Isso permite correções rápidas e reduz o tempo de exposição.
- Fácil de desenvolver e sem descontinuidades: opere independentemente dos pipelines de integração contínua e implementação contínua (CI/CD), sem necessidade de alterações ou envolvimento direto do programador. Isso permite o monitoramento contínuo da segurança sem interromper a produtividade ou os fluxos de trabalho do desenvolvedor.
Capacidades de deteção de riscos
A verificação de código sem agente melhora a segurança, oferecendo recomendações de segurança direcionadas para modelos de código e infraestrutura como código (IaC). Isso se soma às recomendações de segurança do CSPM (Foundational Cloud Security Posture Management) fornecidas por meio do conector. As principais capacidades de deteção incluem:
- Vulnerabilidades de código: encontre erros de codificação comuns, práticas de codificação inseguras e vulnerabilidades conhecidas em várias linguagens de programação.
- Configurações incorretas de infraestrutura como código: detete configurações incorretas de segurança em modelos de IAC que podem levar a implantações inseguras.
A criação do conector aumenta a segurança fornecendo um conjunto básico de recomendações de segurança para repositórios, pipelines e conexões de serviço.
Ferramentas de digitalização
A verificação de código sem agente usa várias ferramentas de código aberto para encontrar vulnerabilidades e configurações incorretas em modelos de código e infraestrutura como código (IaC):
Ferramenta | IaC/idiomas suportados | Licença |
---|---|---|
Bandido | Python | Apache 2.0 |
Checkov | Modelos Terraform IaC, arquivos de plano Terraform, modelos do AWS CloudFormation, arquivos de manifesto do Kubernetes, arquivos de gráfico Helm, Dockerfiles, modelos IaC do Azure Azure Resource Manager (ARM), modelos do Azure Bicep IaC, modelos do AWS SAM (modelo de aplicativo sem servidor), arquivos Kustomize, modelos de estrutura sem servidor, arquivos de especificação OpenAPI | Apache 2.0 |
ESLint | JavaScript, TypeScript, JSX, TSX | MIT |
Analisador de modelos | Modelos ARM IaC, modelos Bicep IaC | MIT |
Essas ferramentas suportam uma ampla gama de linguagens e estruturas IaC, garantindo uma análise de segurança completa em toda a sua base de código.
Plataformas e tipos de ficheiros suportados
Sistemas de controlo de versão
- Azure DevOps: Suporte completo para repositórios conectados por meio do conector do Azure DevOps.
Linguagens de programação
- Python
- JavaScript/TypeScript
Plataformas e configurações de infraestrutura como código (IaC)
Plataforma IaC | Tipos de ficheiros suportados | Notas |
---|---|---|
Terraform |
.tf , .tfvars |
Suporta modelos Terraform IaC na linguagem HCL2, incluindo arquivos variáveis no .tfvars . |
Plano Terraform | Ficheiros JSON | Inclui arquivos JSON que representam configurações planejadas, usados para análise e digitalização. |
AWS CloudFormation | JSON, arquivos YAML | Oferece suporte a modelos do AWS CloudFormation para definir recursos da AWS. |
Kubernetes | YAML, arquivos JSON | Suporta arquivos de manifesto do Kubernetes para definir configurações em clusters. |
Helm | Helm chart directory structure, arquivos YAML | Segue a estrutura padrão do gráfico de Helm; suporta arquivos de gráficos Helm v3. |
Docker | Arquivos chamados Dockerfile | Suporta Dockerfiles para configurações de contêiner. |
Modelos ARM do Azure | Ficheiros JSON | Suporta modelos IaC do Azure Resource Manager (ARM) no formato JSON. |
Azure Bicep | Arquivos .bicep | Suporta modelos Bicep IaC, uma linguagem específica de domínio (DSL) para ARM. |
AWS SAM | Ficheiros YAML | Suporta modelos AWS Serverless Application Model (SAM) para recursos sem servidor. |
Kustomize | Ficheiros YAML | Suporta arquivos de configuração para personalização do Kubernetes (Kustomize). |
Estrutura sem servidor | Ficheiros YAML | Suporta modelos para a estrutura Serverless na definição de arquiteturas sem servidor. |
OpenAPI | YAML, arquivos JSON | Suporta arquivos de especificação OpenAPI para definir APIs RESTful. |
Habilite a verificação de código sem agente em suas organizações do Azure DevOps
Para conectar suas organizações de DevOps do Azure ao Defender for Cloud e habilitar a verificação de código sem agente, consulte as instruções em Conectar suas organizações de DevOps do Azure. O visual a seguir mostra o processo de configuração rápido e direto, guiando você em cada etapa para uma integração perfeita.
Como funciona a verificação de código sem agente
A verificação de código sem agente funciona independentemente dos pipelines de CI/CD. Ele usa o conector do Azure DevOps para verificar automaticamente o código e as configurações de infraestrutura como código (IaC). Não é necessário modificar pipelines ou adicionar extensões. Essa configuração permite uma análise de segurança ampla e contínua em vários repositórios. Os resultados são processados e mostrados diretamente no Microsoft Defender for Cloud.
Processo de digitalização
Depois de ativar o recurso de varredura de código sem agente em um conector, o processo de verificação segue estas etapas:
- Descoberta de repositório: o sistema identifica automaticamente todos os repositórios vinculados por meio do conector do Azure DevOps logo após a criação do conector e, em seguida, a cada 8 horas.
- Recuperação de código: Ele recupera com segurança o código mais recente da ramificação padrão (principal) de cada repositório para análise, primeiro após a configuração do conector e depois a cada 3-4 dias.
- Análise: O sistema usa um conjunto de ferramentas de verificação integradas gerenciadas e atualizadas dentro do Microsoft Defender for Cloud para encontrar vulnerabilidades e configurações incorretas em código e modelos de IAC.
- Processamento de descobertas: processa as descobertas de verificação por meio do back-end do Defender for Cloud para criar recomendações de segurança acionáveis.
- Entrega de resultados: o sistema mostra as descobertas como recomendações de segurança no Defender for Cloud, permitindo que as equipes de segurança analisem e resolvam problemas.
Frequência e duração do exame
-
Frequência de varredura:
- A postura de segurança de repositórios, pipelines e conexões de serviço é avaliada quando você cria o conector e, em seguida, a cada 8 horas.
- O sistema verifica o código e os modelos de infraestrutura como código (IaC) em busca de vulnerabilidades depois de criar o conector e, em seguida, a cada 3-4 dias.
- Duração da varredura: as varreduras geralmente terminam dentro de 15 a 60 minutos, dependendo do tamanho e da complexidade do repositório.
Visualizar e gerenciar resultados de varredura
Após a conclusão das verificações, você poderá acessar as descobertas de segurança no Microsoft Defender for Cloud.
Aceda às conclusões
Navegue até a guia Recomendações de segurança no Microsoft Defender for Cloud.
Reveja a lista de recomendações, que inclui conclusões como:
Os repositórios de DevOps do Azure devem ter as descobertas de verificação de código resolvidas - Indica vulnerabilidades encontradas em repositórios de código.
Os repositórios de DevOps do Azure devem ter infraestrutura conforme as descobertas de verificação de código resolvidas - Aponta para erros de configuração de segurança detetados em arquivos de modelo IaC dentro de repositórios.
Outras recomendações de segurança geradas pelo conector DevOps do Azure podem incluir:
- Os repositórios do Azure DevOps devem ter o GitHub Advanced Security for Azure DevOps (GHAzDO) habilitado
- Os Pipelines do Azure não devem ter segredos disponíveis para compilações de forks
- As conexões de serviço do Azure DevOps não devem conceder acesso a todos os pipelines
- Os grupos de variáveis do Azure DevOps com variáveis secretas não devem conceder acesso a todos os pipelines
- Azure DevOps Classic As conexões de serviço do Azure não devem ser usadas para acessar uma assinatura
- (Pré-visualização) Os repositórios de DevOps do Azure devem exigir aprovação mínima de dois revisores para envio por push de código
- (Pré-visualização) Os repositórios de DevOps do Azure não devem permitir que os solicitantes aprovem suas próprias solicitações pull
- (Pré-visualização) Os Projetos de DevOps do Azure devem ter a criação de pipelines clássicos desabilitada
- Os arquivos seguros do Azure DevOps não devem conceder acesso a todos os pipelines
Selecione qualquer recomendação para obter informações detalhadas, incluindo arquivos afetados, níveis de gravidade e diretrizes de correção.
Diferença entre a varredura de código sem agente e a varredura no pipeline
A verificação de código sem agente e a verificação em pipeline usando a extensão Microsoft Security DevOps oferecem verificação de segurança no Azure DevOps. Servem necessidades diferentes, mas funcionam bem em conjunto. A tabela a seguir destaca as principais diferenças para ajudá-lo a escolher a opção que atende às suas necessidades de segurança e desenvolvimento.
Aspeto | Verificação de código sem agente | Varredura no pipeline |
---|---|---|
Ajuste de caso de uso | Oferece ampla cobertura com o mínimo de interrupções para os desenvolvedores | Fornece varreduras detalhadas e integradas ao pipeline com controles personalizáveis |
Escopo e cobertura da varredura | Concentra-se na infraestrutura como código (IaC) e na verificação de vulnerabilidades de código, agendada a cada 3-4 dias | Oferece ampla cobertura, incluindo binários e imagens de contêiner, acionados em cada execução de pipeline |
Instalação e configuração | Não requer mais configuração após a criação do conector | Requer instalação e configuração manual em cada pipeline de CI/CD |
Integração de pipeline | É executado independentemente de pipelines (CI/CD) sem modificar fluxos de trabalho | Integra-se no pipeline de CI/CD, exigindo configuração em cada pipeline |
Personalização do scanner | Os scanners não podem ser personalizados ou executados seletivamente | Permite a personalização com scanners específicos, categorias, idiomas, níveis de sensibilidade e ferramentas que não são da Microsoft |
Resultados e feedback | Fornece acesso a descobertas no Defender for Cloud | Oferece feedback quase em tempo real dentro do pipeline de CI/CD, com resultados também visíveis no Defender for Cloud |
Critérios de quebra e reprovação | Não é possível quebrar compilações | Pode ser configurado para interromper compilações com base na gravidade das descobertas de segurança |
Impacto na escalabilidade e no desempenho
A verificação de código sem agente evita a criação de recursos na assinatura e não requer a verificação durante o processo de pipeline. Ele usa a API REST do Azure DevOps para extrair metadados e código. Isso significa que as chamadas de API contam para os limites de taxa de DevOps do Azure, mas você não incorre em custos diretos de transferência de dados. O serviço gerencia verificações para garantir que elas permaneçam dentro dos limites de taxa de DevOps do Azure sem interromper o ambiente de desenvolvimento. Esse método fornece varredura eficiente e de alto desempenho entre repositórios sem afetar os fluxos de trabalho de DevOps. Para obter mais informações, consulte Taxa de DevOps do Azure e limites de uso.
Segurança de dados, conformidade e controle de acesso para varredura de código sem agente
O serviço de verificação de código sem agente do Microsoft Defender for Cloud garante o tratamento seguro e compatível do seu código, implementando medidas rigorosas de privacidade e segurança de dados:
- Criptografia de dados e controle de acesso: O sistema criptografa todos os dados em trânsito usando protocolos padrão do setor. Apenas os serviços autorizados do Defender for Cloud podem aceder ao seu código.
- Residência e retenção de dados: as verificações ocorrem na mesma região geográfica que o conector do Azure DevOps (EUA ou UE) para cumprir as leis de proteção de dados. O sistema processa o código apenas durante a digitalização e o exclui com segurança depois, sem armazenamento de longo prazo.
- Acesso a repositórios: o serviço gera um token de acesso seguro para o Azure DevOps executar verificações. Esse token permite a recuperação de metadados e códigos necessários sem criar recursos em sua assinatura. Apenas os componentes do Defender for Cloud têm acesso, protegendo a integridade dos dados.
- Suporte de conformidade: O serviço está alinhado com os padrões regulatórios e de segurança para tratamento de dados e privacidade, garantindo o processamento seguro e a verificação do código do cliente em conformidade com os requisitos regionais de proteção de dados.
Essas medidas garantem um processo de varredura de código seguro, compatível e eficiente, mantendo a privacidade e a integridade de seus dados.
Limitações (pré-visualização pública)
Durante a fase de pré-visualização pública, aplicam-se as seguintes limitações:
Sem verificação binária: O sistema verifica apenas arquivos de código e Infraestrutura como Código (IaC).
Frequência de varredura: Verifica repositórios a cada 3 dias.
Tamanho do repositório: limita a verificação a repositórios com menos de 1 GB.
Cobertura de filial: As varreduras cobrem apenas a ramificação padrão (principal).
Personalização de ferramentas: não é possível personalizar as ferramentas de digitalização.