Segurança de contêineres

Proteja seu ambiente de contêineres no GCP, no GKE ou no Anthos.

Visão geral

A contentorização permite que as equipes de desenvolvimento sejam mais ágeis, implantem software de maneira eficiente e operem em uma escala sem precedentes. À medida que as empresas desenvolvem cada vez mais cargas de trabalho em contêineres, é preciso que a segurança seja integrada em cada etapa do ciclo de vida de criação e implementação. Aprenda a proteger qualquer ambiente de contêiner executado no GCP, seja no Google Kubernetes Engine ou Anthos, em três áreas importantes.

Segurança da infraestrutura

Ter segurança de infraestrutura significa que sua plataforma de gerenciamento de contêineres fornece os recursos de segurança adequados. O Kubernetes inclui recursos de segurança para proteger suas identidades, secrets e rede. O Google Kubernetes Engine usa as funcionalidades nativas do GCP, como o Cloud IAM, o Cloud Audit Logging, as nuvens privadas virtuais e recursos específicos do GKE, como criptografia de secrets da camada de aplicativo e identidade da carga de trabalho para oferecer o melhor da segurança do Google às suas cargas de trabalho.

Cadeia de suprimentos de software

Proteger a cadeia de suprimentos de software significa ter imagens de contêineres seguras para serem implantadas. É assim que você garante que as imagens de contêineres não estejam vulneráveis e que as imagens criadas não sejam modificadas antes da implantação.

Segurança do ambiente de execução

A segurança do ambiente de execução permite que você identifique um contêiner que está agindo de maneira mal-intencionada na produção e tome medidas para proteger as cargas de trabalho.

Executar contêineres permite que você adote um modelo de segurança completamente diferente

Gerenciamento de patches e imutabilidade simplificados

Gerenciamento de patches e imutabilidade simplificados

Os contêineres são imutáveis. Portanto, é preciso implantar uma nova imagem para fazer alterações. É possível simplificar o gerenciamento de patches recriando as imagens regularmente para que o patch seja incluído na próxima vez que um contêiner for implantado. Tenha a visão completa do seu ambiente com revisões de segurança de imagens normais.

Menor superfície de ataque

Menor superfície de ataque

Os contêineres foram feitos para execução em um sistema operacional host muito menor que em uma VM, visto que há mais recursos reunidos diretamente no aplicativo. Esse SO do host mínimo reduz a possível superfície de ataque para as cargas de trabalho.

Isolamento de recursos e cargas de trabalho

Isolamento de recursos e cargas de trabalho

Os contêineres oferecem uma maneira fácil de isolar recursos, como volumes de armazenamento, para determinados processos usando cgroups e namespaces. Com tecnologias como o GKE Sandbox, é possível isolar logicamente as cargas de trabalho em um sandbox dentro da VM e separado de outros aplicativos.

Segurança da infraestrutura

Ter segurança de infraestrutura do contêiner significa garantir que seus desenvolvedores tenham as ferramentas necessárias para criar serviços em contêineres com segurança. Esses recursos geralmente são incorporados a um orquestrador de contêineres, como o Kubernetes. Se você usa o Google Kubernetes Engine, essa funcionalidade aparece nativamente junto com outros recursos do Google Cloud.

Identidade e autorização

No Google Kubernetes Engine, use o Cloud IAM para gerenciar o acesso aos projetos e o controle de acesso com base em papéis (RBAC, na sigla em inglês) para gerenciar o acesso aos clusters e namespaces.

Audit logging

No Kubernetes, os registros de auditoria da API são capturados automaticamente. No Google Kubernetes Engine, o registro de auditoria do Cloud grava os registros de auditoria da API automaticamente.

Rede

No Google Kubernetes Engine, crie uma política de rede para gerenciar comunicações entre pods no cluster. Use clusters privados para IPs privados e inclua recursos do Google Kubernetes Engine em uma VPC compartilhada.

Conformidade

O Google Kubernetes Engine apresenta muitas certificações de conformidade, incluindo ISO 27001, ISO 27017, ISO 27108, HIPAA, e PCI-DSS.

Sistema operacional host mínimo

O Google Kubernetes Engine usa o SO otimizado para contêineres(COS, na sigla em inglês) por padrão, um SO criado e otimizado para a execução de contêineres. O COS é mantido pelo Google em código aberto.

Componentes atualizados automaticamente

No GKE, os mestres são automaticamente corrigidos para a versão mais recente do Kubernetes, e é possível usar o upgrade automático de nós para manter sua segurança atualizada, aplicando automaticamente os patches mais recentes nos nós.

Chaves de criptografia gerenciadas pelo cliente

