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
# setsebool -P ssh_sysadm_login on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# adduser -G wheel -Z sysadm_u example.user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# usermod -G wheel -Z sysadm_u example.user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Vérifiez que
example.user
est associé à l'utilisateur SELinuxsysadm_u
:semanage login -l | grep example.user
# semanage login -l | grep example.user example.user sysadm_u s0-s0:c0.c1023 *
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
[example.user@localhost ~]$ id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Passez à l'utilisateur
root
:sudo -i
$ sudo -i [sudo] password for example.user:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que le contexte de sécurité reste inchangé :
id -Z
# id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Essayez une tâche administrative, par exemple en redémarrant le service
sshd
:systemctl restart sshd
# systemctl restart sshd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.
Failed to restart sshd.service: Access denied See system logs and 'systemctl status sshd.service' for details.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow