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 do Cloud Workstations. Esta lista não é uma lista de verificação abrangente que garante garantias de segurança ou substitui suas posturas de segurança atuais.
O objetivo é fornecer um guia com as práticas recomendadas de segurança feitas possível pelo Cloud Workstations. Adicione essas recomendações ao seu portfólio de soluções de segurança da nuvem, quando aplicável, como parte dos esforços para criar abordagem de segurança. Uma 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.
Contexto
O serviço Cloud Workstations oferece imagens de base predefinidas para uso com o serviço. O serviço recria e republica essas imagens semanalmente para ajudar a garantir que o software incluído 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 as estações de trabalho sejam atualizadas automaticamente e que as imagens sem patch não permaneçam ativas.
No entanto, o Google Cloud não é proprietário de 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 (CVEs) afetam o produto. Se um produto usar apenas uma parte de uma biblioteca, ele não será afetado por descobertas em outras partes da biblioteca. Por isso, embora existam resultados de CVE de verificações de vulnerabilidade das nossas imagens, o Cloud Workstations ainda pode fornecer um produto seguro.
As estações de trabalho do Cloud podem fazer isso porque fornecem 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 possível, execute apenas códigos confiáveis, opere apenas com 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 ou compartilhar uma única estação de trabalho com vários desenvolvedores.
Se você quiser ter mais controle sobre a segurança dos recursos imagens de estações de trabalho, também é possível criar imagens de contêiner personalizadas.
Restringir o acesso à rede pública
Desativar endereços IP públicos
nas estações de trabalho usando a configuração e
configurar regras de firewall
Limitar o acesso a destinos de Internet pública não necessário para o trabalho diário
no Cloud Workstations.
Se você desativar endereços IP públicos, configure o
Acesso privado do Google
ou o Cloud NAT na sua rede.
Se você usa o Acesso privado do Google e usa
private.googleapis.com
ou restricted.googleapis.com
para
Artifact Registry (ou Container Registry), configure os registros DNS
domínios
*.pkg.dev
e *.gcr.io
.
Restringir o acesso SSH direto
Restrinja o acesso SSH direto às VMs no projeto que hospeda as estações de trabalho do Cloud para que o acesso só seja possível pelo gateway das estações de trabalho do Cloud, onde as políticas de gerenciamento de identidade e acesso (IAM) são aplicadas e os Logs de fluxo do VPC podem ser ativados.
Para desativar o acesso SSH direto à VM, execute o seguinte comando da CLI do Google Cloud:
gcloud workstations configs update CONFIG \ --cluster=CLUSTER \ --region=REGION \ --project=PROJECT \ --disable-ssh-to-vm
Limitar o acesso a recursos sensíveis
Configure um perímetro de serviço do VPC Service Controls para limitar o acesso a recursos confidenciais das estações de trabalho, evitando a exfiltração de código de origem e de dados.
Seguir 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 à estação de trabalho a um único desenvolvedor. Isso ajuda a garantir que cada desenvolvedor esteja usando uma instância de estação de trabalho exclusiva com uma VM subjacente distinta, aumentando o isolamento do ambiente. Os editores de código e os aplicativos do Cloud Workstations são executados em um contêiner em modo privilegiado e com acesso raiz, para aumentar a flexibilidade do desenvolvedor. Isso oferece uma estação de trabalho exclusiva por desenvolvedor e ajuda a garantir que, mesmo que um usuário escape do contêiner, eles ainda estariam na VM, sem conseguir acesso a recursos externos.
Configure as permissões do IAM que limitam o acesso de não administradores para modificar configurações da estação de trabalho e imagens de contêiner Artifact Registry.
Além disso, o Google recomenda que você configure permissões do IAM limitando o acesso de não administradores a qualquer um dos recursos do Compute Engine no projeto que hospeda as estações de trabalho do Cloud.
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 seu projeto de chave do Cloud KMS
sem um owner
para envolvidos no projeto e designar
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. Elas estão restritas às configurações de políticas do IAM,
que restringem quem pode gerenciar e usar chaves.
Isso também é chamado de separação de tarefas, que é o conceito de garantir que um indivíduo não tenha todas as permissões necessárias para concluir uma ação mal-intencionada. Para mais informações, consulte Separação de deveres.
Aplicar patches e atualizações automáticas de imagens
Certifique-se de que suas estações de trabalho estejam usando a versão mais recente do Cloud Workstations imagens de base, que contém os patches e correções de segurança mais recentes. O tempo limite de execução da configuração da estação de trabalho ajuda a garantir que as estações de trabalho criadas com essa configuração atualizada 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.
- Caso sua organização use uma das imagens de base do Cloud Workstations, o
a estação de trabalho seleciona automaticamente quaisquer atualizações da
configuração da estação de trabalho na próxima vez que ela for encerrada e
reiniciada. Ambiente
runningTimeout
, ou usar o padrão, ajuda a garantir que essas estações de trabalho sejam encerradas. - Caso sua organização use uma imagem personalizada, recrie a regularmente. Recomendamos que você Crie um pipeline de imagem seguro conforme descrito na próxima seção.
Criar um pipeline de imagens seguro para imagens personalizadas
Você é responsável por manter e atualizar os pacotes personalizados, e dependências adicionadas a imagens personalizadas.
Se você estiver criando imagens personalizadas, recomendamos o seguinte:
Ajude a proteger seu pipeline de imagens recriando automaticamente essas imagens quando a imagem de base do Cloud Workstations for atualizada.
Execute uma ferramenta de verificação de contêineres, como o Artifact Analysis, para inspecionar as dependências adicionais que você adicionou.
Programe builds para recriar imagens semanalmente ou aprenda a automatizar a recriação de imagens de contêiner.
Configurar os registros de fluxo de VPC
Quando você cria um cluster de estações de trabalho, o Cloud Workstations o associa a uma sub-rede específica, e todas as estações de trabalho são colocadas nela. Para ative os registros de fluxo de VPC, ative a geração de registros para nessa sub-rede. Para mais informações, consulte Ativar os registros de fluxo de VPC para uma sub-rede atual.