Quem precisa agilizar seu ambiente de dev certamente utiliza de containers para poder baixar aquela imagem com banco de dados ou servidor de aplicação e com poucos comandos começar a meter a mão na massa. Mas, como saber se a imagem que baixei do registry da empresa ou até mesmo do dockerhub é segura para trabalhar ou até mesmo para colocar em produção. Uma imagem para ser segura deve estar atualizada, mas, como saber o quão segura ela está?

Pra quem não conhece, o trivy é uma solução que faz o scaneamento de containers e artefatos em busca de vulnerabilidades. Ele mostra um relatório detalhado das vulnerabilidades por nível de criticidade e você poderá saber em pouquíssimos segundos como andam as suas imagens. Ele detecta vulnerabilidades a nível de sistema operacional e também dependencias de aplicativos (bundler, composer, npm, yarn, etc). Para usar no modo standalone, basta instalar no seu computador e iniciar o scaneamento.

Instalação

Processo de instalação automatizada. O script abaixo baixa os binários baseado na arquitetura do sistema operacional.

# Instalação direto do reposiório oficial
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.18.1

Após instalar (leva menos de 5 segundos) você já poderá utilizar em imagens da sua máquina, do dockerhub ou de algum registry privado.

Vamos usar o trivy para analisar uma imagem direto do dockerhub.

trivy image python:3.6-slim

Como você pode ver na imagem abaixo, ele primeiro atualizou o banco de dados local do trivy e em seguida analisou a imagem que eu informei. No início ele mostra um resumo com a quantidade de vulnerabilidades por severidade (low, medium, high, critical) além de mostrar o CVE relacionado, o pacote e uma descrição.

Resultado da análise de uma imagem do dockerhub

Você também pode executar a verificação em um registry passando a url dela. Veja em um exemplo no registry que eu criei no post Registry seguro com Harbor e Trivy.

trivy image harbor.i9dns.net:/devops/postgres:9.4.13

Resolvendo as vulnerabilidades

Na maioria dos casos, você pode dar um docker run com parâmetro bash e executar apt-get update/upgrade (Ubuntu/Debian) ou yum update (RedHat/CentOS). Há um exemplo no post Registry seguro com Harbor e Trivy.

Conclusão

Se você quiser evitar de pagar micão ao enviar uma imagem para o servidor registry cheio de vulnerabilidades, execute o trivy antes e tenha certeza que está com uma imagem saudável. O processo é fácil e muito rápido.


Cleberson

Casado, pai de família, autodidata e amante de tecnologia. Especialista em PHP, MySQL e PostgreSQL, certificado em RedHat e formando em Gestão de TI.

0 comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *