= La Barrière chroot =
== Qu'est ce que c'est ? == Comme vous devez le savoir, l'implémentation standard du chroot Linux ne > garanti pas la sécurité, et il existe bon nombre de méthodes pour sortir > d'un chroot. Puisque les vservers résident dans des répertoires se situant > en dessous de la racine du serveur hote, nous devons être surs que personne > ne peut sortir de son vserver, c'est-à-dire remonter jusqu'au vserver hote, > et aller par exemple dans l'un des vservers voisins. Linux-VServer utilise > pour cela un marquage que l'on appelle barrière. == Comment ca fonctionne ? == Cela dépend de la version, mais assure bien dans tous les cas qu'un "root invité" > ne peut pas passer un certain répertoire 'marqué'. La barrière est formée soit > par une combinaison d'attributs (ie: drapeaux et modes), ou par drapeau, > protégé de toute modification depuis n'importe quel vserver. Si vous avez besoin de plus de détails, passez sur le canal #vserver sur irc.oftc.net, > et posez la question :-) . (Langue Anglaise) == Comment l'utiliser ? == Cela dépend de la version de Linux-VServer que vous utilisez. <vserver-base-directory> est le répertoire dans lequel se trouvent les racines de vos vservers. ÿ1ÿ> (e.g. /vservers) but for mounting/namespace/whatever reasons, it's better to specify it indirectly via <path-to-vserver>/.. ÿ2ÿ> (e.g. /vservers/myserver/..) === 1.26+ (1.25 breaks some distros) === chmod 0000 <vserver-base-directory> chattr +t <vserver-base-directory> Warning for 1.26(1.25): The +t attribute is inherited and you won't be able to modify files and directories that have this flag set. Recent version ot util-vserver care about this, but older ones simply do not know about this and you'll have to remove the flag yourself. === 1.27 === problème "héritage non sollicité": réglé. === 1.29.1 === the barrier security was lowered to allow for sequences like: <code> cd /tmp; mkdir foo; mkdir foo/bar chmod 0000 foo; chmod 0000 foo/bar </code> so make sure that the barrier conditions (i.e. chmod 000 and chattr +t) are met. === 1.37+ === identique à 1.9.x ... === 1.9.x === the barrier has become a separate flag, which can be set with recent tools <code> setattr --barrier <vserver-base-directory> </code> |