GNU/Linux >> Tutoriels Linux >  >> Cent OS

Que sont les utilisateurs SELinux et comment mapper les utilisateurs Linux aux utilisateurs SELinux

Utilisateur SELinux

Il y a des utilisateurs SELinux en plus des utilisateurs Linux réguliers. Les utilisateurs SELinux font partie d'une politique SELinux. La politique est autorisée pour un ensemble spécifique de rôles et pour une plage MLS (Multi-Level Security) spécifique. Chaque utilisateur Linux est mappé à un utilisateur SELinux dans le cadre de la politique. Cela permet aux utilisateurs Linux d'hériter des restrictions et des règles et mécanismes de sécurité imposés aux utilisateurs SELinux.

Pour définir les rôles et les niveaux auxquels ils peuvent accéder, l'identité d'utilisateur SELinux mappée est utilisée dans le contexte SELinux pour les processus de cette session. Vous pouvez afficher une liste des mappages entre les comptes d'utilisateurs SELinux et Linux à partir de la ligne de commande :

# semanage login -l

Login Name           SELinux User         MLS/MCS Range        Service

__default__          unconfined_u         s0-s0:c0.c1023       *
root                 unconfined_u         s0-s0:c0.c1023       *
system_u             system_u             s0-s0:c0.c1023       *

Rôle

Le rôle est un attribut du modèle de sécurité RBAC (Role-Based Access Control). Le rôle sert d'intermédiaire entre les domaines et les utilisateurs SELinux. Les utilisateurs SELinux sont autorisés pour les rôles, les rôles sont autorisés pour les domaines et les processus s'exécutent dans leurs propres domaines distincts. Les rôles déterminent les domaines auxquels vous pouvez accéder et, en fin de compte, les fichiers auxquels vous pouvez accéder.

Tapez

Le type est un attribut de Type Enforcement (TE) . Le type définit un type pour les fichiers et définit un domaine pour les processus. Les processus sont séparés les uns des autres en s'exécutant dans leurs propres domaines. Cette séparation empêche les processus d'accéder aux fichiers utilisés par d'autres processus, ainsi que d'empêcher les processus d'accéder à d'autres processus. Les règles de politique SELinux définissent comment les types peuvent accéder les uns aux autres, qu'il s'agisse d'un domaine accédant à un type ou d'un domaine accédant à un autre domaine.

Niveau

Le niveau est un attribut de MLS et MCS. Une plage MLS est une paire de niveaux, notés niveau bas-niveau haut si les niveaux diffèrent, ou niveau bas si les niveaux sont identiques (s0-s0 est identique à s0). Chaque niveau est une paire sensibilité-catégorie, les catégories étant facultatives. S'il y a des catégories, le niveau est écrit comme sensibilité:catégorie-ensemble. S'il n'y a pas de catégories, il est écrit comme sensibilité.

Si l'ensemble de catégories est une série contiguë, il peut être abrégé. Par exemple, c0.c3 est identique à c0,c1,c2,c3. Le fichier /etc/selinux/targeted/setrans.conf Le fichier est la table de traduction de la sécurité multicatégorie pour SELinux et mappe les niveaux sous une forme lisible par l'homme, telle que s0:c0.c1023=SystemHigh. Ne modifiez pas ce fichier avec un éditeur de texte ; utiliser le semanage commande pour apporter des modifications.

Utilisez le chcon commande pour changer le contexte SELinux pour les fichiers. Les modifications apportées avec la commande chcon ne survivent pas à un changement d'étiquette du système de fichiers ou à l'exécution de la restorecon commande. Lorsque vous utilisez chcon, fournissez tout ou partie du contexte SELinux à modifier.

Utilisateurs SELinux confinés

Les utilisateurs Linux sont mappés sur la connexion SELinux _default_ par défaut, qui est mappé sur le SELinux unconfined_u utilisateur. Cependant, SELinux peut confiner les utilisateurs Linux, pour tirer parti des règles et mécanismes de sécurité qui leur sont appliqués, en mappant les utilisateurs Linux aux utilisateurs SELinux.

