Chapitre 3. Gestion des utilisateurs confinés et non confinés
Les sections suivantes expliquent le mappage des utilisateurs Linux aux utilisateurs SELinux, décrivent les domaines d'utilisateurs confinés de base et démontrent le mappage d'un nouvel utilisateur à un utilisateur SELinux.
3.1. Utilisateurs confinés et non confinés
Chaque utilisateur Linux est associé à un utilisateur SELinux à l'aide de la politique SELinux. Cela permet aux utilisateurs Linux d'hériter des restrictions imposées aux utilisateurs SELinux.
Pour voir le mappage des utilisateurs SELinux sur votre système, utilisez la commande semanage login -l
en tant que root :
# semanage login -l
Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
Dans Red Hat Enterprise Linux, les utilisateurs de Linux sont associés par défaut à l'identifiant SELinux default
par défaut, qui est associé à l'utilisateur SELinux unconfined_u
. La ligne suivante définit le mappage par défaut :
__default__ unconfined_u s0-s0:c0.c1023 *
Les utilisateurs confinés sont soumis aux règles SELinux explicitement définies dans la politique SELinux en vigueur. Les utilisateurs non confinés ne sont soumis qu'à des restrictions minimales par SELinux.
Les utilisateurs de Linux, qu'ils soient confinés ou non, sont soumis à des contrôles de la mémoire exécutable et inscriptible, et sont également soumis à des restrictions par MCS ou MLS.
Pour dresser la liste des utilisateurs SELinux disponibles, entrez la commande suivante :
$ seinfo -u
Users: 8
guest_u
root
staff_u
sysadm_u
system_u
unconfined_u
user_u
xguest_u
Notez que la commande seinfo
est fournie par le paquetage setools-console
, qui n'est pas installé par défaut.
Si un utilisateur Linux non confiné exécute une application que la politique SELinux définit comme pouvant passer du domaine unconfined_t
à son propre domaine confiné, l'utilisateur Linux non confiné est toujours soumis aux restrictions de ce domaine confiné. L'avantage en termes de sécurité est que, même si l'utilisateur de Linux fonctionne en mode non confiné, l'application reste confinée. Par conséquent, l'exploitation d'une faille dans l'application peut être limitée par la politique.
De même, nous pouvons appliquer ces contrôles aux utilisateurs confinés. Chaque utilisateur confiné est limité par un domaine d'utilisateur confiné. La politique SELinux peut également définir une transition entre un domaine d'utilisateurs confinés et son propre domaine confiné cible. Dans ce cas, les utilisateurs confinés sont soumis aux restrictions de ce domaine confiné cible. L'essentiel est que des privilèges spéciaux soient associés aux utilisateurs confinés en fonction de leur rôle.