Containers illustration
Ir para seção

O que é KubeLinter?

Copiar URL

KubeLinter é uma ferramenta de análise estática open source, também chamada de lint ou linter, que identifica configurações incorretas e erros de programação nas implantações Kubernetes. A ferramenta de linha de comando analisa automaticamente arquivos YAML e gráficos Helm para comparar as melhores práticas de configuração e segurança de Kubernetes.

Veja o KubeLinter em ação

Assista a esta demonstração hands-on para ver como funciona a ferramenta de linha de comando.

Kubernetes, ou K8s, é conhecido por sua habilidade de implantar, gerenciar e escalar aplicações em containers, mas não é conhecido por proteger containers. As configurações do Kubernetes também costumam ser definidas em arquivos YAML, que são legíveis por humanos, mas difíceis de entender e produzir configurações válidas em escala. A validação estática sozinha em um arquivo YAML complexo não consegue detectar facilmente erros e violações, o que pode expor problemas de segurança.

E segurança é essencial.

De acordo com o relatório da Red Hat sobre adoção, segurança e tendências de mercado do Kubernetes de 2021, mais da metade dos entrevistados afirmam ter atrasado a implantação de aplicações Kubernetes na produção em virtude de preocupações com a segurança, já que 94% deles tiveram ao menos um incidente relacionado à segurança do Kubernetes em 2020. Isso ocorreu principalmente por erro humano, com configurações incorretas inseridas manualmente, o que contribuiu para cerca de 67% dos casos relatados.

É aqui que entra o KubeLinter.

A ferramenta lint, criada pela StackRox no final de 2020, pouco antes de ser adquirida pela Red Hat no início de 2021, foi especificamente desenvolvida para combater erros de segurança e melhorar a configuração exata entre implantações Kubernetes no início do processo de desenvolvimento. Ela faz verificações de arquivos de configuração e pode ser usada com sistemas de integração contínua (CI) para simplificar o processo de atualização de arquivos YAML e gráficos Helm ao empregar práticas recomendadas de DevSecOps.

Como uma ferramenta open source disponível com a licença do Apache 2.0, o KubeLinter permite ainda que os usuários da comunidade open source contribuam com o projeto.

Para verificar se os clusters do Kubernetes estão configurados corretamente e os bugs de programação são corrigidos antes da implantação, o KubeLinter segue o caminho até um gráfico e realiza testes diversos para verificar se o gráfico está bem formado e não contém erros. Em seguida, ele envia mensagens de erro do lint para tudo o que causar falha do gráfico na instalação ou uma mensagem de aviso para tudo o que não esteja alinhado com as práticas recomendadas de segurança.

O KubeLinter também é fácil de executar. Ele já vem com 40 verificações lint nativas de configurações incorretas comuns do K8s, como executar um container como usuário, dissociar seletores e armazenar dados confidenciais apenas em segredos. Ele suporta a configuração de verificações personalizadas e permite que os usuários tratem as configurações como código, ou seja, eles criam segurança no processo de desenvolvimento de aplicações desde o início.

O KubeLinter é altamente configurável. Os usuários podem criar, ativar e desativar suas regras personalizadas sem alterar tanto os fluxos de trabalho, além de passar feedback quase instantâneo sobre configurações incorretas e violações de segurança.

O KubeLinter pode ser adicionado a qualquer ferramenta de integração e entrega contínuas (CI/CD), como GitHub Action, Jenkins, CircleCI e Travis CI, além de verificar e identificar automaticamente erros nas configurações das aplicações. Os desenvolvedores melhoram seus trabalhos de correção e ainda podem ver automaticamente os problemas em todo o pipeline de produção.

As verificações padrão do KubeLinter também priorizam a segurança. Portanto, os usuários precisam optar manualmente se quiserem configurar o Kubernetes de maneira desprotegida.

Leva alguns minutos para fazer o download e instalar o KubeLinter. Desenvolvido como um binário autocontido que usa a linguagem de programação Go para leitura humana, ele se compara com o kubectl e compreende alguns dos mesmos pacotes.

Para instalar o KubeLinter, você pode criar a interface de linha de comando localmente com o Go, usar os containers Docker pré-construídos, instalar usando o Homebrew ou usar um código-fonte próprio. Depois da instalação, aponte a ferramenta para seus gráficos Helm e arquivos YAML do Kubernetes para gerar resultados quase que imediatos.

Por ser uma ferramenta open source, os desenvolvedores podem e devem esperar alterações nos elementos do KubeLinter à medida que ele for desenvolvido. Pode haver alterações de formatos de arquivos de configuração, sinalizações e utilização de comandos.

Leia mais

Artigo

O que é DevSecOps?

Entenda a importância da colaboração entre as equipes de desenvolvimento, operações e segurança.

Blog

Como o KubeLinter faz parte do ecossistema CNCF

Conheça a função do KubeLinter no ambiente mais amplo do Cloud Native Computing Foundation no que se refere a containers e segurança.

Ebook

Relatório sobre o estado da segurança do Kubernetes

Leia os resultados da pesquisa com mais de 500 profissionais de DevOps, engenharia e segurança e saiba como as empresas estão adotando o Kubernetes.

Mais sobre containers

A base para novas aplicações, máquinas virtuais e nuvens híbridas.

Uma plataforma de aplicações em container Kubernetes para uso empresarial.

Uma solução de segurança em containers nativa do Kubernetes para empresas que viabiliza a criação, a implantação e a execução segura de aplicações nativas em nuvem.