Segurança, privacidade e conformidade

Nesta seção do framework de arquitetura, discutimos como planejar controles de segurança, abordar a privacidade e trabalhar com os níveis de conformidade do Google Cloud.

O framework é composto pela seguinte série de documentos:

Estratégias

Use estas estratégias para ter segurança, privacidade e conformidade.

Use controles de identidade e autorização para implementar o privilégio mínimo. Com o gerenciamento centralizado de identidades, é possível implementar o princípio do privilégio mínimo e definir níveis de autorização e políticas de acesso adequados.

Crie uma abordagem de segurança em camadas. Implemente a segurança em cada nível do aplicativo e da infraestrutura, aplicando uma abordagem de defesa profunda. Use os recursos em cada produto para limitar o acesso. Use criptografia.

Automatize a implantação de tarefas confidenciais. Automatize a implantação e outras tarefas administrativas para retirar pessoas do fluxo de trabalho.

Implemente o monitoramento de segurança. Use ferramentas automatizadas para monitorar o aplicativo e a infraestrutura. Use a verificação automatizada nos pipelines de integração e implantação contínuas (CI/CD) para verificar sua infraestrutura em busca de vulnerabilidades e detectar incidentes de segurança.

Práticas recomendadas

Siga estas práticas para ter segurança, privacidade e conformidade.

  • Use controles para gerenciar riscos.
  • Gerencie a autenticação e a autorização.
  • Implemente controles de segurança de computação.
  • Proteja a rede.
  • Implemente controles de segurança de dados.
  • Utilize controles da cadeia de suprimentos de aplicativos.
  • Use registros de auditoria para auditar a infraestrutura.

Usar controles para gerenciar riscos

Antes de criar e implantar recursos no Google Cloud, avalie os recursos de segurança necessários para atender aos requisitos de segurança internos e regulatórios externos.

Três áreas de controle são voltadas à redução de riscos:

  • Os controles técnicos se referem aos recursos e tecnologias usados para proteger o ambiente. Eles incluem controles de segurança de nuvem nativos, como firewalls e ativação da geração de registros, e também podem englobar fornecedores e ferramentas de terceiros para reforçar ou apoiar sua estratégia de segurança.
  • As proteções contratuais se referem aos compromissos jurídicos assumidos pelo fornecedor da nuvem relativos aos serviços do Google Cloud.
  • Verificações ou atestados de terceiros se referem a uma auditoria de terceiros no provedor de nuvem para garantir que ele atenda aos requisitos de conformidade. Por exemplo, o Google foi auditado por um terceiro para garantir a conformidade com a ISO 27017.

Você precisa avaliar as três áreas de controle para reduzir os riscos quando adotar novos serviços de nuvem pública.

Controles técnicos

Começamos com base no princípio fundamental de que os clientes do Google Cloud são proprietários dos dados e controlam o modo como eles são usados. Os dados que um cliente armazena e gerencia nos sistemas do Google Cloud são usados apenas para fornecer os serviços dessa plataforma e fazer com que eles funcionem melhor, sem outras finalidades. Temos recursos internos robustos de controle e auditoria para proteger os dados dos clientes contra acesso interno. Isso inclui fornecer aos clientes registros quase em tempo real sobre o acesso do administrador do Google no Google Cloud.

Controles contratuais

O Google Cloud tem o compromisso de manter e expandir nosso portfólio de conformidade. O documento Termos de processamento e segurança de dados (DPST, na sigla em inglês) define nosso compromisso de manter as certificações ISO 27001, 27017 e 27018, bem como atualizar nossos relatórios SOC 2 e SOC 3 a cada 12 meses.

Os DPST também descrevem os controles para limitar o acesso dos engenheiros de suporte do Google a ambientes de clientes. Isso inclui os rigorosos processos de geração de registros e aprovação. Os DPST têm mais informações sobre controles de acesso e compromissos contratuais.

Atestados de terceiros

Os clientes podem ver as certificações e os atestados atuais do Google Cloud na central de recursos de conformidade.

Recursos

Confiança e segurança

Gerenciar a autenticação e a autorização

No Google Cloud, os clientes usam o gerenciamento de identidade e acesso (IAM) para definir o acesso a recursos. Os administradores podem restringir o acesso até o nível do recurso. As políticas do IAM determinam "quem pode fazer o quê em quais recursos". As políticas de IAM configuradas corretamente ajudam a proteger o ambiente impedindo o acesso não autorizado a recursos.

Os administradores de segurança precisam garantir que as pessoas certas tenham acesso apenas aos recursos e serviços necessários para realizar os trabalhos delas (princípio do privilégio mínimo).

Os usuários não devem ter mais nem menos permissões administrativas do que as necessárias para realizar o trabalho. O acesso a permissões de provisionamento além do necessário pode aumentar o risco de ameaças internas, recursos configurados incorretamente e trilhas de auditoria difíceis. O subprovisionamento de permissões pode impedir que os usuários acessem os recursos necessários para concluir a tarefa.

Há uma variedade de controles técnicos que ajudam a moldar políticas de gerenciamento de acesso. Veja os principais recursos e serviços disponíveis para controlar o acesso:

Conceder papéis apropriados

Um papel é um conjunto de permissões aplicado a um usuário. As permissões determinam que ações são permitidas em um recurso e geralmente correspondem a métodos REST. Por exemplo, um usuário ou um grupo de usuários pode receber o papel de administrador de computação, que permite visualizar e editar instâncias do Compute Engine.

Noções básicas sobre quando usar contas de serviço

