Défense

Sécurité Docker

Docker facilite le déploiement, mais ne supprime pas les risques. Une image vulnérable, un conteneur trop privilégié ou un volume mal exposé peuvent créer une vraie surface d'attaque.


Image et conteneur

ÉlémentRôle
ImageModèle immuable de départ
ConteneurInstance lancée d'une image
VolumeStockage persistant
NetworkRéseau entre conteneurs
DockerfileRecette de construction

Risques fréquents

  • image obsolète
  • dépendances vulnérables
  • secrets dans l'image
  • conteneur exécuté en root
  • mode privilégié inutile
  • socket Docker exposée
  • volumes sensibles montés
  • ports publiés sans besoin
  • logs contenant des secrets

Dockerfile

Bonnes pratiques :

  • partir d'une image officielle ou maîtrisée
  • utiliser une version précise
  • réduire les paquets installés
  • supprimer les caches inutiles
  • créer un utilisateur non-root
  • ne pas copier de secrets
  • scanner l'image

Exemple de principe :

USER node

Exécuter en non-root réduit l'impact d'une compromission applicative.


Réseau

Un conteneur ne doit exposer que les ports nécessaires.

docker ps
docker network ls

Il faut distinguer :

  • port exposé dans l'image
  • port publié sur l'hôte
  • accès entre conteneurs
  • accès depuis Internet

Volumes

Les volumes donnent accès à des données persistantes.

À éviter :

  • monter / dans un conteneur
  • monter /var/run/docker.sock sans nécessité absolue
  • donner accès aux secrets à tous les conteneurs
  • partager un volume sensible entre services non liés

Bonnes pratiques

  • limiter les privilèges
  • exécuter en non-root
  • scanner les images
  • limiter les ports publiés
  • protéger les volumes
  • séparer les réseaux
  • mettre à jour les images
  • ne pas stocker de secrets dans l'image
  • journaliser et surveiller les conteneurs

À retenir

Docker fournit de l'isolation, mais ne sécurise pas automatiquement. La sécurité dépend de l'image, des droits, du réseau, des volumes, des secrets et de la supervision.

Précédent
Gestion des secrets