Skip to main content

Automatize a segurança de contêineres com pull requests para Dockerfiles

Escrito por
Headshot of Danielle Inbar

Danielle Inbar

Container scanning

16 de março de 2021

0 minutos de leitura

A integração com seus gerenciadores de código-fonte e o envio de pull requests para corrigir problemas fazem parte do sucesso do Snyk em ajudar nossos clientes a corrigir dependências de aplicações há vários anos. Agora, queremos ajudar você a lidar com a segurança de contêineres de forma semelhante. Temos o prazer de anunciar que estamos ampliando o Snyk Container para ajudar você a corrigir automaticamente problemas no Dockerfile e manter sempre uma imagem base atualizada.

Painel que compara imagens-base atuais e alternativas por quantidade e gravidade das vulnerabilidades, com botões “Abrir uma PR de correção”.

Recentemente, começamos a dar mais destaque aos Dockerfiles no Snyk, detectando-os automaticamente em repositórios Git, mostrando as vulnerabilidades das imagens base e recomendando imagens base para atualização e redução do número de problemas de segurança. Agora, queremos ir além e fazer as correções por você. A partir de hoje, o Snyk permite que você escolha entre criar pull requests automaticamente ou manualmente, com as alterações necessárias no Dockerfile para usar uma imagem base alternativa e menos vulnerável. Essa automação continua aprimorando os esforços da sua equipe para lidar com um grande número de vulnerabilidades em contêineres: além de apontar os problemas antecipadamente, ela também facilita e agiliza a correção.

Pull request do GitHub recomendando a atualização para node:bookworm-slim, com uma tabela que lista vulnerabilidades de alta gravidade.

Correções automatizadas de segurança no código para contêineres

Até agora, o Snyk recomendava imagens base que você podia optar por usar. No exemplo abaixo, usamos node:10.4.0 como imagem base, e o Snyk Container mostra que ela contém 956 vulnerabilidades, das quais 453 são de alta gravidade (no momento em que este artigo foi escrito). Com base nos dados coletados pelas nossas equipes de segurança, recomendamos outra imagem base para reduzir o risco de segurança. Neste exemplo, uma das alternativas é uma atualização de versão secundária para node:10.23.2, que tem apenas 64 vulnerabilidades de alta gravidade.

Os novos PRs de correção permitem que você selecione outras opções de atualização, se preferir. Também é possível criar PRs de correção automaticamente para atualizações de versões secundárias.

O novo processo detecta seu Dockerfile e recomenda imagens base de acordo com a seguinte lógica:

  • Atualização de versão secundária - a atualização mais segura e indicada, que não altera drasticamente as versões do framework (Node, no nosso exemplo)

  • Atualizações de versão principal - uma opção para atualizar para uma versão principal, que reduz mais vulnerabilidades, mas pode aumentar o risco de incompatibilidade com a aplicação devido à mudança de versão principal

  • Atualizações alternativas - opções viáveis de imagens para substituir sua imagem base atual por outras imagens, geralmente mais enxutas, que reduzem ainda mais as vulnerabilidades. No entanto, por serem enxutas, elas podem exigir algumas etapas adicionais para serem usadas

Os pull requests automatizados são criados para você revisar e mesclar somente para a versão mais recente da imagem base com atualização de versão secundária. Se preferir abrir um pull request manualmente, você pode fazer isso e atualizar para qualquer imagem base alternativa entre as recomendações acima.

Pull request do GitHub mostrando uma alteração no Dockerfile de node:10 para node:debian-buster-slim para corrigir as vulnerabilidades listadas.

Disponibilidade

Esses recursos de PRs de correção já estão disponíveis para todos os usuários do Snyk Container, em todos os planos, inclusive nas contas gratuitas.

O Snyk Container recomenda imagens base e cria pull requests automatizados para Docker Official Images. Esse conjunto selecionado de repositórios do Docker Hub foi criado para oferecer imagens base essenciais, que servem como ponto de partida para a maioria dos usuários de contêineres e abrangem uma ampla variedade de ambientes de execução para linguagens de programação populares, armazenamentos de dados e outros serviços. Como parte do programa Docker Official Images, a Docker patrocina uma equipe dedicada responsável por revisar e publicar todo o conteúdo das imagens oficiais. Essa equipe garante que as atualizações de segurança sejam aplicadas em tempo hábil. Isso é especialmente importante porque as Official Images estão entre as imagens mais populares do Docker Hub.

Temos planos de expandir para além das Docker Official Images e gostaríamos de saber sua opinião sobre outras fontes de imagens upstream que você gostaria que incluíssemos, além de como você seleciona suas próprias imagens personalizadas internas, caso isso faça parte do seu processo. O novo recurso está disponível pela interface web e pela API do Snyk e é fácil de configurar. O Snyk é compatível com todos os gerenciadores de repositórios baseados em Git, incluindo:

  • GitHub

  • GitLab

  • Bitbucket Server

  • Bitbucket Cloud

  • GitHub Enterprise Server

Consulte nossa documentação para saber mais.

Conte para a gente o que você acha

Agora, você pode relaxar e deixar que o Snyk corrija os problemas de segurança dos contêineres, ajudando a manter seus Dockerfiles com uma imagem base atualizada. Só falta mesclar as alterações e manter tudo seguro!

Queremos muito saber sua opinião para continuar aprimorando sua experiência. Se você tiver algum comentário ou caso de uso específico que acha que deveria ser contemplado, conte para a gente.

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.