Usuários de setores regulados podem precisar controlar as chaves usadas para criptografar dados armazenados no GKE. Com chaves de criptografia gerenciadas pelo cliente, é possível escolher uma chave no Cloud KMS para proteger seu disco permanente do GKE.

Criptografia de chaves secretas da camada de aplicativos

Por padrão, os secrets do Kubernetes são armazenados em texto sem formatação. O GKE criptografa esses secrets no disco e monitora os dados para acesso interno. Mas isso, por si só, pode não ser suficiente para proteger esses secrets de um aplicativo mal-intencionado em seu ambiente. A criptografia de secrets da camada de aplicativo protege os secrets com criptografia de envelope, com uma chave gerenciada no Cloud KMS.

Identidade da carga de trabalho

Seu aplicativo em contêiner provavelmente precisará se conectar a outros serviços, como um banco de dados, para cumprir as funções. Para fazer isso, seu aplicativo, primeiro, precisa se autenticar para eles. A Identidade da carga de trabalho usa uma conta de serviço gerenciada pelo Google para compartilhar credenciais de autenticação, seguindo os princípios de privilégio mínimo para autenticação de aplicativos.

Certificados SSL gerenciados

No GKE, os balanceadores de carga HTTPS precisam estar associados a um certificado SSL. Você mesmo pode conseguir, gerenciar e renovar esses certificados ou, para não correr o risco de esquecer, pode solicitar que o Google consiga, gerencie e renove esses certificados automaticamente para você.

Cadeia de suprimentos de software

A cadeia de suprimentos de software exige que você saiba exatamente o que está sendo implantado no ambiente. Você precisa ser capaz de controlar os aplicativos, desde o código até a imagem e a implantação. Esses recursos geralmente são incorporados ao seu pipeline de CI/CD, ao seu container registry, como Google Container Registry, e como uma verificação de admissão antes da implantação dos contêineres na produção.

Imagens de base seguras e gerenciadas

O Google Container Registry oferece uma imagem base do Debian e do Ubuntu, mantidas pelo Google com patches e testes regulares. Essas imagens gerenciadas pelo Google foram corrigidas com os patches mais recentes disponíveis do upstream para manter suas imagens atualizadas facilmente sem precisar receber de um repositório desconhecido ou manter você mesmo as imagens.

Verificação de vulnerabilidades

O Google Container Registry oferece verificação de vulnerabilidades para analisar suas imagens e pacotes e ver se há vulnerabilidades conhecidas do banco de dados de CVE.

Políticas de implantação

No Google Kubernetes Engine, use a Autorização binária para limitar o que é possível implantar no seu ambiente com base nos atestados de uma imagem. É possível exigir que as imagens atendam aos requisitos definidos por você no formulário de atestados ou assinaturas antes de serem implantadas. Os requisitos podem incluir a verificação da imagem em busca de vulnerabilidades ou validação pela equipe de controle de qualidade.

Builds regulares

Os contêineres podem ser recriados e reimplantados regularmente para que seja possível aproveitar os patches mais recentes que são gradualmente lançados no ambiente.

Segurança do ambiente de execução

Ter segurança no ambiente de execução do contêiner significa garantir que sua equipe de resposta de segurança possa detectar e responder a ameaças de segurança aos contêineres em execução no ambiente. Esses recursos geralmente são incorporados às suas ferramentas de operações de segurança.

Monitorar

O Google Kubernetes Engine está integrado ao Cloud Logging para facilitar a análise de registros. Também é possível gravar eventos de segurança no Cloud Security Command Center (Cloud SCC).

Detecção de atividade anômala

Aproveite os serviços dos nossos parceiros para monitorar ataques e ver os resultados no Security Command Center, incluindo: Aqua Security, Capsule8, StackRox, Sysdig Secure, e Twistlock.

Aplicar políticas de segurança

O PodSecurityPolicy é um recurso do Kubernetes de código aberto que ajuda a criar proteções para seus contêineres, definindo restrições em relação a como seus pods podem ser executados, por exemplo, impondo restrições como AppArmor e seccomp.

Isolamento

Evite que um contêiner mal-intencionado afete outro. O GKE Sandbox usa um kernel do espaço do usuário para interceptar e manipular syscalls, adicionando defesa em profundidade aos contêineres sem mudar a maneira como os desenvolvedores interagem com os aplicativos. O GKE Sandbox é baseado no gVisor, um projeto de código aberto criado no Google.

Recursos

Explore mais informações específicas sobre a segurança de contêineres.

Google Cloud

Primeiros passos

Aprenda e crie

Ainda não conhece o GCP? Comece a usar qualquer produto do GCP gratuitamente com US$ 300 de crédito.

Precisa de mais ajuda?

Nossos especialistas ajudarão você a criar a solução certa ou encontrar o parceiro ideal para suas necessidades.