6.3. Passage de la politique SELinux à MLS
Procédez comme suit pour passer d'une politique SELinux ciblée à une politique de sécurité multiniveaux (MLS).
Red Hat ne recommande pas l'utilisation de la stratégie MLS sur un système qui exécute le système X Window. De plus, lorsque vous ré-étiqueter le système de fichiers avec des étiquettes MLS, le système peut empêcher l'accès à des domaines confinés, ce qui empêche votre système de démarrer correctement. Veillez donc à passer SELinux en mode permissif avant de ré-étiqueter les fichiers. Sur la plupart des systèmes, vous verrez beaucoup de refus SELinux après le passage à MLS, et beaucoup d'entre eux ne sont pas triviaux à corriger.
Procédure
Installez le paquetage
selinux-policy-mls
:# dnf install selinux-policy-mls
Ouvrez le fichier
/etc/selinux/config
dans un éditeur de texte de votre choix, par exemple :# vi /etc/selinux/config
Changez le mode SELinux de "enforcing" à "permissive" et passez de la politique ciblée à la politique MLS :
SELINUX=permissive SELINUXTYPE=mls
Enregistrez les modifications et quittez l'éditeur.
Avant d'activer la stratégie MLS, vous devez attribuer une étiquette MLS à chaque fichier du système de fichiers :
# fixfiles -F onboot System will relabel on next boot
Redémarrer le système :
# reboot
Vérifier les refus SELinux :
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent -i
La commande précédente ne couvrant pas tous les cas de figure, reportez-vous à la section Dépannage des problèmes liés à SEL inux pour obtenir des conseils sur l'identification, l'analyse et la résolution des refus SELinux.
Après vous être assuré qu'il n'y a pas de problèmes liés à SELinux sur votre système, remettez SELinux en mode "enforcing" en modifiant l'option correspondante dans
/etc/selinux/config
:SELINUX=enforcing
Redémarrer le système :
# reboot
Si votre système ne démarre pas ou si vous ne pouvez pas vous connecter après avoir basculé vers MLS, ajoutez le paramètre enforcing=0
à la ligne de commande de votre noyau. Pour plus d'informations, voir Modifier les modes SELinux au démarrage.
Notez également que dans MLS, les connexions SSH en tant qu'utilisateur root
associé au rôle SELinux sysadm_r
diffèrent des connexions en tant que root
dans staff_r
. Avant de démarrer votre système dans MLS pour la première fois, envisagez d'autoriser les connexions SSH en tant que sysadm_r
en définissant le booléen SELinux ssh_sysadm_login
sur 1
. Pour activer ssh_sysadm_login
ultérieurement, alors que vous êtes déjà dans MLS, vous devez vous connecter en tant que root
dans staff_r
, passer à root
dans sysadm_r
à l'aide de la commande newrole -r sysadm_r
, puis définir le booléen sur 1
.
Vérification
Vérifiez que SELinux fonctionne en mode d'exécution :
# getenforce Enforcing
Vérifiez que le statut de SELinux renvoie la valeur
mls
:# sestatus | grep mls Loaded policy name: mls
Ressources supplémentaires
-
Les pages de manuel
fixfiles(8)
,setsebool(8)
, etssh_selinux(8)
.