Cuando se ha encontrado una vulnerabilidad que afecta al Kernel de Linux, ¿qué debo hacer con Docker?

Cuando se ha encontrado una vulnerabilidad que afecta al Kernel de Linux, ¿qué debo hacer con Docker?

Digamos que tengo una máquina host Ubuntu que ejecuta Docker.

Este host contiene muchos contenedores en ejecución que utilizan varias imágenes base ( FROM), como ubuntu, alpine, java:8...

Este host también contiene algunas imágenes construidas a mano.

Hoy puedo detener y eliminar todos mis contenedores y luego crearlos todos nuevamente. Ninguna de las imágenes almacena datos (no compro contenedores). Por lo tanto, perder mis datos no es un problema. Volver a activar mis servicios tampoco debería ser un problema siempre y cuando las imágenes sigan siendo las mismas.

Supongamos que se ha encontrado una vulnerabilidad que afecta al kernel de Linux.

He actualizado el sistema operativo de mi host para que ya no sea vulnerable. Los contenedores Docker utilizan el kernel del host para ejecutarse, pero ¿es eso suficiente? ¿Cuáles son las consideraciones y acciones que debo tomar para asegurarme de que mis contenedores no se vean afectados por la vulnerabilidad?

Respuesta1

Dado que los contenedores Docker utilizan el kernel host. Una vez que se actualice el kernel del host, no tendrá problemas con los contenedores.

Los problemas en las bibliotecas son otra historia. Openssl, por ejemplo, es una biblioteca que puede ser diferente en los contenedores y en el host y debe actualizarse.

Es una buena práctica incluir un apt-get update && apt-get -q -y upgradeen la parte superior de su Dockerfile. Por lo tanto, debes crear tus imágenes con regularidad.

Si utiliza imágenes oficiales, es una buena práctica realizar una extracción periódicamente para actualizar sus contenedores. Si usa Docker-compose:

docker-compose pull && docker-compose up -d

Los actualizará. Para una ventana acoplable simple, debes hacer un tirón. Elimine el contenedor y cree uno más nuevo que apunte a los mismos volúmenes:

docker pull image
docker stop containerid && docker rm containerid
docker run image ....

Saludos

información relacionada