Kubernetes tornou pública sua auditoria de segurança. O que podemos aprender?
Hayley Denbraver
8 de agosto de 2019
0 minutos de leituraNo início desta semana, em 6 de agosto, a Cloud Native Computing Foundation (CNCF) publicou uma postagem no blog com detalhes da recente auditoria de segurança do Kubernetes. No ano passado, a CNCF iniciou seu programa de auditorias de segurança com três projetos: CoreDNS, Envoy e Prometheus. Como esse programa-piloto foi bem-sucedido, a CNCF está expandindo a iniciativa para outros projetos do ecossistema.
Kubernetes é um mecanismo de orquestração de contêineres de código aberto que automatiza a implantação, o dimensionamento e o gerenciamento de aplicações em contêineres e é o maior projeto do ecossistema CNCF. É ótimo ver a CNCF priorizando a segurança de seu principal projeto.
Principais conclusões
Os resultados completos do relatório vão além do escopo desta publicação, mas queremos dar uma ideia geral do que foi encontrado. Muitas recomendações envolvem organizar melhor a base de código, ampliar os testes e a documentação e adotar configurações padrão mais seguras. Essas recomendações básicas facilitariam a aplicação de patches e a correção de problemas quando encontrados. Vale destacar que foram identificados cinco problemas de “alta severidade”, relacionados a controle de acesso, autenticação, temporização e validação de dados. Em resumo, são eles:
Contorno dos controles de acesso do PodSecurityPolicy
O K8s não permite revogar certificados
Conexões HTTPS não são autenticadas
Problema de tempo de verificação e tempo de uso com a movimentação de PID
Travessia de diretórios no kubectl cp corrigida de forma inadequada
Vale muito a pena ler o relatório, que está disponível aqui.
Amplitude e profundidade da segurança
O escopo da auditoria foi definido para avaliar cinco categorias de controles em busca de possíveis problemas: redes, criptografia, autenticação e autorização, gerenciamento de segredos e isolamento de ambientes multiusuário. Kubernetes é um projeto grande, e o relatório privilegia a amplitude em vez da profundidade na análise dos problemas de segurança. A auditoria oferece uma visão panorâmica da saúde da segurança do projeto.
Embora algumas partes da base de código pudessem se beneficiar de uma análise mais aprofundada, acredito que essa abordagem que prioriza a amplitude foi uma ótima escolha. Por exemplo, se você for ao médico e fizer um ou dois exames de sangue aleatórios, talvez descubra algo interessante sobre sua saúde, mas provavelmente não terá um panorama completo. Por outro lado, ao avaliar sua saúde de forma holística, você terá uma visão mais ampla do seu estado geral, e o médico poderá identificar melhor os aspectos que precisam de investigação.
O objetivo do relatório não era apenas identificar um ou dois problemas (embora alguns tenham sido apontados), mas obter uma visão geral da saúde do Kubernetes. Assim, é possível definir prioridades e metas que beneficiem a segurança e a sustentabilidade do projeto como um todo. Foram recomendadas metas de curto e longo prazo para cada uma das cinco categorias de controle, que nos dão uma ideia do futuro do Kubernetes.
Benefícios para mantenedores e comunidades
É ótimo ver um projeto tão importante e amplamente utilizado passar por uma auditoria de segurança. Isso dá um bom exemplo para outros projetos do porte do Kubernetes e beneficia tanto os mantenedores quanto toda a comunidade.
A CNCF e os mantenedores do Kubernetes fizeram um investimento criterioso em uma auditoria de segurança. Com uma auditoria, os mantenedores podem sair na frente de agentes mal-intencionados e adotar uma postura de segurança proativa, em vez de apenas reagir aos problemas. É sempre melhor encontrar suas próprias vulnerabilidades antes que outras pessoas o façam. Também é muito melhor corrigir problemas identificados em um relatório planejado do que descobrir um problema de surpresa, em um momento possivelmente inoportuno. As correções podem ser priorizadas e implementadas com cuidado, sem a mesma pressão de tempo que haveria se as vulnerabilidades fossem divulgadas por outros meios. Ao realizar a auditoria e publicar os resultados como código aberto, a CNCF e os mantenedores do Kubernetes se tornaram referências na área e vão inspirar outros projetos a seguir seu exemplo, realizando e divulgando auditorias de segurança.
Além disso, ao publicar os resultados como código aberto, os membros da comunidade se beneficiam não só quando as metas de curto e longo prazo são alcançadas, mas também de imediato. Isso acontece de algumas maneiras. Primeiro, os usuários podem optar por usar Kubernetes com a confiança de que a CNCF e os mantenedores do projeto levam a segurança a sério. Segundo, podem analisar os resultados e tomar decisões mais bem embasadas para seus projetos. Por fim, podem aproveitar todos os materiais incluídos na auditoria, como o white paper e o modelo de ameaças — leituras interessantes para quem quer aprimorar seus conhecimentos sobre Kubernetes ou segurança.
Conclusão
Se você quiser entender como funcionam auditorias de segurança como essa ou até participar de auditorias futuras, pode se juntar ao grupo de interesse especial (SIG) da CNCF dedicado à segurança. Saiba mais aqui: https://github.com/cncf/sig-security.
Parabéns à CNCF por realizar um trabalho tão importante. Esperamos que a auditoria traga muitos benefícios. Também esperamos que, ao publicar suas auditorias e processos de segurança como código aberto, a CNCF inspire outros projetos a seguir seu exemplo.
Segurança de contêineres que prioriza os desenvolvedores
O Snyk encontra e corrige automaticamente vulnerabilidades em imagens de contêiner e workloads do Kubernetes.