Salvaguarde as implementações

Este documento descreve as práticas recomendadas para proteger as suas implementações.

Crie e aplique políticas de implementação

Para proteger os seus ambientes de tempo de execução, defina políticas com critérios de implementação e valide a conformidade com as políticas antes e depois da implementação. Definir uma política que apenas permita código assinado por atestadores predefinidos ajuda a controlar as implementações e a implementar apenas código de origens fidedignas.

Alguns exemplos de critérios de implementação:

  • Nenhuma vulnerabilidade conhecida com uma gravidade acima de Média
  • O código-fonte é proveniente de um repositório de origem fidedigno
  • Um serviço de compilação fidedigno executou a compilação
  • Os artefactos que está a implementar são de um repositório de artefactos fidedigno

Gere metadados

Para validar estes requisitos, tem de fornecer metadados sobre os artefactos de compilação.

Crie origens

A criação de proveniência é uma recolha de dados validáveis sobre uma compilação, como: os resumos das imagens criadas, as localizações das origens de entrada, a cadeia de ferramentas de compilação e a duração da compilação. A SLSA, uma framework para avaliar a postura de segurança, fornece um modelo de proveniência e requisitos de proveniência. A proveniência é uma categoria de requisitos na estrutura, e cada requisito está associado a níveis da SLSA para que possa implementar mitigações de forma incremental.

  • Para a garantia de nível 1 da SLSA, a proveniência tem de estar disponível.
  • Para a garantia do nível 2 da SLSA, a proveniência tem de ser gerada e os consumidores têm de poder validar a respetiva autenticidade e integridade.
  • Os níveis 3 e 4 da SLSA têm requisitos mais rigorosos para a assinatura de proveniência e a profundidade dos detalhes dos dados de proveniência.

Alguns serviços de compilação geram metadados de proveniência da compilação.

Vulnerabilidades

O software de análise de vulnerabilidades verifica o código fonte e os artefactos de compilação para encontrar vulnerabilidades conhecidas. A análise de artefactos pode analisar automaticamente imagens de contentores enviadas para o Artifact Registry quanto a vulnerabilidades. Para verificar se existem vulnerabilidades nos artefactos antes de os armazenar, pode usar a API On-Demand Scanning num ambiente de desenvolvimento local ou numa pipeline de CI/CD, como um passo de compilação do Cloud Build.

Configure a aplicação de políticas

Depois de ter metadados sobre os seus artefactos implementáveis, precisa de ferramentas para aplicar as suas políticas.

No Google Cloud, pode configurar uma política na autorização binária para as suas implementações. A autorização binária aplica a política às tentativas de implementações em plataformas baseadas em contentores suportadas. Também pode realizar a validação contínua de políticas para cargas de trabalho em execução no GKE, no Cloud Run e no GKE Enterprise.

As verificações pré-implementação podem bloquear todas as imagens que não estejam na lista de imagens isentas, para que apenas as imagens fidedignas sejam implementadas a partir de registos fidedignos. A sua política também pode exigir atestações, documentos digitais que indicam que a imagem foi criada com êxito com um processo específico obrigatório. Por exemplo, uma atestação pode indicar que uma imagem:

A validação contínua estende a validação de políticas ao ambiente pós-implementação. Quando ativada, a autorização binária fornece validação ao longo do ciclo de vida do pod, registando regularmente a conformidade com as políticas no Cloud Logging. Isto é útil em várias situações. Por exemplo, se alterar a política após implementar um contentor, a validação contínua regista os pods que violam a política atualizada. Também regista violações de políticas para Pods implementados com dry run ou breakglass.

Use serviços de implementação restrita

A restrição de implementação permite-lhe aprovar ou recusar implementações em pontos específicos do processo de implementação através de um serviço de CI/CD autónomo ou de um serviço de CI/CD integrado com um sistema de automatização de processos. As implementações restritas impedem que os utilizadores não autorizados façam alterações aos ambientes das aplicações. Oferecem supervisão adicional ao processo de implementação e maior visibilidade das aprovações.

No Google Cloud, Cloud Deploy oferece um serviço totalmente gerido para implementar cargas de trabalho no Google Kubernetes Engine. A funcionalidade de implementação restrita permite que os utilizadores especifiquem se é necessário uma aprovação para a promoção a um alvo.

Monitorize as suas cargas de trabalho

As cargas de trabalho são aplicações executadas em plataformas baseadas em contentores, como o GKE e o Cloud Run. Idealmente, as cargas de trabalho que implementar devem ter uma configuração reforçada que limite a respetiva superfície de ataque.

A verificação manual de cargas de trabalho em clusters para detetar problemas de configuração pode ser difícil de fazer à escala.O Google Cloud oferece painéis de controlo no Cloud Run e no GKE para ver estatísticas de segurança das cargas de trabalho.

O painel de controlo da postura de segurança do GKE fornece orientações para reforçar a postura de segurança dos seus clusters com base nas recomendações da Google. Inclui a análise automática da configuração da carga de trabalho, que verifica a existência de problemas de configuração conhecidos em todas as cargas de trabalho. O GKE verifica cada carga de trabalho implementada em relação às práticas recomendadas relevantes da indústria, como as políticas nas Normas de segurança de pods. O GKE classifica a gravidade dos problemas descobertos e devolve recomendações e registos acionáveis. Pode usar o Cloud Logging para obter uma trilha de auditoria de preocupações para melhores relatórios e observabilidade. Para ver instruções sobre como ver informações de segurança no painel de controlo de postura de segurança do GKE, consulte o artigo Implemente no GKE e veja informações de segurança.

O Cloud Run contém um painel de segurança que apresenta estatísticas de segurança da cadeia de fornecimento de software, como informações de conformidade do nível de compilação da SLSA, proveniência da compilação e vulnerabilidades encontradas nos serviços em execução. Para ver instruções sobre como ver informações de segurança no painel de informações de segurança do Cloud Run, consulte o artigo Implemente no Cloud Run e veja informações de segurança.

Google Cloud também oferece outros serviços e funcionalidades para melhorar a sua postura de segurança ao longo do ciclo de vida de desenvolvimento de software. Para mais informações, consulte a vista geral da cadeia de fornecimento de software.

O que se segue?