5 componentes do plano de controle kubernetes que exigem atenção especial em sua estratégia de segurança

Views: 721
0 0
Read Time:5 Minute, 50 Second

Organizações e incidentes de segurança em ambientes kubernetes, estes são 5 componentes-chave do plano de controle que exigem atenção especial

As organizações não são estranhas a incidentes de segurança em seus ambientes kubernetes. Em sua pesquisa State of Container and Kubernetes Security Fall 2020, a StackRox descobriu que 90% dos entrevistados sofreram um incidente de segurança em suas implantações em Kubernetes no último ano. Dois terços dos entrevistados explicaram que resistiram a um incidente de má configuração, seguidos de casos de vulnerabilidade, eventos de tempo de execução e auditorias fracassadas em 22%, 17% e 16%, respectivamente.

Incidentes de má configuração são tão prolíficos porque podem aparecer em muitos aspectos diferentes do ambiente Kubernetes de uma organização. Por exemplo, eles podem afetar o plano de controle kubernetes. Esta seção de uma implantação kubernetes é responsável por tomar decisões globais sobre um cluster, bem como para detectar e responder aos eventos que afetam o cluster, observa Kubernetes.

Isso levanta uma questão importante: como as organizações podem endurecer o plano de controle kubernetes contra ataques digitais?

Para responder a essa pergunta, este post no blog discutirá cinco componentes dentro do plano de controle Kubernetes que requerem atenção especial dentro da estratégia de segurança das organizações. Estes são o kube-apiserver, etcd, kube-scheduler, kube-controller-manager e cloud-controller-manager. Em seguida, fornecerá recomendações sobre como as organizações podem proteger cada um desses componentes.

kube-apiserver

O que é

De acordo com a documentaçãode Kubernetes, kube-apiserver é a parte frontal do avião de controle Kubernetes. Ele funciona como a implementação principal de um servidor API Kubernetes. As organizações podem escalar kube-apiserver horizontalmente, implantando mais instâncias.

Por que ele precisa ser protegido

O Container Journal observou que os invasores estão comprometidos em digitalizar a web em busca de servidores de API acessíveis publicamente. Reconhecendo essa realidade, as organizações precisam garantir que não deixem suas instâncias kube-apiserver expostas publicamente. Se o fizerem, podem fornecer aos atacantes uma abertura para comprometer um grupo kubernetes.

Como protegê-lo

Os administradores podem seguir os conselhos do Container Journal configurando seus servidores de API para permitir acesso à API de cluster apenas através da rede interna ou de uma VPN corporativa. Uma vez implementado essa medida de segurança, eles podem usar a autorização da RBAC para limitar ainda mais quem tem acesso ao cluster. Eles podem habilitar esse recurso especificamente através do kube-apiserver.

etc

O que é

Kubernetes usa etcd como armazenamento de backup de valor chave para dados de cluster. Para usar etcd, as organizações precisam ter um plano de backup para os dados de configuração altamente sensíveis que gostariam de proteger com esta loja.

Por que ele precisa ser protegido

Assim como no kube-apiserver, as organizações podem acidentalmente deixar etcd exposto à Internet. O New Stack cobriu o trabalho de um desenvolvedor de software que realizou uma pesquisa no Shodan para procurar servidores expostos etcd. Esta investigação descobriu 2.284 servidores etcd que atores mal-intencionados poderiam acessar através da Internet.

Como protegê-lo

Kubernetes observa em seus recursos de administração de cluster que etcd é equivalente à permissão raiz no cluster. Em resposta, os administradores devem conceder permissão apenas aos nós que requerem acesso a clusters etcd. Eles também devem usar regras de firewall, bem como os recursos de segurança inerentes do recurso, notadamente peer.key/peer.cert e client.key/client.cert, para proteger as comunicações entre membros etcd, bem como entre etcd e seus clientes.

kube-agendar

O que é

O kube-scheduler é um componente dentro do plano de controle que observa a criação de novos pods sem nó atribuído. Se detectar tal cápsula, ele seleciona um nó para que eles sejam executados. Ele toma essas decisões levando em consideração os requisitos de recursos individuais e coletivos, a localidade de dados e outras considerações, de acordo com o siteda Kubernetes.

Por que ele precisa ser protegido

Qualquer compromisso envolvendo o kube-scheduler pode afetar o desempenho e a disponibilidade dos pods de um cluster, explica Packt. Tal evento poderia, assim, causar interrupções no ambiente Kubernetes de uma organização que prejudica a produtividade dos negócios.

Como protegê-lo

Os administradores podem seguir o conselho do Packt para proteger o cronograma kube desativando o perfil, um recurso que expõe detalhes do sistema. Eles podem fazer isso definindo a configuração “-perfil” como “falsa”. Além disso, eles podem desativar conexões externas para o kube-scheduler usando a configuração “AllowExtTrafficLocalEndpoints” para evitar que invasores externos tenham acesso a este componente do plano de controle.

kube-controller-manager

O que é

Este componente em particular faz jus ao seu nome na forma como executa processos de controlador. Cada um desses processos, incluindo os executados pelo controlador de nó, controlador de replicação e outros, são processos separados. No entanto, o kube-controller-manager compila todos esses processos e executa-os juntos.

Por que ele precisa ser protegido

Um problema de segurança no kube-controller-manager pode afetar negativamente a escalabilidade e a resiliência dos aplicativos que estão sendo executados no cluster. Tal evento poderia, assim, ter um efeito nos negócios da organização.

Como protegê-lo

As organizações podem proteger o kube-controller-manager monitorando o número de instâncias que eles têm desse recurso implantado em seus ambientes. Eles também podem seguir as recomendações que o StackRox fez em setembro de 2020 restringindo as permissões de arquivos do recurso, configurando-se para servir apenas HTTPs, vinculando-o a um interfact local e usando o Kubernetes RBAC para permitir o acesso a contas de serviço individuais por controlador.

cloud-controller-manager  

O que é?

Por último, mas não menos importante, o gerenciador de controladores de nuvem permite que os administradores vinculem seu cluster à API do Provedor de Serviços em Nuvem (CSP’s). Eles podem então usar esse recurso para separar elementos que interagem com a plataforma de nuvem do CSP daqueles que interagem com o cluster. De acordo com a documentaçãoda Kubernetes, o gerenciador de controladores de nuvem funciona de forma semelhante ao kube-controller-manager em sua capacidade de compilar vários processos em um. A diferença é que o gerenciador de nuvem executa controladores específicos apenas para o CSP de uma organização.

Por que ele precisa ser protegido

Os problemas envolvendo o gerenciador de controladores de nuvem representam uma ameaça semelhante às das organizações que afetam o kube-controller-manager.

Como protegê-lo

Reconhecendo as semelhanças entre os gerentes-controladores kube e os controladores de nuvem, as organizações podem usar as mesmas medidas para proteger ambos.

O trabalho de segurança não termina aí.

Os cinco componentes do plano de controle discutidos acima de tudo exigem atenção como parte dos esforços globais de segurança de Kubernetes de uma organização. Mesmo assim, o trabalho das organizações para garantir sua arquitetura Kubernetes não termina aí. Há também os componentes do Nó.

Para obter informações sobre como proteger essa parte de um cluster Kubernetes, clique aqui.

FONTE: SECURITY AFFAIRS

POSTS RELACIONADOS