We couldn't find a match for given <KEYWORD>, please try again.

O que é a segurança do Kubernetes?

A Segurança do Kubernetes baseia-se nos 4C da segurança nativa da nuvem: Nuvem, cluster, contêiner e código:

  • Nuvem (ou data center corporativo/instalação de colocalização): a infraestrutura física subjacente é a base da segurança do Kubernetes. Independentemente de o cluster ser criado no próprio data center ou em um provedor de nuvem, as práticas recomendadas de provedor de nuvem básico (ou segurança física) devem ser observadas.
  • Cluster: a proteção de um cluster do Kubernetes envolve os componentes configuráveis, como a API do Kubernetes, e a segurança de todos os aplicativos que fazem parte do cluster. Como a maioria dos aplicativos nativos de nuvem é projetada com base em microsserviços e APIs, os aplicativos são tão seguros quanto o elo mais fraco na cadeia de serviços que compõem o aplicativo inteiro.
  • Contêiner: as práticas recomendadas de design de contêineres consistem em: começar com a menor base de código possível (excluindo bibliotecas ou funções desnecessárias), evitar conceder privilégios desnecessários aos usuários no contêiner e garantir que os contêineres sejam verificados em busca de vulnerabilidades no momento da criação.
  • Código: o código apresenta uma grande superfície de ataque para qualquer ambiente Kubernetes. Políticas simples, como criptografia de TCP usando handshakes TLS, não exposição de portas não utilizadas, varredura e testes regulares, podem ajudar a evitar o surgimento de problemas de segurança em um ambiente de produção.

Kubernetes em 5 minutos

O estado do Kubernetes 2021

Por que a segurança do Kubernetes é importante durante o ciclo de vida do contêiner?

A segurança do Kubernetes é importante em todo o ciclo de vida do contêiner devido à natureza distribuída e dinâmica de um cluster do Kubernetes. São necessárias diferentes abordagens de segurança para cada uma das três fases do ciclo de vida de um aplicativo: criação, implantação e tempo de execução. O Kubernetes oferece vantagens de segurança inatas. Por exemplo, os contêineres de aplicativos geralmente não são corrigidos ou atualizados. Em vez disso, as imagens dos contêineres são substituídas totalmente por novas versões. Isso permite um controle estrito de versão e permite reversões rápidas se uma vulnerabilidade for descoberta no novo código.

No entanto, como os pods individuais são temporários e efêmeros, o ambiente de tempo de execução em constante mudança pode apresentar desafios para os profissionais de segurança de TI, pois os aplicativos e os links de API para outros aplicativos e serviços estão em constante mudança.

Quais são as principais vulnerabilidades de segurança do Kubernetes durante o ciclo de vida do aplicativo e como você as aborda?

As ferramentas de segurança do Kubernetes devem:

  • Reduza o tempo para garantir que o código esteja livre de concessões.
  • Forneça assinaturas digitais para um nível de confiança do código.
  • Forneça visibilidade e transparência não apenas no código, mas em problemas de configuração.
  • Impeça a entrada (conexão de entrada) ou a saída (conexão de saída) de informações para serviços não seguros.

Quais são as principais vulnerabilidades de segurança do Kubernetes durante a compilação?

  • Código de registros não confiáveis. O código não confiável pode incluir malware ou backdoors que podem conceder acesso inadvertidamente a pessoas mal-intencionadas.
  • Imagens de base inchadas. Menos é mais para aplicativos em contêineres, portanto, os desenvolvedores devem eliminar pacotes, bibliotecas e shell desnecessários que podem estar comprometidos.

Quais são as principais vulnerabilidades de segurança do Kubernetes durante a implantação?

  • Concessão de privilégios desnecessários. Sempre que possível, reduza os privilégios e crie apenas os segredos que uma tarefa exige para reduzir a superfície de ataque.
  • Falha ao isolar aplicativos no cluster. Os namespaces devem ser usados para manter recursos e equipes separados uns dos outros.
  • Movimento lateral dentro do cluster. Use políticas que segmentam a rede para impedir o movimento lateral de um ataque dentro do cluster.
  • Acesso não autorizado. Garanta que os controles de acesso com base em funções (RBAC) estejam configurados corretamente para limitar o acesso.

Quais são as principais vulnerabilidades de segurança do Kubernetes durante o tempo de execução?

  • Ataques de infraestrutura. Durante o tempo de execução, os elementos da infraestrutura do Kubernetes, incluindo o servidor de API, o etcd e os controladores, apresentam suas próprias superfícies de ataque.
  • Complexidade. A integridade contínua de um cluster do Kubernetes tem muitas partes móveis. Os contêineres comprometidos devem ser rapidamente isolados, interrompidos e substituídos por outros íntegros enquanto a origem do ataque é localizada e corrigida.

O que é uma lista de verificação de segurança de alto nível do Kubernetes?

As recomendações de práticas recomendadas incluem: comece com o mínimo de imagens básicas e adicione apenas o que for absolutamente necessário. Quanto menor o número de informações, maior a segurança.

  • Use um sistema operacional de host mínimo, encerre montagens somente leitura e use as opções do SELinux para ter ainda mais controle
  • Faça a varredura das imagens em busca de vulnerabilidades, incluindo imagens do sistema operacional e imagens externas de qualquer tipo. Não existe uma fonte externa confiável.
  • Use namespaces e RBAC para segmentar o cluster e os usuários de maneira lógica. Se não for necessário, não deve estar visível.
  • Os padrões da rede de Kubernetes permitem comunicações de qualquer lugar, portanto, a segmentação de rede deve ser implementada antes da produção. Defina cuidadosamente as políticas de entrada e saída para garantir que as conexões sejam roteadas corretamente.
  • Mantenha os privilégios mínimos e nunca execute processos de aplicativos como root. O uso de um sistema de arquivos raiz somente leitura impede qualquer ataque que dependa da instalação de software ou da modificação do sistema de arquivos.
  • Integre segurança, como varredura de imagens, ao pipeline de CI/CD. Melhor ainda, execute os testes de segurança CIS Benchmark.
  • Proteja o cluster em si. Configure o RBAC para limitar o acesso ao servidor de API e garantir que todas as comunicações etcd sejam protegidas com criptografia TLS. Da mesma forma, bloqueie as permissões de kubelet configurando o RBAC para kubelets.
  • Aproveite os controles integrados do Kubernetes, como a configuração do contexto de segurança para limitar o acesso ao pod.
  • A segurança proativa deve incluir o monitoramento da atividade do processo, das comunicações entre os serviços e das comunicações externas ao cluster.

Soluções e produtos relacionados

Tempo de execução do Kubernetes pronto para uso corporativo

Otimize as operações na infraestrutura multi-cloud.

Kubernetes versus Docker

Quais ferramentas você deve escolher para ter sucesso com os contêineres?

Docker Containers no Kubernetes

Depois de entender o que são contêineres e Kubernetes, o próximo passo é aprender como os dois funcionam juntos.