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.
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.
0 comentário