6.9. Définition d'un terminal sécurisé en MLS
La politique SELinux vérifie le type de terminal à partir duquel un utilisateur est connecté et n'autorise l'exécution de certaines applications SELinux, par exemple newrole
, qu'à partir de terminaux sécurisés. Si l'on tente de le faire à partir d'un terminal non sécurisé, on obtient une erreur : Error: you are not allowed to change levels on a non secure terminal;
.
Le fichier /etc/selinux/mls/contexts/securetty_types
définit les terminaux sécurisés pour la politique de sécurité multiniveaux (MLS).
Contenu par défaut du fichier :
L'ajout de types de terminaux à la liste des terminaux sécurisés peut exposer votre système à des risques de sécurité.
Conditions préalables
-
La politique SELinux est définie sur
mls
. - Vous êtes connecté à partir d'un terminal déjà sécurisé, ou SELinux est en mode permissif.
Vous avez des droits d'administration de la sécurité, ce qui signifie que vous êtes assigné à l'une ou l'autre des deux fonctions :
-
Le rôle de
secadm_r
. -
Si le module
sysadm_secadm
est activé, au rôlesysadm_r
. Le modulesysadm_secadm
est activé par défaut.
-
Le rôle de
-
Le paquet
policycoreutils-python-utils
est installé.
Procédure
Déterminer le type de borne de courant :
ls -Z `tty`
# ls -Z `tty` root:object_r:user_devpts_t:s0 /dev/pts/0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans cet exemple,
user_devpts_t
est le type de terminal actuel.-
Ajoutez le type SELinux approprié sur une nouvelle ligne du fichier
/etc/selinux/mls/contexts/securetty_types
. Optionnel : Passer SELinux en mode d'application :
setenforce 1
# setenforce 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
-
Connectez-vous à partir du terminal non sécurisé que vous avez ajouté au fichier
/etc/selinux/mls/contexts/securetty_types
.