Cuando trabajas con contenedores debes de ser especialmente cuidadoso con las imágenes que eliges como base, como ayer que te conté conté cómo detectar vulnerabilidades con Snyk. Además deberías asegurarte de que las configuraciones que estás aplicando al generar tus Dockerfile son lo más seguras posible. Hoy quiero hablarte de otra herramienta en esta línea llamada Trivy.
Instalación
Lo primero que debes hacer para probar esta herramienta es instalarla. En este enlace tienes los pasos para diferentes sistemas operativos. En mi caso voy a hacer uso de Homebrew para instalar la herramienta en mi Mac:
brew install aquasecurity/trivy/trivy
Detectar vulnerabilidades con Trivy
Al igual que Snyk, puedes escanear vulnerabilidades en las imágenes. Para ello puedes utilizar el mismo Dockerfile, y así comparar resultados:
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
EXPOSE 8000
CMD ["python", "app.py"]
Lo primero que debemos hacer es generar la imagen:
docker build -t 0gis0/python-app .
Y a partir de ahí ya podemos lanzar la herramienta de la siguiente manera:
trivy image 0gis0/python-app
El resultado sería el siguiente:

En este caso lo muestra en un formato tabla y no te hace recomendaciones de qué imágenes puedes usar, si la tuya no es la mejor opción.
Si cambio la imagen base a la última recomendada por Snyk:
FROM python:3.7.11-slim
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
EXPOSE 8000
CMD ["python", "app.py"]
Verás que las vulnerabilidades se reducen.
Buscar configuraciones no apropiadas en tu Dockerfile
La parte que más me ha molado de esta herramienta es la capacidad que tiene de buscar «malas configuraciones» en tus Dockerfile. Utilizando el mismo ejemplo que en el apartado anterior, si lanzamos el siguiente comando, en el directorio donde tienes tu Dockerfile:
trivy config .
Obtendrás el siguiente resumen:

¡Saludos!

Bootcamp DevOps
Si tienes ganas de meterte en el área de DevOps, formo parte del
equipo de docentes del Bootcamp DevOps Lemoncode, ¿Te animas a
aprender con nosotros?