6.4. Établissement de l'autorisation de l'utilisateur dans le système MLS


Après avoir basculé la politique SELinux sur MLS, vous devez attribuer des niveaux d'habilitation de sécurité aux utilisateurs en les associant à des utilisateurs SELinux confinés. Par défaut, un utilisateur ayant une habilitation de sécurité donnée :

  • Impossible de lire des objets ayant un niveau de sensibilité plus élevé.
  • Impossible d'écrire sur des objets ayant un niveau de sensibilité différent.

Conditions préalables

  • La politique SELinux est définie sur mls.
  • Le mode SELinux est défini sur enforcing.
  • Le paquet policycoreutils-python-utils est installé.
  • Un utilisateur assigné à un utilisateur confiné SELinux :

    • Pour un utilisateur non privilégié, assigné à user_u (example_user dans la procédure suivante).
    • Pour un utilisateur privilégié, affecté à staff_u (staff dans la procédure suivante) .
Note

Assurez-vous que les utilisateurs ont été créés lorsque la politique MLS était active. Les utilisateurs créés dans d'autres politiques SELinux ne peuvent pas être utilisés dans MLS.

Procédure

  1. Facultatif : Pour éviter d'ajouter des erreurs à votre politique SELinux, passez au mode SELinux permissive, qui facilite le dépannage :

    # setenforce 0
    Important

    En mode permissif, SELinux n'applique pas la politique active mais enregistre uniquement les messages AVC (Access Vector Cache), qui peuvent ensuite être utilisés à des fins de dépannage et de débogage.

  2. Définir une plage d'autorisation pour l'utilisateur SELinux staff_u. Par exemple, cette commande définit la plage d'autorisation de s1 à s15, s1 étant le niveau d'autorisation par défaut :

    # semanage user -m -L s1 -r s1-s15 _staff_u
  3. Génère des entrées de configuration du contexte de fichier SELinux pour les répertoires personnels des utilisateurs :

    # genhomedircon
  4. Rétablir les contextes de sécurité des fichiers par défaut :

    # restorecon -R -F -v /home/
    Relabeled /home/staff from staff_u:object_r:user_home_dir_t:s0 to staff_u:object_r:user_home_dir_t:s1
    Relabeled /home/staff/.bash_logout from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1
    Relabeled /home/staff/.bash_profile from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1
    Relabeled /home/staff/.bashrc from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1
  5. Attribuer un niveau d'autorisation à l'utilisateur :

    # semanage login -m -r s1 example_user

    s1 est le niveau d'habilitation attribué à l'utilisateur.

  6. Adapter le répertoire personnel de l'utilisateur au niveau d'autorisation de l'utilisateur :

    # chcon -R -l s1 /home/example_user
  7. Facultatif : si vous êtes passé au mode SELinux permissive, et après avoir vérifié que tout fonctionne comme prévu, repassez au mode SELinux enforcing:

    # setenforce 1

Verification steps

  1. Vérifiez que l'utilisateur est associé au bon utilisateur SELinux et que le niveau d'autorisation attribué est correct :

    # semanage login -l
    Login Name      SELinux User         MLS/MCS Range        Service
    __default__     user_u               s0-s0                *
    example_user    user_u               s1                   *
    ...
  2. Connectez-vous en tant qu'utilisateur dans MLS.
  3. Vérifiez que le niveau de sécurité de l'utilisateur fonctionne correctement :

    Important

    Les fichiers utilisés pour la vérification ne doivent pas contenir d'informations sensibles, au cas où la configuration serait incorrecte et où l'utilisateur pourrait accéder aux fichiers sans autorisation.

    1. Vérifiez que l'utilisateur ne peut pas lire un fichier dont le niveau de sensibilité est plus élevé.
    2. Vérifiez que l'utilisateur peut écrire dans un fichier avec la même sensibilité.
    3. Vérifiez que l'utilisateur peut lire un fichier dont le niveau de sensibilité est inférieur.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.