Partilhar via


Proteja o ambiente da plataforma DevOps para Zero Trust

Este artigo ajuda você, como membro da equipe de DevOps, a implementar o princípio Zero Trust de privilégios mínimos e proteger o ambiente da plataforma DevOps. Ele apresenta conteúdo do nosso eBook Securing Enterprise DevOps Environments e destaca as práticas recomendadas para gerenciamento de segredos e certificados.

As empresas modernas dependem de plataformas de DevOps para implantação, incluindo pipelines e ambientes de produção que os desenvolvedores precisam para serem produtivos. No passado, os métodos de segurança de aplicativos não consideravam o aumento da superfície de ataque que os pipelines e ambientes de produção atuais expõem. À medida que os hackers mudam para a esquerda e visam ferramentas upstream, você precisa de abordagens inovadoras para proteger seus ambientes de plataforma de DevOps.

No diagrama a seguir, observe que o ambiente da plataforma DevOps se conecta ao ambiente do aplicativo e às extensões de pipeline de integração contínua e entrega contínua (CI/CD).

O diagrama ilustra os ambientes da plataforma DevOps e as ameaças à segurança, conforme descrito no eBook vinculado acima e resumido em artigos relacionados vinculados aqui.

As extensões de pipeline de CI/CD apresentam aos hackers oportunidades de se envolverem em escalonamentos de privilégios a partir do ambiente de aplicativos. Extensões e integrações aumentam as vulnerabilidades da superfície de ataque. É fundamental defender-se contra ameaças de intrusão de malware.

Como e por que os atacantes atacam oleodutos

Pipelines e ambientes de produção podem ser independentes de práticas e processos de segurança de aplicativos padrão. Eles geralmente exigem credenciais de acesso de alto nível que podem fornecer acesso profundo e significativo aos invasores.

Embora os invasores encontrem novas maneiras de comprometer os sistemas, os vetores de ataque mais comuns para pipelines incluem:

  • Extração de variáveis de tempo de execução e injeção de argumentos.
  • Scripts que recuperam princípios de serviço ou credenciais de pipelines.
  • Tokens de acesso pessoal mal configurados que permitem que qualquer pessoa com a chave acesse o ambiente da plataforma DevOps.
  • Vulnerabilidades e configurações incorretas em ferramentas integradas que exigem acesso ao código (geralmente somente leitura, mas às vezes acesso de gravação). As ferramentas integradas podem incluir estruturas de teste, testes estáticos de segurança de aplicativos (SAST) e testes dinâmicos de segurança de aplicativos (DAST).

Práticas recomendadas para gerenciamento de segredos e certificados

Evitar uma violação catastrófica pode ser tão simples quanto uma gestão secreta eficaz. O diagrama a seguir ilustra um exemplo de gerenciamento efetivo de segredo, senha, token de acesso e certificado.

O diagrama ilustra o gerenciamento de segredos e certificados.

Como mostrado no diagrama acima, o desenvolvedor inicia uma compilação para uma solicitação do cliente. Em seguida, o GitHub inicia um corredor com o ID de função e o ID secreto de uma Função de Aplicativo do Vault. A Entidade Confiável solicita periodicamente uma nova ID secreta do Vault e obtém a ID secreta do GitHub do GitHub. O Vault usa o ID da função Segredos do GitHub e o ID secreto para entrar e obter ativos de assinatura de código. O Runner personaliza e assina o código do aplicativo móvel.

As práticas recomendadas a seguir ajudam você a criar uma configuração segura que minimiza a exposição de segredos e parâmetros.

  • Forneça armazenamento seguro para segredos e certificados em cada estágio do ciclo de vida do aplicativo. Desenvolva sempre como se fosse um projeto de código aberto. Certifique-se de que as equipes estão armazenando segredos em cofres de chaves em vez de no código ou em ambientes de equipe. Use o serviço de nuvem Azure Key Vault para armazenar e acessar segredos com segurança.
  • Configure o Azure para confiar no OIDC do GitHub como uma identidade federada. O OpenID Connect (OIDC) permite que seus fluxos de trabalho de Ações do GitHub acessem recursos no Azure sem a necessidade de armazenar as credenciais do Azure como segredos de longa duração do GitHub.

