Red Hat Training

A Red Hat training course is available for RHEL 8

3.5. Configurar el sistema para confinar a los usuarios de SELinux

Por defecto, todos los usuarios de Linux en Red Hat Enterprise Linux, incluyendo los usuarios con privilegios administrativos, son asignados al usuario no confinado de SELinux unconfined_u. Puede mejorar la seguridad del sistema asignando usuarios a usuarios confinados de SELinux. Esto es útil para cumplir con la Guía de Implementación Técnica de Seguridad V-71971. Para más información acerca de los usuarios confinados y no confinados, consulte Gestión de usuarios confinados y no confinados.

3.5.1. Confinamiento de los usuarios habituales

Puede confinar a todos los usuarios normales de su sistema asignándolos al usuario user_u SELinux.

Procedimiento

  1. Muestra la lista de registros de inicio de sesión de SELinux. La lista muestra las asignaciones de usuarios de Linux a usuarios de SELinux:

    # 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       *
  2. Mapea el usuario __default__, que representa a todos los usuarios sin un mapeo explícito, al usuario user_u SELinux:

    # semanage login -m -s user_u -r s0 __default__

Pasos de verificación

  1. Comprueba que el usuario __default__ está mapeado al usuario user_u SELinux:

    # semanage login -l
    
    Login Name    SELinux User   MLS/MCS Range    Service
    
    __default__   user_u         s0               *
    root          unconfined_u   s0-s0:c0.c1023   *
  2. Comprueba que los procesos de un nuevo usuario se ejecutan en el contexto SELinux user_u:user_r:user_t:s0.

    1. Crear un nuevo usuario:

      # adduser example.user
    2. Defina una contraseña para example.user:

      # passwd example.user
    3. Cierre la sesión como root e inicie la sesión como el nuevo usuario.
    4. Muestra el contexto de seguridad para el ID del usuario:

      [example.user@localhost ~]$ id -Z
      user_u:user_r:user_t:s0
    5. Muestra el contexto de seguridad de los procesos actuales del usuario:

      [example.user@localhost ~]$ ps axZ
      LABEL                           PID TTY      STAT   TIME COMMAND
      -                                 1 ?        Ss     0:05 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
      -                              3729 ?        S      0:00 (sd-pam)
      user_u:user_r:user_t:s0        3907 ?        Ss     0:00 /usr/lib/systemd/systemd --user
      -                              3911 ?        S      0:00 (sd-pam)
      user_u:user_r:user_t:s0        3918 ?        S      0:00 sshd: example.user@pts/0
      user_u:user_r:user_t:s0        3922 pts/0    Ss     0:00 -bash
      user_u:user_r:user_dbusd_t:s0  3969 ?        Ssl    0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
      user_u:user_r:user_t:s0        3971 pts/0    R+     0:00 ps axZ