Segurança do tempo de execução do Kubernetes

Na última década, as cargas de trabalho em contêineres e o Kubernetes (K8s) tomaram de assalto o mundo do software. Infelizmente, à medida que o Kubernetes se torna um elemento básico da arquitetura corporativa, ele se torna um alvo de alto valor para os agentes de ameaças.

A segurança de contêineres em geral, e a segurança do Kubernetes em particular, é um aspecto fundamental da postura de segurança das empresas atualmente. Este artigo explorará a segurança de tempo de execução do Kubernetes, um dos aspectos mais críticos da segurança do K8s, incluindo sete práticas recomendadas essenciais de segurança de tempo de execução do K8s.

Solicite uma demo Saiba mais

O que é a segurança de tempo de execução do Kubernetes?

A segurança do tempo de execução do Kubernetes é o conjunto de ferramentas, práticas e tecnologias que protegem as cargas de trabalho de contêineres em execução no Kubernetes.

Em outras palavras, a segurança do tempo de execução do Kubernetes é uma subcategoria da proteção da carga de trabalho e da segurança do contêiner. A segurança do tempo de execução do Kubernetes lida com a segurança desde a instanciação do contêiner até o encerramento. Isso significa que a segurança do tempo de execução inclui coisas como a execução ou não de contêineres como root (não deveriam!), mas não abrange tópicos como varredura de imagens de contêineres.

Desafios e riscos de segurança do tempo de execução do Kubernetes

Como há muitos tipos de aplicativos em execução nos K8s atualmente, não há um conjunto único de riscos de segurança de tempo de execução para contêineres ou Kubernetes. No entanto, há um conjunto de desafios de segurança de tempo de execução do Kubernetes comuns à maioria das empresas.

Aqui estão quatro riscos de segurança comuns relacionados à segurança do contêiner de tempo de execução no Kubernetes:

  • Aumento de privilégios: Um agente de ameaça que obtém acesso a um ambiente do K8s e passa para um usuário com privilégios mais altos (por exemplo, root) é uma ameaça de segurança de tempo de execução do Kubernetes que serve de exemplo.
  • malwaremalware em imagens de contêineres é um problema sério. Em 2022, mais de 1.600 contêineres disponíveis no Docker Hub incluíam malware como criptomineradores e sequestradores de DNS. A instalação de um desses contêineres em um ambiente pode introduzir instantaneamente ameaças por trás do perímetro da rede.
  • vulnerabilidade em K8s e contêineres: Mesmo quando os contêineres não são mal-intencionados em si, eles geralmente são vulneráveis a CVEs com explorações conhecidas.

Ferramentas nativas de segurança de tempo de execução do Kubernetes

O Kubernetes oferece um conjunto limitado de ferramentas e controles nativos que podem limitar o risco do tempo de execução. Isso inclui:

  • Segredos: Os K8s Secrets são objetos de dados que armazenam informações como uma chave ou senha de API. O uso do Secrets ajuda as empresas a manter os dados confidenciais fora das imagens e das especificações do Pod.
  • Controladores de admissão: Com um controlador de admissão do K8s, as empresas podem limitar a modificação (mas não a leitura) do endpoint da API do Kubernetes.
  • Políticas de rede: As políticas de rede do Kubernetes são semelhantes às regras tradicionais de firewall ALLOW e BLOCK que aplicam políticas nas camadas de rede e transporte.
  • Logs de auditoria: Os logs de auditoria fornecem detalhes sobre as ações que ocorreram em um cluster. Por exemplo, a atividade da API pode ser auditada. Esses registros podem permitir a análise e a detecção de comportamentos mal-intencionados.
  • RBAC: O controle de acesso baseado em função (RBAC) permite que os administradores limitem o acesso à API do K8s com base na função de uma entidade.

Como as ferramentas nativas de segurança de tempo de execução do Kubernetes não abordam diretamente os casos de uso, como a detecção de ameaças em tempo real, muitas empresas dependem de ferramentas de proteção de carga de trabalho mais robustas.

7 Práticas recomendadas de segurança de tempo de execução do Kubernetes

