3.7. Confiner un administrateur en le faisant correspondre à sysadm_u
Vous pouvez confiner un utilisateur avec des privilèges administratifs en le faisant correspondre directement à l'utilisateur SELinux sysadm_u
. Lorsque l'utilisateur se connecte, la session s'exécute dans le contexte SELinux sysadm_u:sysadm_r:sysadm_t
.
Par défaut, tous les utilisateurs Linux de Red Hat Enterprise Linux, y compris les utilisateurs disposant de privilèges administratifs, sont mappés à l'utilisateur SELinux non confiné unconfined_u
. Vous pouvez améliorer la sécurité du système en assignant des utilisateurs à des utilisateurs SELinux confined. Ceci est utile pour se conformer au Guide de mise en œuvre technique de la sécurité V-71971.
Conditions préalables
-
L'utilisateur
root
s'exécute sans contrainte. Il s'agit de la configuration par défaut de Red Hat Enterprise Linux.
Procédure
Facultatif : Pour permettre aux utilisateurs de
sysadm_u
de se connecter au système à l'aide de SSH :# setsebool -P ssh_sysadm_login on
Créez un nouvel utilisateur, ajoutez-le au groupe d'utilisateurs
wheel
et associez-le à l'utilisateur SELinuxsysadm_u
:# adduser -G wheel -Z sysadm_u example.user
Facultatif : Associez un utilisateur existant à l'utilisateur SELinux
sysadm_u
et ajoutez l'utilisateur au groupe d'utilisateurswheel
:# usermod -G wheel -Z sysadm_u example.user
Vérification
Vérifiez que
example.user
est associé à l'utilisateur SELinuxsysadm_u
:# semanage login -l | grep example.user example.user sysadm_u s0-s0:c0.c1023 *
Se connecter en tant que
example.user
par exemple, en utilisant SSH, et afficher le contexte de sécurité de l'utilisateur :[example.user@localhost ~]$ id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
Passez à l'utilisateur
root
:$ sudo -i [sudo] password for example.user:
Vérifiez que le contexte de sécurité reste inchangé :
# id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
Essayez une tâche administrative, par exemple en redémarrant le service
sshd
:# systemctl restart sshd
S'il n'y a pas de sortie, la commande s'est terminée avec succès.
Si la commande ne se termine pas avec succès, elle affiche le message suivant :
Failed to restart sshd.service: Access denied See system logs and 'systemctl status sshd.service' for details.