A conta de serviço é uma Conta do Google especial que pertence ao aplicativo ou a uma máquina virtual (VM), não ao usuário final. O aplicativo usa a conta de serviço para chamar a API de um serviço do Google, assim os usuários não são diretamente envolvidos.

Usar o serviço de políticas da organização

O IAM se concentra em quem e permite que o administrador autorize quem pode executar ações em recursos específicos com base nas permissões. O serviço de políticas da organização se concentra no quê e permite que o administrador restrinja recursos específicos para determinar como configurá-los.

Usar o Inventário de recursos do Cloud

Esse serviço permite ter um snapshot do seu inventário para uma ampla variedade de políticas e recursos do Google Cloud com uma chamada de API. As ferramentas de automação podem usar o snapshot para monitoramento ou aplicação de políticas, ou arquivá-lo para auditoria de conformidade. Se você quiser analisar as mudanças nos recursos, também será possível exportar o histórico de metadados do inventário de recursos.

Usar o Policy Intelligence

As ferramentas de recomendação, solução de problemas e validação fornecem sugestões úteis para a atribuição de papéis do IAM, monitoram e evitam políticas excessivamente permissivas do IAM e resolvem problemas relacionados ao controle de acesso.

Perguntas sobre o projeto

  • Como você gerencia sua identidade?
  • É possível federar identidades com o Google Cloud?
  • Quais permissões de acesso são exigidas pelos seus tipos de usuário? Que acesso programático é necessário?
  • Você tem um processo para conceder e auditar papéis e permissões de controle de acesso aos usuários, dependendo de vários ambientes de implantação (teste, desenvolvimento, produção etc.)?

Recomendações

Privilégio mínimo

  • Evite papéis primários, como "roles/owner", "roles/editor" e "roles/viewer". Em vez disso, conceda papéis predefinidos ou personalizados sempre que possível.
  • Conceda papéis primários nos seguintes casos:

    • Quando o serviço do Google Cloud não fornece um papel predefinido.
    • Quando quiser conceder permissões mais amplas a um projeto. Isso geralmente é necessário em ambientes de desenvolvimento ou teste.
    • A equipe com que você trabalha é pequena, e as permissões granulares não são necessárias.
  • Trate cada componente do aplicativo como um limite de confiança separado. Se você tiver vários serviços que exigem permissões diferentes, crie uma conta de serviço separada para cada um deles e conceda apenas as permissões necessárias a cada conta.

  • Restrinja quem pode atuar como conta de serviço. Usuários que receberem o papel de Agente da conta de serviço terão acesso a todos os recursos que essa conta de serviço puder acessar. Tenha cuidado ao conceder o papel de Agente da conta de serviço a um usuário.

  • Verifique a política concedida em todos os recursos e compreenda a hierarquia de herança. Uma política definida como um recurso filho não restringe o acesso concedido ao pai.

  • Conceda papéis com o menor escopo necessário. Por exemplo, se um usuário só precisar de acesso para publicar um tópico do Pub/Sub, conceda o papel de Editor para esse tópico.

  • Conceder o papel Proprietário a um membro permite que ele acesse e modifique quase todos os recursos, incluindo as políticas do Cloud IAM. Essa quantidade de privilégios pode ser arriscada. Conceda o papel Proprietário somente quando for necessário um acesso (quase) universal.

  • Por padrão, ao criar a organização, todos os usuários no domínio recebem os papéis Criador do projeto e Criador da conta de faturamento. Identifique os usuários que podem executar essas tarefas e revogue esses papéis de outros usuários.

  • Conceda papéis a um Grupo do Google, não a usuários individuais. É mais fácil adicionar e remover membros em um Grupo do Google do que atualizar uma política do IAM para lidar com a adição ou remoção.

  • Se você precisar conceder vários papéis para permitir determinada tarefa, crie um grupo do Google, conceda papéis e adicione usuários a ele.

  • Acompanhe todos os recursos da organização que usam o Inventário de recursos do Cloud.

  • Automatize os controles de política e valide-os ou solucione-os usando o Policy Intelligence.

  • Use as condições do IAM para ter controle extra baseado em atributos do acesso aos recursos.

  • Implemente a defesa detalhada com o VPC Service Controls para restringir ainda mais o acesso aos recursos.

Auditoria

  • Use os registros de auditoria do Cloud para fazer auditorias regulares das mudanças na política de IAM.
  • Exporte os registros de auditoria para o Cloud Storage para armazenar seus registros por longos períodos.
  • Faça auditorias dos usuários que têm permissão para alterar as políticas de IAM nos projetos.
  • Use papéis do Logging para restringir o acesso aos registros.
  • Para o recurso do Google Cloud usado na exportação de registros, aplique as mesmas políticas do visualizador de registros.
  • Use os registros de auditoria do Cloud para fazer auditorias regulares do acesso às chaves da conta de serviço.

Principais serviços

O IAM autoriza quem pode acessar e executar ações em recursos específicos do Google Cloud, além de oferecer total controle e visibilidade para gerenciar centralmente os recursos do Google Cloud.

Os controles granulares com acesso baseado no contexto são usados em cargas de trabalho e aplicativos da Web do Google Cloud com base na identidade e no contexto da solicitação do usuário. O Google defende um modelo de segurança de confiança zero na organização.

O Inventário de recursos do Cloud fornece serviços de inventário com base em um banco de dados de séries temporais. Esse banco de dados mantém um histórico de cinco semanas de metadados de recursos do Google Cloud. O serviço permite exportar todos os metadados de recursos em um determinado carimbo de data/hora ou exportar o histórico de mudanças de eventos durante um período.

