texto escrito clusters Kubernetes seguros, com a logo SManager à direita e no rodapé as redes sociais

Clusters Kubernetes seguros 

O Kubernetes gerencia e dimensiona seus contêineres de aplicativos em clusters, que agrupam cargas de trabalho em um ou mais pods que compartilham recursos de rede e armazenamento.  

O Kubernetes também fornece um servidor de API que permite que usuários e contas de serviço façam alterações em pods, serviços, implantações e muito mais.  

Como o Kubernetes é responsável por orquestrar seu aplicativo, os recursos de cluster devem ser configurados adequadamente para reduzir a probabilidade de um ataque.  

Nesse artigo seguem algumas recomendações para proteger clusters Kubernetes.  

Limitar o acesso à API do Kubernetes 

Se um invasor obtiver acesso ao servidor da API do Kubernetes, ele poderá manipular ou destruir facilmente qualquer parte do seu aplicativo.  

Para lidar com esse risco, o servidor de API fornece vários controles que você pode configurar para garantir que apenas usuários autenticados com as permissões apropriadas possam acessar a API do Kubernetes — as plataformas de nuvem impõem controles de autenticação por padrão. 

Limitar o acesso ao servidor de API do Kubernetes também ajuda a proteger os segredos armazenados lá, como chaves de API, senhas de usuário e certificados, em cargas de trabalho, serviços externos e contas. 

Os segredos são um tipo de recurso de primeira classe que existe independentemente de qualquer pod.  

Usar um segredo elimina a necessidade de preparar dados confidenciais em definições de manifesto ou imagens de contêiner simples. 

Eles são armazenados sem criptografia no armazenamento de dados subjacente do servidor (ou seja, etcd ) por padrão, para que qualquer pessoa com acesso ao etcd possa visualizar esses dados.  

Os segredos também podem ser facilmente expostos a recursos, como por meio de uma variável de ambiente para um pod. Qualquer pessoa que gerencie esse pod também poderá ver o segredo exposto. 

Você pode proteger dados confidenciais habilitando a criptografia em repouso para segredos. O Kubernetes oferece suporte a vários provedores de criptografia diferentes, mas recomenda o uso do serviço de gerenciamento de chaves (KMS) do seu provedor de nuvem para maximizar a segurança. 

 Os provedores KMS armazenam as chaves de descriptografia remotamente em vez de no Kubernetes, portanto, um invasor precisaria obter acesso ao servidor da API do Kubernetes e ao KMS para descriptografar segredos. 

Para melhor visibilidade do estado de um cluster Kubernetes, você pode usar as regras de detecção do Kubernetes do nosso parceiro Datadog para notificá-lo rapidamente sobre quaisquer configurações que tornem o cluster mais vulnerável, como não aproveitar um provedor de criptografia para criptografar segredos ou RBAC para restringir o tráfego. 

Crie pods isolados com privilégios limitados 

Os pods compartilham configurações e contextos semelhantes aos de contêineres individuais, como políticas de rede e limites de recursos, para que você possa aproveitar as mesmas regras de isolamento para impedir que invasores criem ou modifiquem pods ou acessem outros contêineres. 

O Kubernetes fornece políticas de segurança prontas para uso por meio de um controlador de admissão para fornecer mais controle sobre as configurações de pods em um cluster — os pods devem ser configurados de acordo com suas políticas para serem implantados com êxito.  

Essas políticas oferecem vários níveis de proteção com base nas recomendações do Kubernetes, como: 

– restringindo pods privilegiados e escalação de privilégios; 

– limitando os recursos do pod (por exemplo, execute operações de montagem, modifique processos); 

– restringindo o acesso ao namespace, portas e sistemas de arquivos do host. 

É importante observar que o controlador de admissão de segurança do pod é um recurso beta a partir da v1.23, que pode não ser totalmente suportado por alguns provedores de nuvem.  

Para mitigar essa limitação, você também pode aproveitar ferramentas de código aberto amplamente usadas, como o Open Policy Agent Gatekeeper, para implementar políticas de pod em seus ambientes de nuvem.  

A integração do Gatekeeper do Datadog permite monitorar o status de suas políticas e garantir que elas sejam configuradas adequadamente. 

O Datadog também sinalizará automaticamente novos pods que possam ser suspeitos, como aqueles com permissões privilegiadas ou acesso à rede do host.  

Esses cenários podem indicar que um cluster não está configurado com uma política de segurança ou que uma política não é restritiva o suficiente. 

Conclusão 

Após a leitura desse texto foi possível notar como a solução da Datadog pode ajudar a proteger cluster Kubernetes. 

Clique aqui e obtenha mais informações dessa e outras soluções, com nossos especialistas.