Mais práticas recomendadas para segurança do ambiente de DevOps

Para ajudar na defesa contra incidentes de segurança, revise as seguintes práticas recomendadas para fortalecer seus ambientes de plataforma de DevOps. Encontre uma discussão detalhada sobre essas recomendações em nosso eBook Protegendo ambientes corporativos de DevOps.

  • Equipe cada ambiente de plataforma de DevOps com trilhas de auditoria. Revise os logs de auditoria para rastrear quem obteve acesso, qual alteração ocorreu e a data/hora de qualquer sistema ativo. Inclua especificamente plataformas de DevOps com pipelines de CI/CD que fluem para a produção. As trilhas de auditoria para ferramentas de DevOps fornecem maneiras robustas de remediar ameaças mais rapidamente, encontrar e alertar sobre atividades suspeitas para possíveis violações ou vulnerabilidades e encontrar dados em potencial ou uso indevido de privilégios. Certifique-se de que o controle granular e as trilhas de auditoria estejam disponíveis em cada ambiente.
  • Proteja a cadeia de fornecimento de software. Com cada biblioteca que você traz para sua base de código, você expande a cadeia de suprimentos de software e herda dependências de cada projeto ou ferramenta de código aberto. Com cuidado, remova bibliotecas desnecessárias e componentes de código aberto para reduzir a superfície de ataque da sua cadeia de suprimentos de software.
  • Automatize as verificações de modelos de infraestrutura como código (IaC). Com ambientes IaC, é fácil verificar se há configurações incorretas, auditorias de conformidade e problemas de políticas. A implementação de verificações de conformidade e controles de acesso aumenta a postura de segurança de toda a sua infraestrutura. Verifique a segurança das integrações de ferramentas que atendem aos requisitos do sistema de automação.
  • Automatizar os fluxos de trabalho de aprovação. Para que qualquer fluxo de trabalho de aprovação envie código para a produção, certas verificações automáticas ou manuais devem confirmar a segurança, o valor comercial, o status e a qualidade de cada solicitação. Essas verificações funcionam como uma porta entre o desenvolvimento e a produção para evitar ataques de negação de serviço e hackers injetando código em ambientes de produção sem sinalizar ou disparar um alerta.
  • Permita apenas integrações verificadas de ferramentas de DevOps. Como em ambientes de desenvolvedores, as ferramentas de DevOps vêm com extensões e integrações para tornar a equipe de DevOps eficiente e segura. Confirme se as integrações verificadas exigem o menor privilégio possível para executar seu trabalho. Implemente o acesso com privilégios mínimos quando possível e garanta o nível certo de permissões de leitura/gravação. Saiba como desativar ou limitar as Ações do GitHub para sua organização.

Próximos passos

  • Proteger o ambiente do desenvolvedor ajuda você a implementar os princípios do Zero Trust em seus ambientes de desenvolvimento com práticas recomendadas para privilégios mínimos, segurança de filial e ferramentas, extensões e integrações confiáveis.
  • Incorporar a segurança Zero Trust no seu fluxo de trabalho de desenvolvedor ajuda você a inovar de forma rápida e segura.
  • Os ambientes Secure DevOps para Zero Trust descrevem as práticas recomendadas para proteger seus ambientes de DevOps com uma abordagem Zero Trust para evitar que hackers comprometam caixas de desenvolvedores, infetem pipelines de liberação com scripts mal-intencionados e obtenham acesso a dados de produção por meio de ambientes de teste.
  • Implementar os princípios do Zero Trust, conforme descrito no memorando 22-09 (em apoio à ordem executiva dos EUA 14028, Improving the Nation's Cyber Security) usando o Microsoft Entra ID como um sistema centralizado de gerenciamento de identidade.
  • Acelere e proteja seu código com o Azure DevOps com ferramentas que oferecem aos desenvolvedores a experiência de código para nuvem mais rápida e segura.