Un certain nombre d'utilisateurs SELinux confinés existent dans la politique SELinux. Voici une liste des utilisateurs SELinux confinés et de leurs domaines associés :

  • invité_u :Le domaine de l'utilisateur est guest_t.
  • personnel_u  :Le domaine de l'utilisateur est staff_t.
  • user_u :Le domaine de l'utilisateur est user_t.
  • xinvité_x :Le domaine de l'utilisateur est xguest_t.

– Utilisateurs Linux dans le guest_t , xinvité_t , et user_t les domaines peuvent exécuter des applications set user ID (setuid) uniquement si la politique SELinux le permet (comme passwd). Ils ne peuvent pas exécuter les applications su et sudo setuid pour devenir l'utilisateur root.
– Les utilisateurs Linux du domaine guest_t n'ont pas d'accès au réseau et ne peuvent se connecter qu'à partir d'un terminal. Ils peuvent se connecter avec ssh mais ne peuvent pas utiliser ssh pour se connecter à un autre système. Le seul accès réseau dont disposent les utilisateurs Linux du domaine xguest_t est Firefox pour se connecter aux pages Web.
– Les utilisateurs Linux des domaines xguest_t, user_t et staff_t peuvent se connecter à l'aide du système X Window et d'un terminal.
– Par défaut, les utilisateurs Linux du domaine staff_t ne sont pas autorisés à exécuter des applications avec la commande sudo.
– Par défaut, les utilisateurs Linux des domaines guest_t et xguest_t ne peuvent pas exécuter d'applications dans leurs répertoires personnels ou /tmp, ce qui empêche empêcher d'exécuter des applications dans des répertoires auxquels ils ont accès en écriture. Cela permet d'empêcher les applications défectueuses ou malveillantes de modifier les fichiers appartenant aux utilisateurs.
– Par défaut, les utilisateurs Linux des domaines user_t et staff_t peuvent exécuter des applications dans leurs répertoires personnels et /tmp.

Mappage des utilisateurs Linux sur les utilisateurs SELinux

Utilisez le "semanage login -a ” pour mapper un utilisateur Linux à un utilisateur SELinux. Par exemple, pour mapper l'utilisateur Linux john à l'utilisateur SELinux user_u, exécutez la commande suivante :

# semanage login -a -s user_u john

Le -a L'option ajoute un nouvel enregistrement et l'option -s spécifie l'utilisateur SELinux. Le dernier argument, newuser, est l'utilisateur Linux que vous souhaitez mapper à l'utilisateur SELinux spécifié.

Booléens pour les utilisateurs exécutant des applications

Certains booléens sont disponibles pour modifier le comportement des utilisateurs lors de l'exécution d'applications dans leurs répertoires personnels et dans /tmp. Utilisez le "setsebool -P [booléen] on|off ” commande :

1. Pour permettre aux utilisateurs Linux du domaine guest_t d'exécuter des applications dans leurs répertoires personnels et /tmp :

# setsebool -P guest_exec_content on

2. Pour permettre aux utilisateurs Linux du domaine xguest_t d'exécuter des applications dans leurs répertoires personnels et /tmp :

# setsebool -P xguest_exec_content on

3. Pour empêcher les utilisateurs Linux du domaine user_t d'exécuter des applications dans leurs répertoires personnels et /tmp :

# setsebool -P user_exec_content off

4. Pour empêcher les utilisateurs Linux du domaine staff_t d'exécuter des applications dans leurs répertoires personnels et /tmp :

# setsebool -P staff_exec_content off
Comprendre l'étiquetage des fichiers SELinux et le contexte SELinux


Cent OS
  1. Qu'est-ce qu'une commande Chown sous Linux et comment l'utiliser

  2. Flatpak sur Linux :qu'est-ce que c'est et comment installer des applications avec ?

  3. Qu'est-ce que FirewallD et comment l'implémenter sous Linux

  4. Qu'est-ce que NFS et comment l'installer sous Linux

  5. Débogage en direct du noyau Linux, comment cela se passe-t-il et quels outils sont utilisés ?

Que sont les Snaps et comment les installer sur différentes distributions Linux

Qu'est-ce que l'UID sous Linux, comment le trouver et le modifier

Qu'est-ce que Git et comment installer Git sous Linux

Comment répertorier les utilisateurs sous Linux

Comment trouver quelles adresses IP sont connectées à Linux

Comment répertorier les utilisateurs et les groupes sous Linux