Créer des images Docker sécurisées

Introduction à Docker

Tim Sangster

Software Engineer @ DataCamp

Sécurité inhérente

Un conteneur compromis peut accéder à l'hôte s'il sort de la couche de virtualisation.

Introduction à Docker

Créer des images sécurisées

$$

Il arrive qu'un attaquant parvienne à s'échapper d'un conteneur.

$$

Des mesures de sécurité additionnelles peuvent réduire ce risque

$$

C'est crucial surtout lorsqu'on expose des conteneurs à Internet.

Introduction à Docker

Images d'une source fiable

Créer des images sécurisées -> Partir d'une image d'une source fiable

Filtres de Docker Hub :

Docker Hub propose trois filtres « Trusted Content » : Docker Official Images, Verified Publisher images et Sponsored OSS images

Introduction à Docker

Garder les logiciels à jour

Même l'image Ubuntu très populaire a été mise à jour il y a seulement 14 jours. L'image très populaire mariaDB a été mise à jour il y a plus d'un mois.

Introduction à Docker

Garder les images minimales

Ajouter des paquets inutiles réduit la sécurité

Ubuntu avec :

  • Python2.7
  • Python3.11
  • Java default-jre
  • Java openjdk-11
  • Java openjdk-8
  • Airflow
  • Notre application de pipeline

Installer seulement l'essentiel améliore la sécurité

Ubuntu avec :

  • Python3.11
  • Notre application de pipeline
Introduction à Docker

Ne pas exécuter les applications en root

Autoriser l'accès root à une image va à l'encontre de l'objectif de la garder à jour et minimale.

Faites plutôt démarrer les conteneurs avec un utilisateur aux permissions limitées :

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
Introduction à Docker

Passons à la pratique !

Introduction à Docker

Preparing Video For Download...