Protéger les données CPU dans LXC

Protéger les données CPU dans LXC

Lors de l’utilisation de conteneurs LXC, il peut arriver que ces derniers affichent les informations du CPU de l’hôte au lieu de leurs propres informations limitées. Cela peut poser des problèmes de sécurité et de gestion des ressources, car les conteneurs peuvent accéder à plus d’informations sur le système hôte que prévu. De plus, cela peut générer des fausses alertes dans les systèmes de surveillance comme Zabbix.
Ce tutoriel vous explique comment corriger ce problème en modifiant le service lxcfs.

Par exemple, il est possible de voir l’utilisation des cœurs CPU par d’autres machines virtuelles à partir d’un conteneur LXC, ce qui ne devrait pas être le cas.

 

 

Étape 1 : Modifier le fichier de service lxcfs

La première étape consiste à modifier le fichier de service lxcfs pour ajouter l’option nécessaire qui empêche les conteneurs de voir les informations du CPU de l’hôte.
lxcfs est un service utilisé dans les environnements LXC (Linux Containers) pour monter des systèmes de fichiers virtuels spécifiques aux conteneurs. Ces systèmes de fichiers permettent aux conteneurs de voir des informations limitées et isolées concernant les ressources système, telles que l’utilisation de la mémoire, les informations CPU, etc., au lieu des informations globales de l’hôte. En d’autres termes, lxcfs joue un rôle crucial dans l’isolation des conteneurs, en veillant à ce que chaque conteneur n’ait accès qu’aux informations qui lui sont spécifiques, et non à celles de l’hôte ou des autres conteneurs.

sudo nano /lib/systemd/system/lxcfs.service

Étape 2 : Ajouter l’option -l à ExecStart

Recherchez la ligne qui commence par ExecStart dans le fichier ouvert. Modifiez-la comme suit :

Avant :

ExecStart=/usr/bin/lxcfs /var/lib/lxcfs

Après :

ExecStart=/usr/bin/lxcfs -l /var/lib/lxcfs

L’option -l dans la commande ExecStart est utilisée pour spécifier le répertoire où lxcfs doit monter les systèmes de fichiers virtuels. Plus précisément, cette option permet à lxcfs de s’assurer que les informations comme celles du CPU, de la mémoire et d’autres ressources système sont correctement virtualisées et isolées pour chaque conteneur. En ajoutant cette option, vous forcez lxcfs à monter les systèmes de fichiers de manière à ce que chaque conteneur ne voie que les informations limitées et spécifiques à ses propres ressources, évitant ainsi toute fuite d’informations provenant de l’hôte.

 

Étape 3 : Recharger et redémarrer lxcfs

Pour appliquer les modifications, rechargez les services systemd et redémarrez lxcfs :

sudo systemctl daemon-reload
sudo systemctl restart lxcfs.service

Étape 4 : Redémarrer les conteneurs LXC

Enfin, redémarrez tous les conteneurs LXC pour qu’ils prennent en compte la nouvelle configuration de lxcfs :

sudo pct stop <container-id>
sudo pct start <container-id>

(Remplacez <container-id> par l’identifiant de chaque conteneur.)

Vous pouvez également utiliser l’interface graphique de Proxmox pour redémarrer les conteneurs.

Ces étapes garantissent que les modifications apportées au fichier de service sont prises en compte et que lxcfs fonctionne avec les nouveaux paramètres. Cela permet une meilleure isolation des conteneurs, empêchant l’accès non autorisé aux informations du CPU de l’hôte.

 

Bonne chance !

 

Comments are closed