Existe-t-il des différences notables entre les conteneurs LXC (conteneurs Linux) et les jails FreeBSD en termes de sécurité, de stabilité et de performances?
À première vue, les deux approches sont très similaires.
Existe-t-il des différences notables entre les conteneurs LXC (conteneurs Linux) et les jails FreeBSD en termes de sécurité, de stabilité et de performances?
À première vue, les deux approches sont très similaires.
Réponses:
Peu importe le nom sophistiqué utilisé ici, les deux solutions à un problème spécifique: une meilleure solution de ségrégation que le chroot Unix classique . La virtualisation au niveau du système d'exploitation, les conteneurs, les zones ou même "chroot avec des stéroïdes" sont des noms ou des titres commerciaux qui définissent le même concept de séparation de l'espace utilisateur, mais avec des fonctionnalités différentes.
Chroot a été introduit le 18 mars 1982, quelques mois avant la sortie de la version 4.2 BSD , comme outil pour tester son système d'installation et de construction, mais il a encore ses défauts aujourd'hui. Comme le premier objectif de chroot était uniquement de fournir un nouveau chemin de racine , d'autres aspects du système qui devaient être isolés ou contrôlés ont été découverts (réseau, vue de processus, débit d'E / S). C’est là que les premiers conteneurs (virtualisation au niveau utilisateur) sont apparus.
Les deux technologies (JBS FreeBSD et LXC) utilisent l’isolation de l’espace utilisateur pour fournir une couche de sécurité supplémentaire. Cette compartimentation garantit qu'un processus déterminé communiquera uniquement avec les autres processus du même conteneur sur le même hôte. Si vous utilisez une ressource réseau pour établir une communication "en dehors du monde", tous seront transférés vers l'interface / le canal attribué à ce conteneur. a.
Caractéristiques
JBS FreeBSD:
allow.mount.zfs
pour obtenir plus de puissance, et d'autres variables telles quechildren.max
ne définissent pas le maximum de prisons pour enfants.vnet
, permettant à chaque prison d’avoir sa propre pile réseau, ses interfaces, ses tables d’adressage et de routage;nullfs
pour aider à relier des dossiers à ceux qui sont situés sur le serveur réel à l'intérieur d'une prison;sysctl
).security.jail.allow.*
Les paramètres limiteront les actions de l'utilisateur root de cette prison.Conteneurs Linux (LXC):
Fonctionnalité de migration en cours de développement. Il est vraiment difficile de dire quand il sera prêt à l' emploi de la production, puisque docker / lxc devra traiter avec le processus de pause userspace, instantané, migrer et consolider - ref1 , ref2 .La migration en direct fonctionne avec des conteneurs de base (aucun périphérique ne diffère, pas plus que des services réseau complexes ou des configurations de stockage spéciales).Docker n'utilise plus lxc. Ils ont maintenant une bibliothèque spécifique appelée libcontainer qui gère directement l'intégration avec les espaces de noms de noyau de bas niveau et les fonctionnalités de groupe de contrôle.
Aucune de ces technologies n’est une panacée en matière de sécurité, mais les deux constituent de très bons moyens pour isoler un environnement qui n’exige pas de virtualisation complète en raison d’une infrastructure de systèmes d’exploitation mixte. La sécurité viendra après de nombreuses lectures de documentation et la mise en œuvre des paramètres ajustables du noyau, des codes MAC et des isolations que ces systèmes virtuels vous offrent.
Voir également:
la source
root
(et donc situés à l'emplacement du système pour les conteneurs).