Red Hat Training

A Red Hat training course is available for RHEL 8

3.5. Configurando o sistema para confinar os usuários do SELinux

Por default, todos os usuários Linux no Red Hat Enterprise Linux, incluindo usuários com privilégios administrativos, são mapeados para o usuário SELinux não-confinado unconfined_u. Você pode melhorar a segurança do sistema designando usuários para usuários confinados ao SELinux. Isto é útil para estar em conformidade com o Guia de Implementação Técnica de Segurança V-71971. Para mais informações sobre usuários confinados e não-confinados, consulte Gerenciando usuários confinados e não-confinados.

3.5.1. Confinamento de usuários regulares

Você pode confinar todos os usuários regulares em seu sistema, mapeando-os para o usuário do user_u SELinux.

Procedimento

  1. Exibir a lista de registros de login da SELinux. A lista exibe os mapeamentos dos usuários Linux para os usuários do 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. Mapear o usuário __default__, que representa todos os usuários sem um mapeamento explícito, para o usuário do user_u SELinux:

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

Etapas de verificação

  1. Verifique se o usuário __default__ está mapeado para o usuário do 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. Verificar se os processos de um novo usuário são executados no contexto do user_u:user_r:user_t:s0 SELinux.

    1. Criar um novo usuário:

      # adduser example.user
    2. Definir uma senha para example.user:

      # passwd example.user
    3. Sair como root e entrar como o novo usuário.
    4. Mostrar o contexto de segurança para a identificação do usuário:

      [example.user@localhost ~]$ id -Z
      user_u:user_r:user_t:s0
    5. Mostrar o contexto de segurança dos processos atuais do usuário:

      [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