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 :
console_device_t sysadm_tty_device_t user_tty_device_t staff_tty_device_t auditadm_tty_device_t secureadm_tty_device_t
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` root:object_r:user_devpts_t:s0 /dev/pts/0
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
Vérification
-
Connectez-vous à partir du terminal non sécurisé que vous avez ajouté au fichier
/etc/selinux/mls/contexts/securetty_types
.
Ressources supplémentaires
-
securetty_types(5)
page de manuel