Clair-Scan de vulnerabilidades en imágenes y contenedores Docker

Para escanear en busca de vulnerabilidades en imágenes y contenedores docker, podemos usar la herramienta Clair, de CoreOS, para ello, usaremos lo siguientes comandos para su despliegue.

Creamos la red, para los escaneos

docker network create scanning

Descargamos la última base de vulnerabilidades disponible y ejecutamos el contenedor

docker run -p 5432:5432 -d --net=scanning --name db arminc/clair-db:$(date -d "yesterday" '+%Y-%m-%d') ; sleep 10

Descargamos la imagen y ejecutamos el contenedor del scan

docker run -p 6060:6060 --net=scanning --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.1 ; sleep 10

Nos conectamos al registry local (en nuestro caso Harbor)

docker login -u usuario -p password ip_del_registry

Le indicamos a docker que arranque el contenedor del scan, escanee la imagen del contenedor tomcat7war del registry y nos muestre el informe

docker run --net=scanning --rm --name=scanner --link=clair:clair \

-v '/var/run/docker.sock:/var/run/docker.sock' \

objectiflibre/clair-scanner --clair="http://ip_del_docker:6060" \

--ip="scanner" -t Medium ip_harbor/imagenes/tomcat7war:v1

Borramos los contenedores de scan y la BDD

docker rm -vf db clair

Borramos las imágenes de scan y BDD

docker image ls | grep 'arminc' | xargs docker rmi

Borramos la red de scan

docker network rm scanning

Podemos programar estos comandos con Jenkins, programando un nuevo job e introduciendo los comandos tal como se indica a continuación:

 

http://pbs.twimg.com/media/DXxZPHrWkAA8NyC.jpg

Un comentario

Dejar una contestacion

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.