Os registros de auditoria do Cloud respondem às perguntas de "quem fez o quê, onde e quando?" nos recursos do Google Cloud.

Recursos

Implementar controles de segurança de computação

É sempre recomendado controlar a forma como você expõe seus recursos à rede. Veja os controles disponíveis no Google Kubernetes Engine (GKE) e no Compute Engine.

IPs particulares

É possível desativar o acesso de IP externo às VMs de produção usando políticas da organização. É possível implantar clusters particulares com IPs particulares no GKE para limitar possíveis ataques de rede. Também é possível definir a política de rede para gerenciar a comunicação entre pods no cluster.

Uso da instância do Compute

Também é importante saber quem pode ativar as instâncias e o controle de acesso usando o IAM, porque invasões podem gerar custos significativos. O Google Cloud permite definir cotas personalizadas em projetos para limitar essa atividade. O VPC Service Controls pode ajudar a corrigir isso. Para saber mais, consulte a seção sobre segurança de rede.

Imagens do SO do Compute

O Google fornece imagens de SO selecionadas que são mantidas e corrigidas regularmente. Embora seja possível trazer suas próprias imagens personalizadas e executá-las no Compute Engine, elas ainda precisam ser corrigidas, atualizadas e mantidas. O Google Cloud apresenta regularmente novas vulnerabilidades encontradas em boletins de segurança e fornece soluções para corrigir vulnerabilidades de implantações atuais.

GKE e Docker

O ambiente flexível do App Engine executa instâncias de aplicativos em contêineres do Docker, permitindo que você execute qualquer ambiente de execução. Também é possível ativar o acesso SSH às instâncias básicas. Isso não é recomendado, a menos que você tenha um caso de uso comercial válido.

Os registros de auditoria do Cloud estão ativados para o GKE, permitindo capturar automaticamente todas as atividades com o cluster e monitorar qualquer atividade suspeita.

Para garantir a segurança da infraestrutura do cluster, o GKE permite usar o IAM com controle de acesso baseado em papéis (RBAC, na sigla em inglês) para gerenciar o acesso ao cluster e aos namespaces.

Recomendamos que você ative o upgrade automático de nós para que o Google atualize os nós do cluster com o patch mais recente. O Google gerencia mestres do GKE, que são atualizados e corrigidos regularmente de forma automática. Além disso, na implantação, use imagens otimizadas para contêineres selecionadas pelo Google. Elas também são corrigidas e atualizadas regularmente pelo Google.

O GKE Sandbox é um bom candidato para implantar aplicativos multilocatários que precisam de uma camada extra de segurança e isolamento do kernel do host.

Segurança do ambiente de execução

O GKE se integra a várias soluções de parceiros para garantir a segurança do ambiente de execução e fornecer soluções eficientes para monitorar e gerenciar a implantação. Todas essas soluções podem ser criadas para se integrar ao Security Command Center, fornecendo um painel único.

Soluções de parceiros para proteção de host

Além de usar imagens de SO protegidas selecionadas pelo Google, é possível usar várias soluções de parceiros do Google Cloud para proteger o host. A maioria das soluções de parceiros oferecida no Google Cloud se integra ao Security Command Center, onde é possível acessar o portal do parceiro para análise avançada de ameaças ou segurança extra de ambiente de execução. O Forseti é outra solução de segurança que pode ser integrada ao Security Command Center para monitorar e alertar sobre violações nas configurações da sua implantação.

Perguntas sobre o projeto

  • Como você gerencia a segurança dos nós de computação?
  • Você precisa de proteção baseada em host?
  • Você mantém imagens protegidas selecionadas?
  • Como você controla quem pode criar ou excluir nós de computação no ambiente de produção?
  • Com que frequência você audita a criação e a exclusão de computação?
  • Você realiza testes de segurança nas implantações em um ambiente de sandbox? Com que frequência você processa e monitora esses dados e atualiza a compatibilidade com a versão atual dos nós de implantação?

Recomendações

  • Quando possível, isole a comunicação da VM usando contas de serviço.
  • Desative os endereços IP externos no nível da organização, a menos que sejam explicitamente necessários.
  • Use imagens selecionadas pelo Google.
  • Acompanhe os boletins de segurança para conhecer novas vulnerabilidades e corrigir as instâncias.
  • Ao usar o GKE, use a implantação de mestre particular.
  • Use a Identidade da carga de trabalho para acessar o controle de acesso às APIs do Cloud dos clusters do GKE.
  • Ative o upgrade automático dos nós do GKE.

Principais serviços

As VMs protegidas são máquinas virtuais do Google Cloud com um conjunto de controles de segurança que ajudam na defesa contra rootkits e bootkits. Elas ajudam a proteger as cargas de trabalho da empresa contra ameaças como ataques remotos, escalonamento de privilégios e pessoas mal-intencionadas com informações privilegiadas. Elas usam recursos avançados de segurança da plataforma, como inicialização segura e medida, um módulo de plataforma confiável virtual (vTPM, na sigla em inglês), firmware UEFI e monitoramento de integridade.

A Identidade da carga de trabalho reduz o potencial dos danos causados por uma violação ou sobrecarga de gerenciamento, além de aplicar o princípio do privilégio mínimo em todo o ambiente do GKE.

