<Précédent | Table des matières | Suivant>
lxc-execute n'entre pas dans un profil Apparmor, mais le conteneur qu'il génère sera confiné. 6.9.1. Personnalisation des stratégies de conteneur
Si vous trouvez que lxc-démarrage échoue en raison d'un accès légitime qui est refusé par sa politique Apparmor, vous pouvez désactiver le profil lxc-start en faisant :
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.lxc-start
sudo ln -s /etc/apparmor.d/usr.bin.lxc-start /etc/apparmor.d/disabled/
Cela fera lxc-démarrage exécuter non confiné, mais continuer à confiner le conteneur lui-même. Si vous souhaitez également désactiver le confinement du conteneur, alors en plus de désactiver le usr.bin.lxc-start profil, vous devez ajouter :
lxc.aa_profile = non confiné
au fichier de configuration du conteneur.
LXC est livré avec quelques politiques alternatives pour les conteneurs. Si vous souhaitez exécuter des conteneurs à l'intérieur de conteneurs (imbrication), vous pouvez utiliser le profil lxc-container-default-with-nesting en ajoutant la ligne suivante au fichier de configuration du conteneur
lxc.aa_profile = lxc-container-default-with-emboîtement
Si vous souhaitez utiliser libvirt dans des conteneurs, vous devrez alors modifier cette politique (qui est définie dans /etc/apparmor.d/lxc/lxc-default-with-nesting) en décommentant la ligne suivante :
monter fstype=cgroup -> /sys/fs/cgroup/**,
et rechargez la stratégie.
Notez que la politique d'imbrication avec des conteneurs privilégiés est beaucoup moins sûre que la politique par défaut, car elle permet aux conteneurs de se remonter / sys et / proc dans des emplacements non standard, en contournant les protections de l'apparence.
Les conteneurs non privilégiés n'ont pas cet inconvénient puisque la racine du conteneur ne peut pas écrire sur le contenu de la racine. proc
et sys fichiers.
Un autre profil fourni avec lxc permet aux conteneurs de monter des types de système de fichiers en bloc comme ext4. Cela peut être utile dans certains cas, comme le provisionnement maas, mais est généralement considéré comme dangereux car les gestionnaires de superblocs du noyau n'ont pas été audités pour la gestion sûre des entrées non fiables.
Si vous devez exécuter un conteneur dans un profil personnalisé, vous pouvez créer un nouveau profil sous /etc/apparmor.d/lxc/. Son nom doit commencer par lxc- afin de lxc-démarrage être autorisé à passer à ce profil. Les lxc- par défaut le profil inclut le fichier d'abstractions réutilisable /etc/apparmor.d/abstractions/lxc/container-base. Un moyen simple de créer un nouveau profil est donc de faire de même, puis d'ajouter des autorisations supplémentaires au bas de votre stratégie.
Après avoir créé la stratégie, chargez-la en utilisant :
sudo apparmor_parser -r /etc/apparmor.d/lxc-containers
Le profil sera automatiquement chargé après un redémarrage, car il est sourcé par le fichier /etc/apparmor.d/lxc-containers. Enfin, pour faire des conteneurs CN utiliser ce nouveau lxc-CN-profil, ajoutez la ligne suivante à son fichier de configuration :
lxc.aa_profile = lxc-CN-profil
Documentation