Recomendações de segurança para recursos de DevOps
Este artigo lista as recomendações que você pode ver no Microsoft Defender for Cloud se você conectar um ambiente do Azure DevOps, GitHub ou GitLab usando a página Configurações de ambiente . As recomendações que aparecem em seu ambiente são baseadas nos recursos que você está protegendo e em sua configuração personalizada.
Para saber mais sobre as ações que você pode tomar em resposta a essas recomendações, consulte Corrigir recomendações no Defender for Cloud.
Saiba mais sobre os benefícios e recursos de segurança do DevOps.
As recomendações de DevOps não afetam sua pontuação segura. Para decidir quais recomendações resolver primeiro, observe a gravidade de cada recomendação e seu impacto potencial na sua pontuação segura.
Recomendações de DevOps
Recomendações do Azure DevOps
Os repositórios do Azure DevOps devem ter o GitHub Advanced Security for Azure DevOps (GHAzDO) habilitado
Descrição: A segurança de DevOps no Defender for Cloud usa um console central para capacitar as equipes de segurança com a capacidade de proteger aplicativos e recursos de código para nuvem no Azure DevOps. Com a ativação do GitHub Advanced Security for Azure DevOps (GHAzDO) repositores inclui o GitHub Advanced Security for Azure DevOps, você obtém descobertas sobre segredos, dependências e vulnerabilidades de código em seus repositórios de DevOps do Azure surgidos no Microsoft Defender for Cloud.
Gravidade: Alta
Os repositórios do Azure DevOps devem ter descobertas de verificação secretas resolvidas
Descrição: Foram encontrados segredos em repositórios de código. Corrija imediatamente para evitar uma violação de segurança. Segredos encontrados em repositórios podem ser vazados ou descobertos por adversários, levando ao comprometimento de um aplicativo ou serviço. Nota: A ferramenta de verificação de credenciais do Microsoft Security DevOps verifica apenas as compilações nas quais está configurada para ser executada. Portanto, os resultados podem não refletir o status completo dos segredos em seus repositórios.
Gravidade: Alta
Os repositórios de DevOps do Azure devem ter as descobertas de verificação de código resolvidas
Descrição: Foram encontradas vulnerabilidades nos repositórios de código. Para melhorar a postura de segurança dos repositórios, é altamente recomendável corrigir essas vulnerabilidades.
Gravidade: Média
Os repositórios do Azure DevOps devem ter as descobertas de verificação de vulnerabilidade de dependência resolvidas
Descrição: Foram encontradas vulnerabilidades de dependência em repositórios de código. Para melhorar a postura de segurança dos repositórios, é altamente recomendável corrigir essas vulnerabilidades.
Gravidade: Média
Os repositórios de DevOps do Azure devem ter infraestrutura conforme as descobertas de verificação de código resolvidas
Descrição: Problemas de configuração de segurança de infraestrutura como código foram encontrados em repositórios. Os problemas mostrados abaixo foram detetados em arquivos de modelo. Para melhorar a postura de segurança dos recursos de nuvem relacionados, é altamente recomendável corrigir esses problemas.
Gravidade: Média
Os pipelines de compilação do Azure DevOps não devem ter segredos disponíveis para compilações de forks
Descrição: Em repositórios públicos, é possível que pessoas de fora da organização criem bifurcações e executem compilações no repositório bifurcado. Nesse caso, se essa configuração estiver habilitada, pessoas externas poderão obter acesso para construir segredos de pipeline que deveriam ser internos.
Gravidade: Alta
As conexões de serviço do Azure DevOps não devem conceder acesso a todos os pipelines
Descrição: As conexões de serviço são usadas para criar conexões do Azure Pipelines para serviços externos e remotos para executar tarefas em um trabalho. As permissões de pipeline controlam quais pipelines estão autorizados a usar a conexão de serviço. Para dar suporte à segurança das operações de pipeline, as conexões de serviço não devem ter acesso a todos os pipelines YAML. Isso ajuda a manter o princípio do menor privilégio porque uma vulnerabilidade em componentes usados por um pipeline pode ser aproveitada por um invasor para atacar outros pipelines com acesso a recursos críticos.
Gravidade: Alta
Os arquivos seguros do Azure DevOps não devem conceder acesso a todos os pipelines
Descrição: Os arquivos seguros oferecem aos desenvolvedores uma maneira de armazenar arquivos que podem ser compartilhados entre pipelines. Esses arquivos são normalmente usados para armazenar segredos, como certificados de assinatura e chaves SSH. Se um arquivo seguro tiver acesso a todos os pipelines YAML, um usuário não autorizado poderá roubar informações dos arquivos seguros criando um pipeline YAML e acessando o arquivo seguro.
Gravidade: Alta
Os grupos de variáveis do Azure DevOps com variáveis secretas não devem conceder acesso a todos os pipelines
Descrição: os grupos de variáveis armazenam valores e segredos que você pode querer que sejam passados para um pipeline YAML ou disponibilizados em vários pipelines. Você pode compartilhar e usar grupos de variáveis em vários pipelines no mesmo projeto. Se um grupo de variáveis contendo segredos estiver marcado como acessível a todos os pipelines YAML, um invasor poderá explorar os ativos que envolvem as variáveis secretas criando um novo pipeline.
Gravidade: Alta
Azure DevOps Classic As conexões de serviço do Azure não devem ser usadas para acessar uma assinatura
Descrição: use o tipo de conexões de serviço do Azure Resource Manager (ARM) em vez de conexões de serviço do Azure Classic para se conectar a assinaturas do Azure. O modelo ARM oferece vários aprimoramentos de segurança, incluindo controle de acesso mais forte, auditoria aprimorada, implantação/governança baseada em ARM, acesso a identidades gerenciadas e cofre de chaves para segredos, autenticação baseada em permissões Entra e suporte a tags e grupos de recursos para gerenciamento simplificado.
Gravidade: Média
Recomendações do GitHub
Os repositórios do GitHub devem ter a verificação secreta ativada
Descrição: O GitHub verifica os repositórios em busca de tipos conhecidos de segredos, para evitar o uso fraudulento de segredos que foram acidentalmente cometidos em repositórios. A verificação secreta verificará todo o histórico do Git em todas as ramificações presentes no repositório GitHub em busca de quaisquer segredos. Exemplos de segredos são tokens e chaves privadas que um provedor de serviços pode emitir para autenticação. Se um segredo for verificado em um repositório, qualquer pessoa que tenha acesso de leitura ao repositório poderá usá-lo para acessar o serviço externo com esses privilégios. Os segredos devem ser armazenados em um local dedicado e seguro fora do repositório do projeto.
Gravidade: Alta
Os repositórios do GitHub devem ter a verificação de código habilitada
Descrição: O GitHub usa a verificação de código para analisar o código a fim de encontrar vulnerabilidades de segurança e erros no código. A verificação de código pode ser usada para localizar, triar e priorizar correções para problemas existentes em seu código. A verificação de código também pode impedir que os desenvolvedores introduzam novos problemas. As verificações podem ser agendadas para dias e horários específicos, ou podem ser acionadas quando ocorre um evento específico no repositório, como um push. Se a verificação de código encontrar uma vulnerabilidade ou erro potencial no código, o GitHub exibirá um alerta no repositório. Uma vulnerabilidade é um problema no código de um projeto que pode ser explorado para danificar a confidencialidade, integridade ou disponibilidade do projeto.
Gravidade: Média
Os repositórios do GitHub devem ter a verificação Dependabot ativada
Descrição: O GitHub envia alertas do Dependabot quando deteta vulnerabilidades nas dependências de código que afetam os repositórios. Uma vulnerabilidade é um problema no código de um projeto que pode ser explorado para danificar a confidencialidade, integridade ou disponibilidade do projeto ou de outros projetos que usam seu código. As vulnerabilidades variam em tipo, gravidade e método de ataque. Quando o código depende de um pacote que tem uma vulnerabilidade de segurança, essa dependência vulnerável pode causar uma série de problemas.
Gravidade: Média
Os repositórios do GitHub devem ter as descobertas de varredura secretas resolvidas
Descrição: Foram encontrados segredos em repositórios de código. Esta situação deve ser corrigida imediatamente para evitar uma violação da segurança. Segredos encontrados em repositórios podem ser vazados ou descobertos por adversários, levando ao comprometimento de um aplicativo ou serviço.
Gravidade: Alta
Os repositórios do GitHub devem ter as descobertas de varredura de código resolvidas
Descrição: Foram encontradas vulnerabilidades em repositórios de código. Para melhorar a postura de segurança dos repositórios, é altamente recomendável corrigir essas vulnerabilidades.
Gravidade: Média
Os repositórios do GitHub devem ter as descobertas de verificação de vulnerabilidade de dependência resolvidas
Descrição: Os repositórios do GitHub devem ter as descobertas de verificação de vulnerabilidade de dependência resolvidas.
Gravidade: Média
Os repositórios do GitHub devem ter infraestrutura conforme as descobertas de varredura de código resolvidas
Descrição: Problemas de configuração de segurança de infraestrutura como código foram encontrados em repositórios. Os problemas mostrados abaixo foram detetados em arquivos de modelo. Para melhorar a postura de segurança dos recursos de nuvem relacionados, é altamente recomendável corrigir esses problemas.
Gravidade: Média
Os repositórios do GitHub devem ter políticas de proteção para ramificação padrão habilitadas
Descrição: A ramificação padrão do repositório deve ser protegida por meio de políticas de proteção de ramificação para evitar que alterações não intencionais/maliciosas sejam confirmadas diretamente no repositório.
Gravidade: Alta
Os repositórios do GitHub devem ter pushes de força para ramificação padrão desabilitados
Descrição: Como a ramificação padrão é normalmente usada para implantação e outras atividades privilegiadas, quaisquer alterações nela devem ser abordadas com cuidado. Habilitar pushes de força pode introduzir alterações não intencionais ou maliciosas na ramificação padrão.
Gravidade: Média
As organizações do GitHub devem ter a proteção por push de varredura secreta habilitada
Descrição: A Proteção Push bloqueará confirmações que contenham segredos, evitando assim a exposição acidental de segredos. Para evitar o risco de exposição de credenciais, a Proteção por push deve ser ativada automaticamente para cada repositório habilitado para verificação secreta.
Gravidade: Alta
Os repositórios do GitHub não devem usar corredores auto-hospedados
Descrição: Os corredores auto-hospedados no GitHub não têm garantias de operação em máquinas virtuais limpas efêmeras e podem ser persistentemente comprometidos por código não confiável em um fluxo de trabalho. Como tal, os Self-Hosted Runners não devem ser utilizados para fluxos de trabalho de ação.
Gravidade: Alta
As organizações do GitHub devem ter permissões de fluxo de trabalho de ações definidas como somente leitura
Descrição: Por padrão, os fluxos de trabalho de Ação devem receber permissões somente leitura para impedir que usuários mal-intencionados explorem fluxos de trabalho com permissão excessiva para acessar e adulterar recursos.
Gravidade: Alta
As organizações do GitHub devem ter mais de uma pessoa com permissões de administrador
Descrição: Ter pelo menos dois administradores reduz o risco de perder o acesso de administrador. Isso é útil no caso de cenários de conta quebra-vidro.
Gravidade: Alta
As organizações do GitHub devem ter permissões básicas definidas como sem permissões ou leitura
Descrição: As permissões básicas devem ser definidas como nenhuma ou lidas para que uma organização siga o princípio de menor privilégio e evite acessos desnecessários.
Gravidade: Alta
(Pré-visualização) Os repositórios do GitHub devem ter as descobertas de testes de segurança da API resolvidas
Descrição: Foram encontradas vulnerabilidades de segurança da API em repositórios de código. Para melhorar a postura de segurança dos repositórios, é altamente recomendável corrigir essas vulnerabilidades.
Gravidade: Média
Recomendações do GitLab
Projetos do GitLab devem ter descobertas de varredura secretas resolvidas
Descrição: Foram encontrados segredos em repositórios de código. Esta situação deve ser corrigida imediatamente para evitar uma violação da segurança. Segredos encontrados em repositórios podem ser vazados ou descobertos por adversários, levando ao comprometimento de um aplicativo ou serviço.
Gravidade: Alta
Os projetos do GitLab devem ter as descobertas de varredura de código resolvidas
Descrição: Foram encontradas vulnerabilidades em repositórios de código. Para melhorar a postura de segurança dos repositórios, é altamente recomendável corrigir essas vulnerabilidades.
Gravidade: Média
Os projetos do GitLab devem ter as descobertas de verificação de vulnerabilidade de dependência resolvidas
Descrição: Os repositórios do GitHub devem ter as descobertas de verificação de vulnerabilidade de dependência resolvidas.
Gravidade: Média
Os projetos do GitLab devem ter infraestrutura à medida que as descobertas de varredura de código forem resolvidas
Descrição: Problemas de configuração de segurança de infraestrutura como código foram encontrados em repositórios. Os problemas mostrados abaixo foram detetados em arquivos de modelo. Para melhorar a postura de segurança dos recursos de nuvem relacionados, é altamente recomendável corrigir esses problemas.
Gravidade: Média
Recomendações de segurança de DevOps preteridas
Os repositórios de código devem ter as descobertas de varredura de código resolvidas
Descrição: A segurança de DevOps no Defender for Cloud encontrou vulnerabilidades em repositórios de código. Para melhorar a postura de segurança dos repositórios, é altamente recomendável corrigir essas vulnerabilidades. (Nenhuma política relacionada)
Gravidade: Média
Os repositórios de código devem ter as descobertas de varredura secretas resolvidas
Descrição: A segurança de DevOps no Defender for Cloud encontrou um segredo nos repositórios de código. Esta situação deve ser corrigida imediatamente para evitar uma violação da segurança. Segredos encontrados em repositórios podem ser vazados ou descobertos por adversários, levando ao comprometimento de um aplicativo ou serviço. Para o Azure DevOps, a ferramenta Microsoft Security DevOps CredScan verifica apenas as compilações nas quais foi configurada para ser executada. Portanto, os resultados podem não refletir o status completo dos segredos em seus repositórios. (Nenhuma política relacionada)
Gravidade: Alta
Os repositórios de código devem ter as descobertas de varredura do Dependabot resolvidas
Descrição: A segurança de DevOps no Defender for Cloud encontrou vulnerabilidades em repositórios de código. Para melhorar a postura de segurança dos repositórios, é altamente recomendável corrigir essas vulnerabilidades. (Nenhuma política relacionada)
Gravidade: Média
Os repositórios de código devem ter infraestrutura à medida que os resultados da varredura de código forem resolvidos
Descrição: A segurança de DevOps no Defender for Cloud encontrou problemas de configuração de segurança de código em repositórios. Os problemas mostrados abaixo foram detetados em arquivos de modelo. Para melhorar a postura de segurança dos recursos de nuvem relacionados, é altamente recomendável corrigir esses problemas. (Nenhuma política relacionada)
Gravidade: Média
Os repositórios do GitHub devem ter a verificação de código habilitada
Descrição: O GitHub usa a verificação de código para analisar o código a fim de encontrar vulnerabilidades de segurança e erros no código. A verificação de código pode ser usada para localizar, triar e priorizar correções para problemas existentes em seu código. A verificação de código também pode impedir que os desenvolvedores introduzam novos problemas. As verificações podem ser agendadas para dias e horários específicos, ou podem ser acionadas quando ocorre um evento específico no repositório, como um push. Se a verificação de código encontrar uma vulnerabilidade ou erro potencial no código, o GitHub exibirá um alerta no repositório. Uma vulnerabilidade é um problema no código de um projeto que pode ser explorado para danificar a confidencialidade, integridade ou disponibilidade do projeto. (Nenhuma política relacionada)
Gravidade: Média
Os repositórios do GitHub devem ter a verificação secreta ativada
Descrição: O GitHub verifica os repositórios em busca de tipos conhecidos de segredos, para evitar o uso fraudulento de segredos que foram acidentalmente cometidos em repositórios. A verificação secreta verificará todo o histórico do Git em todas as ramificações presentes no repositório GitHub em busca de quaisquer segredos. Exemplos de segredos são tokens e chaves privadas que um provedor de serviços pode emitir para autenticação. Se um segredo for verificado em um repositório, qualquer pessoa que tenha acesso de leitura ao repositório poderá usá-lo para acessar o serviço externo com esses privilégios. Os segredos devem ser armazenados em um local dedicado e seguro fora do repositório do projeto. (Nenhuma política relacionada)
Gravidade: Alta
Os repositórios do GitHub devem ter a verificação Dependabot ativada
Descrição: O GitHub envia alertas do Dependabot quando deteta vulnerabilidades nas dependências de código que afetam os repositórios. Uma vulnerabilidade é um problema no código de um projeto que pode ser explorado para danificar a confidencialidade, integridade ou disponibilidade do projeto ou de outros projetos que usam seu código. As vulnerabilidades variam em tipo, gravidade e método de ataque. Quando o código depende de um pacote que tem uma vulnerabilidade de segurança, essa dependência vulnerável pode causar uma série de problemas. (Nenhuma política relacionada)
Gravidade: Média