O GKE Sandbox é uma solução de isolamento de contêineres que aplica uma segunda camada de defesa entre cargas de trabalho em contêineres no GKE. O GKE Sandbox foi criado para aplicativos com baixa E/S, mas de alto escalonamento. Essas cargas de trabalho em contêineres precisam manter a velocidade e o desempenho, mas também podem envolver códigos não confiáveis que exigem mais segurança. O gVisor, um sandbox de ambiente de execução de contêineres, oferece isolamento de segurança mais robusto entre o aplicativo e o kernel do host. O gVisor fornece verificações de integridade extras ou limita o escopo de acesso de um serviço. Ele não é um serviço de proteção de contêiner contra ameaças externas.

Recursos

Proteger a rede

Quando você cria um novo projeto, ele provisiona automaticamente uma nuvem privada virtual (VPC) padrão do Google Cloud com um endereço IP RFC 1918. Para a implantação de produção, recomendamos que você evite essa VPC padrão. Em vez disso, exclua-a e provisione uma nova VPC com as sub-redes que você quiser. Como a VPC permite usar endereços IP particulares, para evitar conflitos, recomendamos proteger cuidadosamente a rede e alocar endereços IP nas implantações conectadas e nos projetos. Um projeto permite várias redes VPC, mas uma prática recomendada é limitar essas redes a uma por projeto para usar a aplicação do IAM de maneira eficaz.

A nuvem privada virtual fornece implantação, gerenciamento e controle centralizados. Ela pode ser usada para criar uma implantação de produção robusta que oferece uma rede única e isola as cargas de trabalho em projetos individuais gerenciados por equipes diferentes. A nuvem privada virtual é composta por projetos hosts e de serviço. Um projeto host é o projeto principal com uma rede VPC e sub-redes bem pensadas. Um projeto de serviço é anexado às sub-redes do projeto host e permite isolar os usuários no nível do projeto usando o IAM.

O Cloud Logging e o Cloud Monitoring permitem ingerir registros de vários serviços em escala e visualizá-los rapidamente. Integre esse recurso a ferramentas de gerenciamento de eventos e informações de segurança externas (ISEM, na sigla em inglês) para analisar ameaças avançadas.

Firewalls

Os firewalls do Google Cloud escalonam muito bem. Defina-os no nível do projeto para que sejam avaliados no nível da instância anexada. As regras de firewall servem para definir várias regras voltadas ao tráfego de entrada e saída da rede. A abordagem escalonável para aplicar essas regras de firewall é segmentá-las para tags de rede ou contas de serviço.

A maneira mais segura de implantar regras de firewall é usar regras de firewall com uma conta de serviço. No entanto, se você estiver usando implantações de nuvem privada virtual, sempre defina firewalls no projeto host para centralizar o gerenciamento.

Detecção de intrusões de rede

Muitos clientes usam ferramentas avançadas de segurança e inspeção de tráfego no local e precisam que as mesmas ferramentas estejam disponíveis na nuvem para determinados aplicativos. O espelhamento de pacotes VPC permite resolver problemas nas nuvens privadas virtuais (VPCs) atuais. Com o espelhamento de pacotes do Google Cloud, é possível usar ferramentas de terceiros para coletar e inspecionar o tráfego de rede em escala, detectar intrusões, monitorar o desempenho de aplicativos e melhorar controles de segurança, ajudando a garantir a segurança e a conformidade das cargas de trabalho em execução no Compute Engine e no Google Kubernetes Engine (GKE).

Gerenciamento de tráfego

Para implantações de produção, analise as rotas configuradas em cada VPC. Recomendamos regras restritas e com escopo limitado. Para implantações do GKE, use o Traffic Director para escalonar o gerenciamento de envios ou o Istio para o gerenciamento de fluxo de tráfego.

Conectividade de rede

No Google Cloud, escolha a nuvem privada virtual ou use o peering de VPC. Tags de rede e contas de serviço não são convertidas em projetos com peering, mas a nuvem privada virtual pode ajudar a centralizá-las no projeto host. A nuvem privada virtual facilita a centralização de contas de serviço e tags de rede, mas recomendamos que você planeje cuidadosamente como gerenciar cotas e limitações. O peering de VPC pode aumentar o esforço necessário para gerenciar esses controles, mas oferece mais flexibilidade em cotas e limitações.

Para acesso externo, avalie suas necessidades de largura de banda e escolha entre Cloud VPN, Cloud Interconnect ou Interconexão por parceiro. É possível centralizar pontos de salto por meio de uma VPC ou projeto para minimizar o gerenciamento de rede.

O VPC Service Controls fornece uma camada extra de defesa de segurança para os serviços do Google Cloud, independente do IAM. Ainda que o Cloud IAM permita um controle de acesso baseado em identidade granular, o VPC Service Controls permite uma segurança de perímetro baseada em contexto mais ampla, incluindo o controle da saída de dados em todo o perímetro. Use o VPC Service Controls e o IAM para defesa em profundidade.

Ferramentas integradas

O Security Command Center fornece vários detectores para analisar a segurança da infraestrutura, por exemplo, detecção de ameaças a eventos, registros do Google Cloud Armor e análise de integridade de segurança (SHA, na sigla em inglês). Ative os serviços necessários para suas cargas de trabalho e monitore e analise apenas os dados necessários.

O Network Intelligence Center permite visualizar o desempenho da topologia e da arquitetura da rede. Você recebe insights detalhados sobre o desempenho da rede e pode otimizar a implantação para eliminar gargalos no serviço. A acessibilidade da rede fornece insights sobre as regras de firewall e as políticas aplicadas ao caminho da rede.

