Un des aspects pratiques de l'utilisation des technologies de conteneurisation est leur capacité à créer un environnement isolé du système hôte sans virtualisation ; mais celle-ci est-elle bien connue et maîtrisée de ses utilisateurs ? Cet article introduit les différents mécanismes sous-jacents permettant l'isolation des conteneurs du système hôte sur le système d'exploitation Linux et présente comment les manipuler.
Faciles à créer et encore plus à déployer, les conteneurs se sont peu à peu imposés comme un standard du déploiement d'application. Leur succès les a menés à la base d'outils de déploiements massifs et d'orchestrations comme Docker Swarm, Kubernetes, Nomad ou encore Openshift.
Si la plupart de leurs avantages sont faciles à comprendre, celui de la sécurité peut être plus obscur et les mécanismes d’isolation sous-jacents non maîtrisés, voire inconnus. Cette méconnaissance de la part de l'utilisateur final, peut engendrer une désactivation quasi totale de l’isolation avec, par exemple, l'utilisation des conteneurs privilégiés.
Dans cet article, nous explorons les principaux piliers de l’isolation des conteneurs de leur hôte sous Linux : les espaces de noms ou namespaces, les groupes de contrôles ou Cgroups ainsi que les capacités Linux ou capabilities. Pour chacun de ces piliers, nous verrons comment les manipuler avec Docker, soit la plateforme...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première