3.3. Capacités des utilisateurs SELinux
La politique SELinux associe chaque utilisateur Linux à un utilisateur SELinux. Cela permet aux utilisateurs Linux d'hériter des restrictions des utilisateurs SELinux.
Vous pouvez personnaliser les autorisations pour les utilisateurs confinés dans votre politique SELinux en fonction de besoins spécifiques en ajustant les booléens dans la politique. Vous pouvez déterminer l'état actuel de ces booléens à l'aide de la commande semanage boolean -l
. Pour dresser la liste de tous les utilisateurs SELinux, de leurs rôles SELinux et des niveaux et plages MLS/MCS, utilisez la commande semanage user -l
comme root
.
User | Rôle par défaut | Autres rôles |
---|---|---|
|
|
|
|
| |
|
| |
|
| |
|
|
|
| ||
| ||
|
| |
|
|
|
| ||
| ||
|
|
Notez que system_u
est une identité d'utilisateur spéciale pour les processus et les objets du système, et que system_r
est le rôle associé. Les administrateurs ne doivent jamais associer cet utilisateur system_u
et le rôle system_r
à un utilisateur Linux. Par ailleurs, unconfined_u
et root
sont des utilisateurs non restreints. Pour ces raisons, les rôles associés à ces utilisateurs SELinux ne sont pas inclus dans le tableau suivant Types et accès aux rôles SELinux.
Chaque rôle SELinux correspond à un type SELinux et fournit des droits d'accès spécifiques.
Rôle | Type | Connexion à l'aide du système X Window | su et sudo | Exécuter dans le répertoire personnel et à l'adresse /tmp (par défaut) | Mise en réseau |
---|---|---|---|---|---|
|
| yes | yes | yes | yes |
|
| non | non | yes | non |
|
| yes | non | yes | navigateurs web uniquement (Firefox, GNOME Web) |
|
| yes | non | yes | yes |
|
| yes |
seulement | yes | yes |
|
| yes | yes | yes | |
|
| yes | yes | yes | |
|
|
uniquement lorsque le booléen | yes | yes | yes |
-
Les utilisateurs de Linux dans les domaines
user_t
,guest_t
etxguest_t
ne peuvent exécuter les applications set user ID (setuid) que si la politique SELinux le permet (par exemple,passwd
). Ces utilisateurs ne peuvent pas exécuter les applications setuidsu
etsudo
et ne peuvent donc pas utiliser ces applications pour devenir root. -
Les utilisateurs de Linux dans les domaines
sysadm_t
,staff_t
,user_t
, etxguest_t
peuvent se connecter en utilisant le système X Window et un terminal. Par défaut, les utilisateurs de Linux dans les domaines
staff_t
,user_t
,guest_t
etxguest_t
peuvent exécuter des applications dans leurs répertoires personnels et/tmp
.Pour les empêcher d'exécuter des applications, qui héritent des autorisations des utilisateurs, dans les répertoires auxquels ils ont accès en écriture, définissez les booléens
guest_exec_content
etxguest_exec_content
suroff
. Cela permet d'éviter que des applications défectueuses ou malveillantes ne modifient les fichiers des utilisateurs.-
Le seul accès au réseau dont disposent les utilisateurs de Linux dans le domaine
xguest_t
est la connexion de Firefox aux pages web. L'utilisateur
sysadm_u
ne peut pas se connecter directement en utilisant SSH. Pour activer les connexions SSH poursysadm_u
, définissez le booléenssh_sysadm_login
suron
:# setsebool -P ssh_sysadm_login on
Outre les utilisateurs SELinux déjà mentionnés, il existe des rôles spéciaux qui peuvent être attribués à ces utilisateurs à l'aide de la commande semanage user
. Ces rôles déterminent ce que SELinux permet à l'utilisateur de faire :
-
webadm_r
ne peut administrer que les types SELinux liés au serveur HTTP Apache. -
dbadm_r
ne peut administrer que les types SELinux liés à la base de données MariaDB et au système de gestion de base de données PostgreSQL. -
logadm_r
ne peut administrer que les types SELinux liés aux processussyslog
etauditlog
. -
secadm_r
ne peut qu'administrer SELinux. -
auditadm_r
ne peut administrer que les processus liés au sous-système d'audit.
Pour dresser la liste de tous les rôles disponibles, entrez la commande seinfo -r
:
$ seinfo -r
Roles: 14
auditadm_r
dbadm_r
guest_r
logadm_r
nx_server_r
object_r
secadm_r
staff_r
sysadm_r
system_r
unconfined_r
user_r
webadm_r
xguest_r
Notez que la commande seinfo
est fournie par le paquetage setools-console
, qui n'est pas installé par défaut.
Ressources supplémentaires
-
seinfo(1)
,semanage-login(8)
, etxguest_selinux(8)
pages de manuel