Perguntas sobre o projeto

  • Como você gerencia a segurança da rede hoje?
  • Você utiliza filtros de firewall baseados em perímetro?
  • Você consegue passar a usar filtros de firewall no nível do aplicativo?
  • Como você gerencia os controles de acesso à rede?
  • Você depende muito de endereços IP estáticos?
  • Você consegue passar a usar o controle de acesso baseado em serviços?
  • Como você monitora a segurança da rede?
  • Você tem IDS/IPS para monitorar o tráfego de rede?
  • Como você gerencia a rede para acesso do administrador ao ambiente de produção?
  • Você tem auditorias frequentes para monitorar a atividade de acesso à rede pelo administrador?

Recomendações

  • Defina perímetros de serviço usando o VPC Service Controls para dados confidenciais.
  • Gerencie o tráfego com as regras de firewall nativas do Google Cloud sempre que possível.
  • Use conjuntos de regras de firewall mais amplos e em menor quantidade quando possível.
  • Use contas de serviço com regras de firewall para aumentar a segurança.
  • Use a automação para monitorar as políticas de segurança ao utilizar tags.
  • Use ferramentas de terceiros, além do Security Command Center, para proteger sua rede.
  • Limite o acesso externo.
  • Adicione rotas explícitas das APIs do Google se você precisar modificar a rota padrão da VPC
  • Implante instâncias que usam APIs do Google na mesma sub-rede.

Principais serviços

O VPC Service Controls ajuda a melhorar sua capacidade de reduzir o risco de exfiltração de dados de serviços gerenciados pelo Google, como o Cloud Storage e o BigQuery. Com o VPC Service Controls, é possível configurar os perímetros de segurança em torno dos recursos dos serviços gerenciados pelo Google e controlar a movimentação de dados por todo o limite do perímetro.

O Traffic Director é o plano de controle de tráfego totalmente gerenciado do Google Cloud para malhas de serviço. Ele auxilia na implantação do balanceamento de carga global entre clusters e instâncias de VM em várias regiões, no descarregamento da verificação de integridade de proxies de serviço e na configuração de políticas sofisticadas de controle de tráfego. O Traffic Director usa APIs de padrão aberto (xDS v2) para se comunicar com os proxies de serviço no plano de dados, garantindo que você não se restrinja a uma solução própria e possa usar o plano de controle de malha de serviço de sua escolha.

O Security Command Center oferece visibilidade sobre quais recursos estão no Google Cloud e o estado de segurança deles. Ele facilita a prevenção, detecção e resposta a ameaças. Ele também identifica configurações incorretas de segurança em máquinas virtuais, redes, aplicativos e buckets de armazenamento por um painel centralizado, além de agir com base nelas antes que possam resultar em danos ou prejuízos para o negócio. Os recursos integrados exibem atividades suspeitas nos registros de segurança do Cloud Logging ou nas máquinas virtuais que estiverem comprometidas. Para responder às ameaças, basta seguir as recomendações extras ou exportar os registros para o SIEM para realizar uma investigação mais detalhada.

A detecção de ameaças de eventos verifica automaticamente vários tipos de registros em busca de atividades suspeitas no ambiente do Google Cloud. Graças à inteligência contra ameaças líder do setor, é possível detectar rapidamente ameaças de alto risco e custo, como malware, criptomineração, acesso não autorizado a recursos do Google Cloud, ataques DDoS e SSH de força bruta. Ao refinar volumes de dados de registro, as equipes de segurança podem identificar incidentes de alto risco rapidamente e se concentrar na remediação.

O Istio é uma malha de serviço aberta que oferece um jeito uniforme de conectar, gerenciar e proteger microsserviços. Ele é compatível com o gerenciamento de fluxos de tráfego entre serviços, aplicando políticas de acesso e agregando dados de telemetria, tudo sem exigir alterações no código de microsserviço. O Istio no Google Kubernetes Engine é um complemento para o GKE que permite criar rapidamente um cluster com todos os componentes necessários para criar e executar como uma malha de serviço do Istio.

O espelhamento de pacotes permite espelhar o tráfego de rede e enviá-lo a uma solução de segurança de terceiros, como uma solução de detecção de intrusões (IDS), para detectar ameaças e responder a invasões. Ele é compatível com requisitos regulatórios e de conformidade, como o PCI 11.4, que exige uma solução de detecção de intrusões.

Recursos

Implementar controles de segurança de dados

É possível implementar controles de segurança de dados em três áreas: criptografia, armazenamento e bancos de dados.

Criptografia

O Google Cloud oferece uma série de opções de gerenciamento de chaves de criptografia para atender às suas necessidades. Ele permite identificar as soluções que melhor se adaptam às suas necessidades de geração, armazenamento e rotação de chave, seja para armazenamento, computação ou cargas de trabalho de Big Data. Use a criptografia como um dos elementos da estratégia de segurança de dados.

Criptografia padrão: o Google Cloud criptografa dados de clientes armazenados em repouso sem que você tenha que intervir no processo. Para detalhes sobre como a criptografia de envelopes funciona, consulte Criptografia em repouso no Google Cloud.

Criptografia personalizada: o Google Cloud permite usar criptografia de envelope para armazenar dados, enquanto a chave de criptografia de chaves é armazenada no Cloud Key Management Service (Cloud KMS). O Google Cloud também fornece módulos de segurança de hardware do Cloud (HSMs, na sigla em inglês), se necessário. O uso de permissões do IAM com o Cloud KMS/HSM no nível do usuário em chaves individuais permite gerenciar o acesso e o processo de criptografia. Para ver a atividade do administrador e os registros de uso de chaves, utilize os registros de auditoria do Cloud. Para proteger seus dados, monitore os registros com o Monitoring para garantir o uso adequado das chaves.

