Durcissement d'image : non-root et base minimale
Une image qui fonctionne n'est pas forcément une image sûre à déployer. Dans cette leçon, on se concentre sur un thème : réduire ce qui peut être attaqué. On exécute le conteneur en tant qu'utilisateur non-root : par défaut dans un conteneur, c'est root, et l'instruction USER nous fait passer à un u
Donne à un employé seulement les clés dont il a besoin (non-root), et garde une boîte à outils petite (base minimale) — ainsi, même si quelqu'un s'introduit, il a moins de clés et moins d'outils avec lesquels jouer.
- utilisateur non-root (USER)
- Exécuter le processus du conteneur sous un utilisateur aux privilèges limités plutôt que root. L'instruction USER dans un Dockerfile le définit et limite les dégâts (blast radius) si un attaquant obtient l'exécution de code.
- image de base minimale
- Une base petite comme alpine ou distroless avec peu de paquets et d'outils. Moins il y a d'installé dans l'image, moins il y a de vulnérabilités possibles et plus la surface d'attaque (attack surface) est petite.
- scan d'image (CVE)
- Une vérification automatisée de l'image contre une base de données de vulnérabilités connues (CVE) dans ses bibliothèques et sa base. Le scan signale les paquets vulnérables, donc on fige les versions et on met à jour.