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