Armazenamento

O Cloud Storage oferece o controle de versão de objetos, que recomendamos ativar para objetos que precisam manter o estado. O controle de versão gera custos extras de armazenamento, sendo necessária uma troca cuidadosa para objetos confidenciais.

O gerenciamento do ciclo de vida de objetos ajuda a arquivar objetos mais antigos e fazer downgrade da classe de armazenamento para economizar custos. Essas operações precisam ser planejadas com cautela, porque pode haver cobranças relacionadas à mudança da classe de armazenamento e ao acesso a dados.

As políticas de retenção que usam o bloqueio de bucket permitem controlar por quanto tempo os objetos no bucket precisam ser retidos para conformidade e guardas de documentos. Depois de bloquear o bucket com uma determinada política de retenção, não será possível remover ou excluir o bucket antes da data de expiração.

Controle de acesso

As permissões do IAM concedem acesso a buckets e acesso em massa aos objetos de um bucket. As permissões do IAM oferecem amplo controle sobre projetos e buckets, mas não um controle refinado sobre objetos individuais.

As listas de controle de acesso (ACLs) permitem conceder aos usuários acesso de leitura ou gravação para buckets ou objetos individuais. Na maioria dos casos, recomendamos usar permissões do IAM em vez de ACLs. Use ACLs apenas quando precisar de um controle refinado sobre objetos individuais.

Os URLs assinados (autenticação de string de consulta) permitem conceder acesso de leitura ou gravação com limite de tempo para um objeto por meio de um URL gerado por você. Qualquer pessoa com quem você compartilhar o URL poderá acessar o objeto pela duração especificada, mesmo que ela não tenha uma Conta do Google.

Os URLs assinados também são úteis para delegar acesso a objetos particulares por um período limitado.

Os documentos assinados de política permitem especificar o que pode ser enviado para um bucket. Os documentos de política permitem maior controle sobre o tamanho, tipo de conteúdo e outras características de upload do que URLs assinadas. Eles também podem ser usados por proprietários de sites para permitir que os visitantes façam o upload de arquivos no Cloud Storage.

A criptografia do Cloud Storage permite controlar mecanismos de criptografia. O Cloud Storage sempre criptografa os dados no lado do servidor antes de gravá-los em disco. É possível controlar a criptografia no servidor usando uma das opções a seguir:

  • Chaves de criptografia gerenciadas pelo cliente (CMEK). Permitem gerar e gerenciar chaves de criptografia usando o Cloud KMS, oferecendo uma camada de criptografia complementar à criptografia padrão do Cloud Storage.

  • Chaves de criptografia fornecidas pelo cliente (CSEKs). Permitem criar e gerenciar chaves de criptografia próprias. Essa é uma camada extra de criptografia, além da padrão do Cloud Storage.

No Cloud KMS, as chaves são replicadas e disponibilizadas pelo Google. A segurança e a disponibilidade das CSEKs são de sua responsabilidade. Recomendamos cautela na decisão. Você sempre pode optar por executar criptografia no cliente e armazenar dados criptografados no Cloud Storage, que utiliza criptografia no servidor.

Discos permanentes são criptografados de maneira automática, mas é possível fornecer ou gerenciar suas próprias chaves. Armazene essas chaves no Cloud KMS ou no Cloud HSM, ou forneça-as usando dispositivos locais. As chaves fornecidas pelo cliente não são armazenadas em modelos de instância nem em qualquer infraestrutura do Google. Portanto, as chaves não poderão ser recuperadas se você perdê-las.

Por padrão, os snapshots do disco permanente são armazenados na multirregião mais próxima do local do disco permanente. Também é possível escolher sua região. É fácil compartilhar snapshots para restaurar novas máquinas dentro do projeto em qualquer nova região. Para compartilhá-los com outros projetos, você precisa criar uma imagem personalizada.

Controle de custos. Use metadados de controle de cache para analisar objetos acessados com frequência e o Cloud CDN para armazenar em cache conteúdo público estático.

Perguntas sobre o projeto

Criptografia

  • Você tem um processo para usar a configuração de chaves de criptografia?
  • Como você gerencia o ciclo de vida das chaves?
  • Como você controla o acesso a chaves de criptografia?
  • Com que frequência você audita o acesso a chaves?

Armazenamento

  • Como você planeja usar o armazenamento? O que é importante para você: latência, IOPS, disponibilidade?
  • Como você planeja armazenar e controlar o acesso a dados confidenciais?
  • Com que frequência você audita dados e como controla o acesso a eles?
  • Você tem um sistema para monitorar a exfiltração de dados? Como você processa esses alertas?

Recomendações

Criptografia

  • Use chaves gerenciadas pelo Google para simplificar o ciclo de vida do gerenciamento de chaves.
  • Use o IAM para controlar quem pode acessar o Cloud KMS.
  • Audite frequentemente o controle de acesso a chaves de criptografia e revogue o acesso desnecessário.

