Ícone do site Conviso AppSec

Cuidados de segurança em Kubernetes para cenários Cloud – IaaS (Infrastructure as a Service)

Segurança em kubernetes

Qual é a importância da utilização de Kubernetes em ambiente Cloud? E qual a necessidade de aplicar segurança em kubernetes neste contexto?

Os provedores de Nuvem pública Aws, Google e Azure possuem recursos para disponibilidade e estabilidade de acessos. Além disso, a tecnologia kubernetes provê benefícios na automatização de Deploys, gerência e escalonamento de aplicações

Entretanto, todo esse cenário necessita de precauções de segurança. Nesse sentido, já podemos fazer uma reflexão: A responsabilidade de segurança é do Provedor de Nuvem?  Na realidade não é bem assim, visto que existe um conceito chamado Responsabilidade Compartilhada que em resumo define que o cliente do Provedor Cloud também precisa ter cuidados com segurança. 

Explore o tema sobre aplicações cloud native através desse artigo.

Estudo de caso

Figura 1: Modelo de responsabilidade compartilhada

Na Figura 1 é possível visualizar que um cliente Cloud tem a responsabilidade de segurança em diversos pontos desse cenário, logo possui desafios e cuidados de segurança. A seguir trazemos um estudo de caso relacionado a um cenário Kubernetes, apresentar alguns desafios de segurança e cuidados que devem ser tomados para minimizar as ameaças para o cenário apresentado.

Figura 2: Exemplo de ambiente kubernetes

Na Figura 2 podemos observar as seguintes tecnologias:

Para esse artigo elencamos um cenário IaaS. Logo o cliente do provedor de nuvem precisa montar sua própria estrutura de Cluster Kubernetes. Sendo assim, foram elencadas as seguintes tecnologias:

Dado todo o contexto do estudo de caso, podemos fazer um breve levantamento de segurança:

Como é feita a autenticação? A estrutura montada tem contra-medidas para manter a disponibilidade das aplicações? As Boas práticas estão sendo consideradas nesse ambiente?

Dessa forma, existe uma necessidade clara para identificação de desafios de Segurança para Kubernetes, sendo assim, a Owasp traz o Owasp top 10 Kubernetes e disponibiliza especificamente um material com desafios de segurança para o cenário kubernetes. A seguir, vamos elencar alguns desafios que poderíamos elencar para o nosso estudo de caso.

Enfrentando os desafios – Cuidados de Segurança em Kubernetes

Alguns cuidados minimizam de forma prática os desafios abordados anteriormente. É válido ter cuidados para o host do Cluster e identificar se boas práticas são aplicadas, tais como: Versionamento adequado do cluster, o uso de TLS. Na mesma linha, ter cuidados com o build: identificar se as imagens são confiáveis e estão com a imagem mínima necessária.

Cuidados são necessários também para o deploy, considerando o que está sendo colocado em produção. E para fechar essa questão, cuidados no runtime. Por exemplo, verificar se é feito o monitoramento de anomalias durante a execução do Cluster. Em linhas gerais é recomendado realizar a Modelagem de Ameaças para identificar possíveis brechas e requisitos para todo esse cenário. Além de priorizar ações de Hardening para reforçar a segurança dos sistemas, ou seja, mapear possíveis ameaças para que a proteção dos sistemas possa ser aprimorada.

Identificar brechas de segurança em Kubernetes

Dando continuidade no estudo de caso foi utilizado a feature de Iac do Conviso Platform para analisar brechas neste ambiente. Quando o git action do Iac foi executado, os findings foram identificados e enviados para a Conviso Platform (Figura 3).

Figura 3: Findings identificados após a execução git action do Iac

Contudo, há uma real necessidade da realização de Gestão de Defeitos para avaliação dos findings e direcionamento para correção das vulnerabilidades, ou seja, de forma geral, o objetivo é coletar, registrar e analisar os defeitos de segurança, além da possibilidade de enriquecer essas informações para utilizá-las em tomadas de decisões através de métricas.

Concluindo o tema sobre segurança em kubernetes 

Portanto, em linhas gerais, existem cuidados essenciais para enfrentar os desafios de uma estrutura kubernetes em cenário Cloud IaaS. Tais ações devem ser feitas de forma manual e automatizada para evitar brechas de segurança e o mais importante é realizar esse processo de forma organizada.

Sair da versão mobile