Desenvolva com segurança usando Snyk e GKE Autopilot
Jay Yeras
14 de dezembro de 2021
0 minutos de leituraConverse com qualquer pessoa da área de tecnologia e, mais cedo ou mais tarde, a palavra Kubernetes vai surgir. Quando o assunto é orquestração, automação de implantações, escalabilidade e gerenciamento de aplicações em contêineres para atender à crescente demanda dos clientes, o Kubernetes oferece extensibilidade e flexibilidade. Esse é um dos principais benefícios da tecnologia Kubernetes, ou K8s, como é conhecida. Além disso, o K8s foi desenvolvido na Google para executar workloads de produção, o que ajuda a explicar sua ampla adoção no setor.
O Google Kubernetes Engine (GKE) foi criado com o espírito inovador da Google para oferecer aos clientes um serviço gerenciado para executar workloads Kubernetes no Google Cloud. Com o lançamento recente do GKE Autopilot, os clientes ganham eficiência operacional com um novo modo de operação que reduz custos e oferece configurações de cluster otimizadas, alinhadas às práticas recomendadas, escaláveis e preparadas para workloads de produção.
Aplicações modernas
Na criação de aplicações modernas, há várias camadas que compõem uma aplicação. Por exemplo, um workload em contêiner geralmente inclui pelo menos quatro elementos: a imagem do contêiner, o código da aplicação, as dependências de código aberto e a configuração da aplicação. Cada camada pode ser explorada por agentes mal-intencionados para tirar proveito de vulnerabilidades, explorações e configurações incorretas.
A plataforma Snyk foi desenvolvida para ajudar desenvolvedores a criar software com segurança em toda a stack de aplicações nativas da nuvem, incluindo código, código aberto, contêineres, Kubernetes e infraestrutura como código (IaC).
Segurança abrangente
Ter visibilidade sobre possíveis vulnerabilidades nas diferentes camadas da sua aplicação é apenas o começo. A Snyk oferece aos desenvolvedores insights práticos que ajudam a identificar e priorizar problemas, além de orientar a correção. Encontrar problemas de segurança é importante, mas ter um caminho confiável para resolvê-los é ainda melhor. A Snyk amplia os recursos de segurança ao capacitar desenvolvedores para eliminar vulnerabilidades em imagens de contêiner, recomendando a atualização para uma imagem base mais segura ou a recriação da aplicação quando a imagem base estiver desatualizada.
A Snyk reúne vulnerabilidades de aplicações e contêineres. Talvez você nem sempre tenha acesso ao código-fonte original executado nos seus contêineres, mas é importante entender as vulnerabilidades nas dependências do código. A Snyk detecta e monitora dependências de código aberto em linguagens populares durante a análise de contêineres e também identifica configurações incorretas nos manifestos do Kubernetes.
Análise de workloads
A Snyk já está disponível no Google Cloud Marketplace. Clientes com um plano Business ou Enterprise da Snyk podem ativar facilmente nossa integração com Kubernetes e começar a proteger seus workloads no GKE, incluindo clusters Autopilot, com apenas alguns cliques. Nesta publicação, vamos mostrar como provisionar um cluster GKE Autopilot e implantar uma aplicação de exemplo e o gráfico Helm snyk-monitor.
Veja alguns exemplos de etapas básicas que você pode executar no terminal ou no Cloud Shell para implantar o Snyk Container no GKE Autopilot.
Criar o namespace
Criar o secret
Adicionar o repositório Helm
Instalar o gráfico
A execução desses comandos implanta a Snyk no GKE Autopilot, permitindo analisar e monitorar workloads com a Snyk.

Analisar os resultados
Os projetos monitorados pela Snyk fornecem um relatório resumido com uma visão geral das diferentes camadas da sua aplicação e o total de vulnerabilidades, agrupadas por gravidade. Neste exemplo, vemos duas implantações do Kubernetes associadas a uma aplicação de demonstração, com informações sobre a imagem do contêiner e as dependências de código aberto no código da aplicação.

Ao analisar uma das implantações em mais detalhes, você vê uma visão expandida com informações adicionais. Por exemplo, podemos consultar dados contextuais detalhados sobre as vulnerabilidades encontradas na aplicação e as configurações incorretas nos manifestos do Kubernetes. Graças às otimizações integradas do GKE Autopilot, algumas configurações incorretas são corrigidas imediatamente com a aplicação automática de limites de memória e CPU durante a implantação. Nosso arquivo de manifesto de exemplo omitiu intencionalmente a definição de um contexto de segurança. Como as práticas recomendadas de segurança do Kubernetes e a capacidade de aplicá-las variam entre os clientes, é ainda mais importante dar visibilidade a esses problemas e, acima de tudo, recomendar como resolvê-los.

Ao analisar os resultados de segurança da imagem de contêiner usada pela aplicação, os desenvolvedores encontram um caminho rápido para a correção, com uma recomendação de atualização adequada. Assim, podem decidir rapidamente qual imagem usar para reduzir os riscos de segurança.

Esses resultados, junto com os da análise de composição de software (SCA), oferecem aos desenvolvedores uma cobertura abrangente das diferentes camadas das aplicações modernas nativas da nuvem.
O mecanismo de IA do Snyk Code usa um processo especial que combina aprendizado de máquina baseado em milhões de commits de código aberto e feedback humano da equipe de pesquisa de segurança da Snyk, tornando o relatório ainda mais completo.
Conclusão
A plataforma Snyk funciona perfeitamente com o GKE Autopilot, uma revolução no Kubernetes gerenciado. Com a integração do Snyk Container com Kubernetes, os clientes podem começar rapidamente a proteger workloads no GKE Autopilot e usar a Snyk CLI com o Google Cloud Build, além das integrações com o Google Container Registry, o Google Artifact Registry e uma das várias integrações de SCM com repositórios Git da Snyk.
Quer saber mais sobre como criar workloads Kubernetes com segurança? Crie uma conta gratuita na Snyk!
Proteja a infraestrutura desde a origem
A Snyk automatiza a segurança e a conformidade de IaC nos fluxos de trabalho e detecta recursos com configurações divergentes ou ausentes.