Controle de acesso e armazenamento

  • Use o controle de acesso no nível do objeto para limitar o acesso a todo o bucket.
  • Ative o controle de versão de objetos referente a dados confidenciais para restaurar rapidamente os dados a um estado conhecido.
  • Limite quem pode excluir objetos ou buckets no Cloud Storage.
  • Ao conceder acesso pelo IAM, use o princípio do privilégio mínimo.
  • Evite conceder papéis com a permissão setIamPolicy a desconhecidos.
  • Tenha cuidado com o modo como concede permissões a usuários anônimos.
  • Entenda os papéis no Cloud Storage e selecione os mais restritos usando permissões e papéis personalizados.
  • Evite definir permissões que resultem em buckets e objetos inacessíveis.
  • Delegue o controle administrativo dos seus buckets.
  • Verifique se Bucket Policy Only está ativado nos buckets do Cloud Storage.

Principais serviços

O Cloud Key Management Service permite manter milhões de chaves criptográficas para determinar o nível de granularidade em que os dados serão criptografados. Configure as chaves para que sejam alternadas de modo regular e automático, usando uma nova versão primária para criptografar dados e limitar o escopo dos dados acessíveis com qualquer versão da chave. Tenha quantas versões de chave ativas você quiser.

Recursos

Usar controles de acesso ao banco de dados

Antes de implantar o Cloud SQL, siga as práticas recomendadas de segurança para proteger o controle de acesso. O controle de acesso ocorre nas camadas da instância e do banco de dados.

O acesso no nível da instância autoriza o acesso à instância do Cloud SQL de um app ou cliente (em execução no App Engine ou externamente) ou de outro serviço do Google Cloud, como o Compute Engine.

O acesso ao banco de dados usa o sistema de privilégio de acesso do MySQL para controlar quais usuários do MySQL têm acesso aos dados na instância.

Sempre que possível, use o proxy do Cloud SQL para gerenciar a comunicação entre o aplicativo e o banco de dados. O proxy do Cloud SQL está disponível para implantações do Compute Engine e do GKE.

O Cloud Bigtable utiliza controles semelhantes que usam o IAM no nível do projeto e da instância.

O Cloud Spanner permite acessar usuários e grupos de controle no nível do projeto, da instância e do banco de dados. Em todos os casos, recomendamos usar o IAM com privilégio mínimo.

Perguntas sobre o projeto

  • Você tem um processo para conceder acesso a bancos de dados? Com que frequência eles são auditados?
  • Você verifica os dados confidenciais nos bancos de dados?
  • Com que frequência você faz snapshots ou backups dos bancos de dados?
  • Como você gerencia e protege chaves de criptografia para eles?

Recomendações

  • Limite o acesso ao banco de dados.
  • Ao conceder acesso pelo IAM, use o princípio do privilégio mínimo.
  • Evite conceder papéis com a permissão setIamPolicy a desconhecidos.
  • Tenha cuidado com o modo como concede permissões a usuários anônimos.
  • Garanta que os conjuntos de dados do BigQuery não sejam públicos nem possam ser acessados anonimamente.

Recursos

Implementar a segurança de dados

O Cloud Data Loss Prevention (DLP) fornece ferramentas para classificar, mascarar, tokenizar e transformar elementos confidenciais para gerenciar melhor os dados coletados, armazenados ou usados para negócios ou análises. Por exemplo, recursos como a criptografia com preservação de formato ou tokenização permitem que você mantenha a utilidade dos seus dados, para coleta ou análise, ao mesmo tempo que ofusca os identificadores de dados confidenciais brutos.

A arquitetura do Cloud DLP inclui vários recursos para facilitar o uso em operações de todos os tamanhos. Com modelos para inspeção e desidentificação, é possível definir configurações uma vez e usá-las em todas as solicitações. Use ações e gatilhos de jobs do Cloud DLP para iniciar jobs de inspeção periodicamente e gerar notificações do Cloud Pub/Sub quando eles forem concluídos.

Semi-identificadores são elementos, combinações ou identificadores parciais de dados que podem ser vinculados a uma pessoa ou a um grupo muito pequeno. Com o Cloud DLP, é possível medir propriedades estatísticas como K-anonimato e L-diversidade, expandindo sua capacidade de compreender e proteger a privacidade dos dados.

Principais serviços

O Cloud DLP ajuda a entender e gerenciar melhor dados confidenciais. Ele fornece classificação e edição rápidas e escalonáveis para elementos de dados confidenciais, como números de cartão de crédito, nomes, CPF ou CNPJ, números de telefone e credenciais do Google Cloud. O Cloud DLP classifica os dados usando mais de 120 detectores predefinidos para identificar padrões, formatos, somas de verificação e até mesmo compreender dicas contextuais. Ele também permite editar dados com técnicas como mascaramento, hash seguro, tokenização, agrupamento por classes e criptografia com preservação de formato.

Criar apps com controles de segurança da cadeia de suprimentos

Sem ferramentas automatizadas, é difícil cumprir os requisitos de segurança para ambientes de aplicativos implantados, atualizados ou corrigidos cada vez mais complexos. Criar um pipeline de CI/CD resolve muitos desses problemas. Para detalhes, consulte Excelência operacional.

Os pipelines automatizados removem erros manuais, fornecem loops padronizados de feedback de desenvolvimento e permitem iterações rápidas do produto. Portanto, é importante proteger esses pipelines. Se um invasor conseguir comprometer o pipeline, toda a pilha poderá ser afetada. Recomendamos proteger o acesso a esses pipelines com privilégios mínimos e estabelecer uma cadeia de aprovação antes de enviar o código nas implantações.

Os serviços do Cloud Source Repositories e do Container Registry oferecem controle de versão para identificar, proteger, corrigir e manter uma implantação consistente nas cargas de trabalho.

Segurança do contêiner

