6.10. Permettre aux utilisateurs MLS de modifier les fichiers aux niveaux inférieurs


Par défaut, les utilisateurs MLS ne peuvent pas écrire dans des fichiers dont le niveau de sensibilité est inférieur à la valeur la plus basse de la plage d'autorisation. Si votre scénario exige que vous autorisiez les utilisateurs à modifier des fichiers à des niveaux inférieurs, vous pouvez le faire en créant un module SELinux local. Toutefois, l'écriture dans un fichier augmentera son niveau de sensibilité jusqu'à la valeur inférieure de la plage actuelle de l'utilisateur.

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é.
  • Les paquets setools-console et audit pour vérification.

Procédure

  1. En option : Passer en mode permissif pour faciliter le dépannage.

    # setenforce 0
  2. Ouvrez un nouveau fichier .cil avec un éditeur de texte, par exemple ~/local_mlsfilewrite.cil, et insérez la règle personnalisée suivante :

    (typeattributeset mlsfilewrite (_staff_t_))

    Vous pouvez remplacer staff_t par un type SELinux différent. En spécifiant le type SELinux ici, vous pouvez contrôler quels rôles SELinux peuvent éditer des fichiers de niveau inférieur.

    Pour mieux organiser vos modules locaux, utilisez le préfixe local_ dans les noms des modules de politique SELinux locaux.

  3. Installer le module de politique :

    # semodule -i ~/local_mlsfilewrite.cil
    Note

    Pour supprimer le module de politique locale, utilisez semodule -r ~/local_mlsfilewrite. Notez que vous devez vous référer au nom du module sans le suffixe .cil.

  4. Facultatif : si vous avez précédemment rétabli le mode permissif, revenez au mode exécutoire :

    # setenforce 1

Vérification

  1. Trouver le module local dans la liste des modules SELinux installés :

    # semodule -lfull | grep "local_mls"
    400 local_mlsfilewrite  cil

    Comme les modules locaux ont la priorité 400, vous pouvez également les lister en utilisant la commande semodule -lfull | grep -v ^100.

  2. Se connecter en tant qu'utilisateur assigné au type défini dans la règle personnalisée, par exemple, staff_t.
  3. Tenter d'écrire dans un fichier dont le niveau de sensibilité est inférieur. Le niveau de classification du fichier est alors porté au niveau d'habilitation de l'utilisateur.

    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.

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.