Configurar práticas recomendadas de segurança

Nesta página, você encontra uma visão geral das práticas recomendadas de segurança para aumentar a segurança e a postura de proteção de dados no Cloud Workstations. Esta lista não é uma lista abrangente que garante as garantias de segurança nem uma substituição das suas posturas de segurança existentes.

O objetivo é oferecer um guia das práticas recomendadas de segurança possibilitadas pelo Cloud Workstations. Adicione essas recomendações ao seu portfólio de soluções de segurança quando aplicável, como parte dos esforços para criar uma abordagem de segurança em camadas. A abordagem de segurança em camadas é um dos principais princípios de segurança para executar serviços seguros e em conformidade no Google Cloud.

Experiência

O serviço Cloud Workstations fornece imagens de base predefinidas para uso com o serviço. O serviço recria e republica essas imagens semanalmente para garantir que o software no pacote inclua os patches de segurança mais recentes. Além disso, o serviço usa um valor padrão de tempo limite de execução na configuração da estação de trabalho para garantir que elas sejam atualizadas automaticamente e que as imagens sem patch não permaneçam ativas.

No entanto, o Google Cloud não tem todos os pacotes agrupados nessas imagens. Os gerenciadores de pacotes podem priorizar as atualizações de maneira diferente, dependendo de como um bug ou vulnerabilidades e exposições comuns (CVE, na sigla em inglês) afetam o produto. Se um produto usar apenas uma parte de uma biblioteca, ele poderá não ser afetado por descobertas em outras partes da biblioteca. Por isso, embora existam descobertas de CVE provenientes de verificações de vulnerabilidades das nossas imagens, o Cloud Workstations ainda pode fornecer um produto seguro.

O Cloud Workstations pode fazer isso porque fornece um sistema de autenticação e autorização que ajuda a garantir que apenas o desenvolvedor designado possa acessar a estação de trabalho. Como em qualquer ambiente de desenvolvimento, os desenvolvedores precisam aplicar as práticas recomendadas ao usar a estação de trabalho. Para ter o máximo de segurança, execute apenas códigos confiáveis, opere apenas em entradas confiáveis e acesse apenas domínios confiáveis. Além disso, não é recomendável usar estações de trabalho para hospedar servidores de produção nem compartilhar uma única estação de trabalho com vários desenvolvedores.

Se você quiser ter mais controle sobre a segurança das imagens de estação de trabalho da sua organização, também é possível criar suas próprias imagens de contêiner personalizadas.

Restringir o acesso à rede pública

Desative os endereços IP públicos nas estações de trabalho usando a configuração dela e defina regras de firewall que limitam o acesso a destinos de Internet públicos que não são necessários para o trabalho diário no Cloud Workstations. Se você desativar endereços IP públicos, precisará configurar o Acesso privado do Google ou o Cloud NAT na sua rede. Se você usar o Acesso privado do Google e usar private.googleapis.com ou restricted.googleapis.com para o Artifact Registry (ou o Container Registry), configure registros DNS para domínios *.pkg.dev e *.gcr.io.

Restringir o acesso SSH direto

Restrinja o acesso SSH direto às VMs no projeto que hospeda o Cloud Workstations para que o acesso só seja possível pelo gateway do Cloud Workstations, em que as políticas do Identity and Access Management (IAM) são aplicadas e os registros de fluxo de VPC podem ser ativados.

Para desativar o acesso SSH direto à VM, execute o seguinte comando da Google Cloud CLI:

    gcloud workstations configs update CONFIG \
        --cluster=CLUSTER \
        --region=REGION \
        --project=PROJECT \
        --disable-ssh-to-vm

Limitar o acesso a recursos confidenciais

Configure um perímetro de serviço do VPC Service Controls para limitar o acesso a recursos confidenciais das estações de trabalho, impedindo a exfiltração de dados e o código-fonte.

Siga o princípio de privilégio mínimo

Siga o princípio de privilégio mínimo para permissões e alocação de recursos.

Permissões do IAM

Use a configuração padrão do Identity and Access Management, limitando o acesso da estação de trabalho a um único desenvolvedor. Isso ajuda a garantir que cada desenvolvedor use uma instância de estação de trabalho exclusiva com uma VM distinta, aumentando o isolamento do ambiente. Os editores de código e aplicativos do Cloud Workstations são executados em um contêiner em execução no modo privilegiado e com acesso raiz, o que aumenta a flexibilidade do desenvolvedor. Isso fornece uma estação de trabalho exclusiva por desenvolvedor e ajuda a garantir que, mesmo que um usuário escape desse contêiner, ele ainda esteja na VM, incapaz de acessar recursos externos adicionais.

Configure as permissões do IAM que limitam o acesso de usuários que não são administradores para modificar as configurações da estação de trabalho e as imagens de contêiner no Artifact Registry.

Além disso, o Google recomenda que você configure permissões do IAM que limitem o acesso não administrativo a qualquer um dos recursos subjacentes do Compute Engine no projeto que hospeda o Cloud Workstations.

Para mais informações, consulte Como usar o IAM com segurança.

Permissões do Cloud KMS

Para oferecer melhor suporte ao princípio de privilégio mínimo, recomendamos que você mantenha os recursos do Cloud KMS e do Cloud Workstations em projetos separados do Google Cloud. Crie o projeto de chave do Cloud KMS sem um owner no nível do projeto e designe um Administrador da organização concedido no nível da organização. Ao contrário de um owner, um administrador da organização não pode gerenciar ou usar chaves diretamente. Eles se restringem à configuração de políticas do IAM, que restringem quem pode gerenciar e usar as chaves.

Isso também é chamado de separação de deveres,que é o conceito de garantir que um indivíduo não tenha todas as permissões necessárias para realizar uma ação maliciosa. Para mais informações, consulte a separação de deveres.

Aplicar atualizações e patches automáticos de imagem

Verifique se as estações de trabalho estão usando a versão mais recente das imagens de base do Cloud Workstations, que contém os patches e as correções de segurança mais recentes. O valor de tempo limite de execução na configuração da estação de trabalho ajuda a garantir que as estações de trabalho criadas com essa configuração sejam atualizadas automaticamente na próxima sessão, para corresponder à versão mais recente da imagem do contêiner definida na configuração da estação de trabalho.

  • Se a organização usar uma das imagens base do Cloud Workstations, a estação de trabalho coletará automaticamente todas as atualizações da configuração da estação de trabalho na próxima vez que ela for encerrada e reiniciada. Definir runningTimeout ou usar o padrão ajuda a garantir que essas estações de trabalho sejam desligadas.
  • Caso sua organização use uma imagem personalizada, certifique-se de recriá-la regularmente. Recomendamos Criar um pipeline de imagem seguro conforme descrito na seção a seguir.

Criar um pipeline seguro para imagens personalizadas

Você é responsável por manter e atualizar os pacotes e dependências personalizados adicionados às imagens personalizadas.

Se você criar imagens personalizadas, recomendamos o seguinte:

Configurar os registros de fluxo de VPC

Quando você cria um cluster de estação de trabalho, o Cloud Workstations o associa a uma sub-rede específica, e todas as estações de trabalho são colocadas nessa sub-rede. Ative os registros de fluxo de VPC para essa sub-rede. Para mais informações, consulte Ativar registros de fluxo de VPC para uma sub-rede atual.