Proteger implantações

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Neste documento, descrevemos as práticas recomendadas para proteger suas implantações.

Criar e aplicar políticas de implantação

Para proteger os ambientes de execução, defina políticas com critérios de implantação e valide a conformidade antes e depois da implantação. Definir uma política que permite apenas código assinado por atestadores predefinidos ajuda a garantir a implantação e implantar apenas o código de origens confiáveis.

Exemplos de critérios de implantação incluem:

  • Nenhuma vulnerabilidade conhecida com gravidade acima de média
  • O código-fonte é de um repositório de origem confiável
  • Um serviço de build confiável executou o build
  • Os artefatos de compilação que você está implantando são de um repositório de artefatos confiável

Gerar metadados

Para validar esses requisitos, é necessário fornecer metadados sobre os artefatos da versão.

Origens do build

A procedência de build é uma coleção de dados verificáveis sobre um build, como os resumos de imagens de compilação, os locais de origem de entrada, o conjunto de ferramentas de compilação e a duração da compilação. O SLSA, um framework para avaliar a postura de segurança, fornece um modelo de procedência e requisitos de procedência. A proveniência é uma categoria de requisito no framework, e cada requisito está associado aos níveis da SLSA para que você possa implementar mitigações de modo incremental.

  • Para uma garantia SLSA de nível 1, a procedência precisa estar disponível.
  • Para a garantia SLSA de nível 2, a procedência precisa ser gerada, e os consumidores precisam verificar a autenticidade e a integridade.
  • Os níveis 3 e 4 do SLSA têm requisitos mais rigorosos para a procedência e a profundidade dos dados de procedência.

Alguns serviços de compilação geram metadados de procedência do build.

Vulnerabilidades

O software de verificação de vulnerabilidades verifica o código-fonte e cria artefatos conhecidos para encontrar vulnerabilidades conhecidas. O Container Analysis pode verificar automaticamente as imagens de contêiner enviadas ao Artifact Registry para encontrar vulnerabilidades. Para verificar se há vulnerabilidades em artefatos antes de armazená-los, use a API On-Demand Scanning em um ambiente de desenvolvimento local ou em um pipeline de CI/CD, como uma etapa de compilação do Cloud Build.

Configurar aplicação de políticas

Quando você tiver os metadados sobre os artefatos implantáveis, precisará de ferramentas para aplicar as políticas.

No Google Cloud, é possível configurar uma política em autorização binária para suas implantações. A autorização binária aplica a política para tentativas de implantação em plataformas baseadas em contêiner compatíveis. Ele também pode executar a validação contínua de políticas para cargas de trabalho em execução no GKE, Cloud Run e Anthos.

As verificações de pré-implantação podem bloquear todas as imagens que não estejam na lista de imagens isentas. Assim, apenas as imagens confiáveis são implantadas em registros confiáveis. Sua política também pode exigir atestados, documentos digitais que indicam que a imagem foi criada com êxito usando um processo específico necessário. Por exemplo, um atestado pode indicar que uma imagem é:

A validação contínua estende a validação da política para o ambiente pós-implantação. Quando ativada, a autorização binária fornece validação ao longo do ciclo de vida do pod registrando regularmente a conformidade com a política no Cloud Logging. Isso é útil em várias situações. Por exemplo, se você alterar a política depois de implantar um contêiner, a validação contínua registra os pods que violam a política atualizada. Ele também registra violações de política para pods implantados com simulação ou breakbreak.

Usar serviços de implantação controlada

O portão de implantação permite aprovar ou negar implantações em pontos específicos do processo de implantação usando um serviço de CI/CD independente ou um serviço de CI/CD integrado a um sistema de automação de processos. As implantações controladas impedem que usuários não autorizados façam alterações nos ambientes do aplicativo. Elas oferecem uma supervisão extra para o processo de implantação e maior visibilidade das aprovações.

No Google Cloud, o Google Cloud Deploy oferece um serviço totalmente gerenciado para implantar cargas de trabalho no Google Kubernetes Engine. O recurso de implantação controlada permite que os usuários especifiquem se uma aprovação é necessária para a promoção em um destino.

Monitore suas cargas de trabalho

Cargas de trabalho são aplicativos executados em plataformas baseadas em contêineres, como GKE e Cloud Run. As cargas de trabalho que você implanta devem ter uma configuração reforçada que limite a superfície de ataque.

Verificar cargas de trabalho em clusters para encontrar problemas de configuração pode ser difícil de fazer manualmente em escala. O Software Delivery Shield é uma solução de segurança da cadeia de suprimentos de software totalmente gerenciada no Google Cloud que fornece painéis no Cloud Run e na IU do GKE no Console do Google Cloud para ver insights de segurança sobre cargas de trabalho.

O painel de postura de segurança do GKE fornece orientações para fortalecer a postura de segurança dos clusters com base nas recomendações do Google. Isso inclui a verificação automática de configuração de carga de trabalho, que verifica problemas de configuração conhecidos em todas as cargas de trabalho. O GKE verifica cada carga de trabalho implantada em relação às práticas recomendadas relevantes do setor, como políticas no padrão de segurança de pods. O GKE classifica a gravidade dos problemas descobertos e retorna recomendações e registros acionáveis. É possível usar o Cloud Logging para ter uma trilha auditável de preocupações para melhor geração de relatórios e observabilidade. Para instruções sobre como ver insights de segurança no painel da posição de segurança do GKE, consulte Implantar no GKE e ver insights de segurança.

O Cloud Run contém um painel de segurança que exibe insights de segurança da cadeia de suprimentos de software, como informações de conformidade no nível da compilação SLSA, procedência de compilação e vulnerabilidades encontradas nos serviços em execução. Para instruções sobre como visualizar insights de segurança no painel de insights de segurança do Cloud Run, consulte Implantar no Cloud Run e ver insights de segurança.

O Software Delivery Shield também oferece outros serviços e recursos para melhorar sua postura de segurança durante o ciclo de vida de desenvolvimento do software. Para mais informações, consulte Visão geral do Software Delivery Shield (link em inglês).

A seguir