O Container Analysis permite verificar vulnerabilidades e corrigir problemas antes de implantações de contêiner. O Container Analysis armazena metadados de imagens verificadas para identificar as vulnerabilidades mais recentes e corrigi-las ou atualizá-las.

A autorização binária serve para assinar contêineres com um ou vários atestados exclusivos. Com as definições de política, esses atestados permitem identificar, controlar e implantar somente contêineres aprovados durante o tempo de execução. É recomendado configurar um modelo de política rigoroso e pelo menos um signatário para aprovar e confirmar a implantação do contêiner.

O Web Security Scanner verifica o aplicativo implantado em busca de vulnerabilidades durante o tempo de execução. Configure o Web Security Scanner para interagir com seu aplicativo como um usuário assinado que navega e verifica várias páginas em busca de vulnerabilidades. Para evitar comportamentos indesejados, recomendamos executar verificações em um ambiente de teste que reflita a produção.

Para uma implantação complexa que engloba várias equipes e funções, implante alterações por meio de uma automação que seja auditada e verificada gradualmente.

Perguntas sobre o projeto

  • Você tem um processo bem definido (por exemplo, teste canário, verificação de vulnerabilidades ou cadeia de aprovação) para proteger a forma como implanta e monitora novas alterações no ambiente de produção?
  • Você executa a verificação de vulnerabilidades no código do aplicativo para reduzir as vulnerabilidades mais recentes?
  • Você tem um ambiente em sandbox para testar e monitorar essas verificações?
  • Como você gerencia secrets para suas implantações?
  • Como você audita e alterna secrets?

Recomendações

  • Use imagens de base aprovadas com o conjunto mínimo de componentes necessário.
  • Inclua a verificação e a análise de imagens no processo de CI/CD.
  • Rastreie notificações e problemas e automatize os patches.
  • Use o gerenciamento de secrets.
  • Audite regularmente a forma como seus aplicativos são implantados.

Principais serviços

O Container Registry é uma central com controle de acesso refinado para sua equipe gerenciar imagens do Docker, realizar análises de vulnerabilidade e decidir quem pode acessar o quê. Com as integrações de CI/CD atuais, é possível configurar pipelines do Docker totalmente automatizados para receber feedback rápido. O Container Registry é um registro de imagem de contêiner particular executado no Google Cloud. Ele é compatível com os formatos de imagem Docker Image Manifest V2 e OCI.

O Container Analysis fornece informações sobre vulnerabilidade das imagens de contêiner no Container Registry. Os metadados são armazenados como notas. Uma ocorrência é criada para cada instância de nota associada a uma imagem.

O serviço de autorização binária fornece segurança de cadeia de fornecimento de software para aplicativos executados na nuvem. A autorização binária funciona com imagens que você implanta no GKE do Container Registry ou de outro registro de imagens de contêiner. Com a autorização binária, é possível garantir que os processos internos que protegem a qualidade e a integridade do software sejam concluídos com êxito antes que um aplicativo seja implantado em seu ambiente de produção.

O Security Command Center identifica vulnerabilidades de segurança nos aplicativos da Web do App Engine, Compute Engine e Google Kubernetes Engine. Ele rastreia seu aplicativo, seguindo todos os links no escopo dos URLs iniciais, e tenta acessar o máximo possível de entradas de usuário e manipuladores de eventos. Ele verifica e detecta automaticamente quatro vulnerabilidades comuns, incluindo scripting em vários locais (XSS), injeção Flash, conteúdo misto (HTTP em HTTPS) e bibliotecas desatualizadas/desprotegidas. Com ele, é possível identificar ameaças em estágio inicial com taxas baixas de falso positivo. Ele permite facilmente configurar, executar, programar e gerenciar verificações de segurança e está disponível de forma gratuita para usuários do Google Cloud.

Recursos

Auditar sua infraestrutura

O Cloud Logging fornece registros de auditoria para serviços do Google Cloud. Os registros de auditoria do Cloud ajudam as equipes de segurança a manter trilhas de auditoria no Google Cloud. Como o Cloud Logging é integrado a todos os serviços do Google Cloud, é possível registrar detalhes de arquivamento de longo prazo e requisitos de conformidade. Os registros de acesso a dados podem ser caros. Portanto, planeje cuidadosamente antes de ativar esse recurso.

Exporte registros de auditoria por streaming em tempo real e armazene-os atender aos requisitos de conformidade. É possível exportar para o Cloud Storage, o BigQuery ou o Pub/Sub. Ao mover os registros para o BigQuery ou o Cloud Storage, você se beneficia do custo reduzido e do armazenamento de longo prazo.

Os registros de transparência no acesso incluem dados sobre ações da equipe de suporte que você possa ter solicitado por telefone, investigações de engenharia de nível inferior nas solicitações de suporte ou outras ações realizadas para fins comerciais válidos, como a recuperação de uma interrupção.

Perguntas sobre o projeto

  • Por quanto tempo você precisa reter os registros de auditoria?
  • Quais registros de auditoria você precisa reter?
  • Você precisa exportar registros de auditoria?
  • Como você usará os registros de auditoria exportados?

Recomendações

  • Exporte registros de auditoria para o BigQuery para gerar relatórios.
  • Exporte os registros de auditoria para o Cloud Storage para os registros que você precisa manter, mas que não espera usar ou processar.
  • Use coletores no nível da organização para capturar todos os registros dela.
  • Use filtros de coletor de registro para excluir registros que você não precisa exportar.

Principais serviços

Recursos