Essas seis práticas recomendadas de tempo de execução do Kubernetes podem ajudar as empresas a limitar muitas ameaças à segurança do K8s.

  1. Não execute contêineres como root: A execução de contêineres como root prepara os agentes de ameaças para ataques de escalonamento de privilégios. Simplesmente não executar como root pode reduzir muitas ameaças.
  2. Audite e automatize as configurações de contêineres: Expor publicamente dados que deveriam estar em segredo ou tornar as instâncias de banco de dados voltadas para a Internet são exemplos de configurações incorretas que podem levar a uma violação. Auditar as configurações e automatizar a implantação de configurações usando a Infraestrutura como Código (IaC) é uma ótima maneira de limitar os riscos.
  3. Bloqueie a camada de rede: Além das políticas de rede e do RBAC do K8s, as ferramentas de segurança de rede, como IPS/IDS e NGFW, podem detectar e evitar ameaças antes que elas atinjam as cargas de trabalho. Além disso, as empresas devem evitar expor o soquete do daemon do Docker sempre que possível.
  4. Evite o modo privilegiado: Assim como não executar contêineres como root, as empresas devem evitar executar contêineres com o sinalizador -privileged. O sinalizador -privileged permite que os contêineres contornem várias verificações que mantêm um sistema seguro.
  5. Use sistemas de arquivos somente leitura sempre que possível: Os sistemas de arquivos somente leitura impedem que os agentes de ameaças gravem malware diretamente no sistema de arquivos de um contêiner. Isso pode limitar a capacidade de um agente de ameaças de realizar uma exploração.
  6. Execute apenas imagens de contêineres confiáveis: Os repositórios públicos podem ameaçar a segurança em ambientes de tempo de execução de contêineres assim que um administrador instanciar uma imagem comprometida. O uso exclusivo de imagens de contêineres confiáveis pode ajudar as empresas a limitar o risco de imagens de repositórios de imagens públicas.
  7. Proteja o nível do kernel: Soluções como SELinux, cgroups e AppArmor podem adicionar uma camada de proteção à segurança do tempo de execução do Kubernetes. Por exemplo, o AppArmor pode definir políticas que restringem o acesso a uma variedade de recursos do kernel para reduzir o risco de os aplicativos aproveitarem um recurso do sistema que não deveriam acessar.

A mudança para a esquerda complementa a segurança eficaz do tempo de execução do Kubernetes

É claro que nenhum aspecto da segurança existe em um vácuo. A segurança do tempo de execução é importante, mas a segurança começa bem antes de um contêiner ser instanciado. Algumas das práticas recomendadas de segurança de tempo de execução do Kubernetes mencionadas anteriormente deixam isso claro, e o conceito de segurança shift-left reforça esse ponto. A integração da segurança no início do ciclo de vida do desenvolvimento e o acompanhamento com uma proteção robusta no tempo de execução proporcionam o melhor dos dois mundos.

Segurança do tempo de execução do Kubernetes com o CloudGuard Workload Protection

O CloudGuard Workload Protection é uma plataforma que oferece a proteção completa com gerenciamento centralizado de que as empresas precisam para contêineres Kubernetes e funções sem servidor.

Os benefícios do CloudGuard Workload Protection incluem:

  • Segurança zero trust em todos os aplicativos: Proteção para contêineres Kubernetes, API e funções sem servidor.
  • Autoimplantação de configurações de segurança: Defina e implemente políticas de segurança automaticamente para reduzir o risco de erro humano e de configuração incorreta.
  • Suporte a várias nuvens e nuvem híbrida: Garanta a segurança nas nuvens e no local.
  • Varredura de imagens de contêineres: Detecta contêineres vulneráveis ou mal-intencionados antes de serem instanciados.
  • Detecção de incidentes em tempo real: A detecção inteligente de comportamento mal-intencionado pode interromper as ameaças antes que elas causem danos.
  • Defesa comportamental para funções sem servidor: A segurança sem servidor requer contexto, e a defesa comportamental pode detectar de forma inteligente o uso malicioso de funções sem servidor.

Para saber mais sobre o CloudGuard Workload Protection, inscreva-se hoje mesmo para obter uma segurança de contêiner demo . No site demo, o senhor aprenderá sobre os principais conceitos de segurança de contêineres, como IaC scanning, proteção automatizada de tempo de execução e segurança em todos os nuvens.

×
  Opinião
Este site usa cookies para sua funcionalidade e para fins de análise e marketing. Ao continuar a usar este site, você concorda com o uso de cookies. Para mais informações, leia o nosso Aviso de Cookies.
OK