19.4. Limiter les actions disponibles pour les utilisateurs de machines virtuelles
Dans certains cas, les actions que les utilisateurs de machines virtuelles (VM) hébergées sur RHEL 9 peuvent effectuer par défaut peuvent présenter un risque pour la sécurité. Dans ce cas, vous pouvez limiter les actions disponibles pour les utilisateurs de VM en configurant les démons libvirt
pour qu'ils utilisent la boîte à outils de stratégie polkit
sur la machine hôte.
Procédure
Optional: Assurez-vous que les politiques de contrôle de votre système
polkit
relatives àlibvirt
sont configurées selon vos préférences.Trouver tous les fichiers liés à libvirt dans les répertoires
/usr/share/polkit-1/actions/
et/usr/share/polkit-1/rules.d/
.# ls /usr/share/polkit-1/actions | grep libvirt # ls /usr/share/polkit-1/rules.d | grep libvirt
Ouvrez les fichiers et examinez les paramètres des règles.
Pour obtenir des informations sur la lecture de la syntaxe des politiques de contrôle
polkit
, utilisezman polkit
.Modifier les politiques de contrôle de
libvirt
. Pour ce faire, il faut-
Créez un nouveau fichier
.rules
dans le répertoire/etc/polkit-1/rules.d/
. Ajoutez vos politiques personnalisées à ce fichier et enregistrez-le.
Pour de plus amples informations et des exemples de politiques de contrôle
libvirt
, voir la documentation en amontlibvirt
.
-
Créez un nouveau fichier
Configurez vos machines virtuelles pour qu'elles utilisent les politiques d'accès déterminées par
polkit
.Pour ce faire, recherchez tous les fichiers de configuration des pilotes de virtualisation dans le répertoire
/etc/libvirt/
et décommentez la ligneaccess_drivers = [ "polkit" ]
qui s'y trouve.# find /etc/libvirt/ -name virt*d.conf -exec sed -i 's/#access_drivers = \[ "polkit" \]/access_drivers = \[ "polkit" \]/g' {}
Pour chaque fichier modifié à l'étape précédente, redémarrez le service correspondant.
Par exemple, si vous avez modifié
/etc/libvirt/virtqemud.conf
, redémarrez le servicevirtqemud
.# systemctl try-restart virtqemud
Vérification
En tant qu'utilisateur dont vous souhaitez limiter les actions de la VM, effectuez l'une des actions restreintes.
Par exemple, si les utilisateurs non privilégiés ne peuvent pas voir les machines virtuelles créées dans la session système :
$ virsh -c qemu:///system list --all Id Name State -------------------------------
Si cette commande ne répertorie aucune VM alors qu'une ou plusieurs VM existent sur votre système,
polkit
restreint avec succès l'action pour les utilisateurs non privilégiés.
Résolution de problèmes
Actuellement, la configuration de
libvirt
pour utiliserpolkit
rend impossible la connexion aux machines virtuelles à l'aide de la console web RHEL 9, en raison d'une incompatibilité avec le servicelibvirt-dbus
.Si vous avez besoin d'un contrôle d'accès précis des machines virtuelles dans la console Web, créez une politique D-Bus personnalisée. Pour obtenir des instructions, voir Comment configurer un contrôle fin des machines virtuelles dans Cockpit dans la base de connaissances de Red Hat.
Ressources supplémentaires
-
La commande
man polkit
-
Le site
libvirt
fournit des informations en amont sur les politiques de contrôle d'accès de polkit