3.7. Confiner un administrateur en le faisant correspondre à sysadm_u


Vous pouvez confiner un utilisateur avec des privilèges administratifs en le faisant correspondre directement à l'utilisateur SELinux sysadm_u. Lorsque l'utilisateur se connecte, la session s'exécute dans le contexte SELinux sysadm_u:sysadm_r:sysadm_t.

Par défaut, tous les utilisateurs Linux de Red Hat Enterprise Linux, y compris les utilisateurs disposant de privilèges administratifs, sont mappés à l'utilisateur SELinux non confiné unconfined_u. Vous pouvez améliorer la sécurité du système en assignant des utilisateurs à des utilisateurs SELinux confined. Ceci est utile pour se conformer au Guide de mise en œuvre technique de la sécurité V-71971.

Conditions préalables

  • L'utilisateur root s'exécute sans contrainte. Il s'agit de la configuration par défaut de Red Hat Enterprise Linux.

Procédure

  1. Facultatif : Pour permettre aux utilisateurs de sysadm_u de se connecter au système à l'aide de SSH :

    # setsebool -P ssh_sysadm_login on
  2. Créez un nouvel utilisateur, ajoutez-le au groupe d'utilisateurs wheel et associez-le à l'utilisateur SELinux sysadm_u:

    # adduser -G wheel -Z sysadm_u example.user
  3. Facultatif : Associez un utilisateur existant à l'utilisateur SELinux sysadm_u et ajoutez l'utilisateur au groupe d'utilisateurs wheel:

    # usermod -G wheel -Z sysadm_u example.user

Vérification

  1. Vérifiez que example.user est associé à l'utilisateur SELinux sysadm_u:

    # semanage login -l | grep example.user
    example.user     sysadm_u    s0-s0:c0.c1023   *
  2. Se connecter en tant que example.userpar exemple, en utilisant SSH, et afficher le contexte de sécurité de l'utilisateur :

    [example.user@localhost ~]$ id -Z
    sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
  3. Passez à l'utilisateur root:

    $ sudo -i
    [sudo] password for example.user:
  4. Vérifiez que le contexte de sécurité reste inchangé :

    # id -Z
    sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
  5. Essayez une tâche administrative, par exemple en redémarrant le service sshd:

    # systemctl restart sshd

    S'il n'y a pas de sortie, la commande s'est terminée avec succès.

    Si la commande ne se termine pas avec succès, elle affiche le message suivant :

    Failed to restart sshd.service: Access denied
    See system logs and 'systemctl status sshd.service' for details.
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.