Creación de imágenes de Docker seguras

Introducción a Docker

Tim Sangster

Software Engineer @ DataCamp

Seguridad inherente

Un contenedor comprometido puede acceder al host si rompe la capa de virtualización.

Introducción a Docker

Crear imágenes seguras

$$

En casos excepcionales, atacantes pueden escapar de un contenedor.

$$

Medidas de seguridad adicionales reducen este riesgo

$$

Es clave al exponer contenedores a Internet.

Introducción a Docker

Imágenes de fuente confiable

Crear imágenes seguras -> Empieza con una imagen de fuente confiable

Filtros de Docker Hub:

Docker Hub tiene tres filtros de Contenido de confianza: Docker Official Images, Verified Publisher images y Sponsored OSS images

Introducción a Docker

Mantén el software actualizado

Incluso la popular imagen de Ubuntu se actualizó hace solo 14 días. La también muy popular imagen de MariaDB se actualizó hace más de un mes.

Introducción a Docker

Mantén las imágenes mínimas

Añadir paquetes innecesarios reduce la seguridad

Ubuntu con:

  • Python2.7
  • Python3.11
  • Java default-jre
  • Java openjdk-11
  • Java openjdk-8
  • Airflow
  • Nuestra aplicación de pipeline

Instalar solo lo esencial mejora la seguridad

Ubuntu con:

  • Python3.11
  • Nuestra aplicación de pipeline
Introducción a Docker

No ejecutes aplicaciones como root

Dar acceso root a una imagen impide mantenerla actualizada y mínima.

En su lugar, inicia los contenedores con un usuario con menos permisos:

FROM ubuntu # User is set to root by default.
RUN apt-get update
RUN apt-get install python3
USER repl # We switch the user after installing what we need for our use-case.
CMD python3 pipeline.py
Introducción a Docker

¡Vamos a practicar!

Introducción a Docker

Preparing Video For Download...