Red Hat Training

A Red Hat training course is available for RHEL 8

6.2. Mudando a política SELinux para MLS

Use os seguintes passos para mudar a política SELinux de segurança direcionada para segurança multinível (MLS).

Importante

A Red Hat não recomenda o uso da política MLS em um sistema que esteja rodando o Sistema X Window. Além disso, quando você reetique o sistema de arquivos com rótulos MLS, o sistema pode impedir o acesso de domínios confinados, o que impede seu sistema de iniciar corretamente. Portanto, certifique-se de mudar o SELinux para o modo permissivo antes de re-etiquetar os arquivos. Na maioria dos sistemas, você vê muitas negações de SELinux após mudar para MLS, e muitas delas não são triviais de serem corrigidas.

Procedimento

  1. Instale o pacote selinux-policy-mls:

    # yum install selinux-policy-mls
  2. Abra o arquivo /etc/selinux/config em um editor de texto de sua escolha, por exemplo:

    # vi /etc/selinux/config
  3. Mudar o modo SELinux de aplicação para permissivo e mudar da política de destino para MLS:

    SELINUX=permissive
    SELINUXTYPE=mls

    Salve as mudanças, e deixe o editor.

  4. Antes de ativar a política MLS, você deve reetique cada arquivo no sistema de arquivos com uma etiqueta MLS:

    # fixfiles -F onboot
    System will relabel on next boot
  5. Reinicie o sistema:

    # reboot
  6. Verifique se a SELinux negou:

    # ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent -i

    Como o comando anterior não cobre todos os cenários, veja Solução de problemas relacionados ao SELinux para orientação na identificação, análise e correção de recusas do SELinux.

  7. Depois de garantir que não haja problemas relacionados ao SELinux em seu sistema, mude o SELinux de volta para o modo de aplicação, alterando a opção correspondente em /etc/selinux/config:

    SELINUX=forçando
  8. Reinicie o sistema:

    # reboot
Importante

Se seu sistema não iniciar ou você não for capaz de fazer login depois de mudar para o MLS, adicione o parâmetro enforcing=0 à sua linha de comando do kernel. Veja Mudando os modos SELinux no momento da inicialização para mais informações.

Observe também que no MLS, os logins SSH como o usuário root mapeado para o papel de sysadm_r SELinux diferem do log in como root em staff_r. Antes de iniciar seu sistema no MLS pela primeira vez, considere permitir logins SSH como sysadm_r, configurando o booleano ssh_sysadm_login SELinux para 1. Para habilitar ssh_sysadm_login mais tarde, já no MLS, você deve entrar como root em staff_r, mudar para root em sysadm_r usando o comando newrole -r sysadm_r, e então definir o booleano para 1.

Etapas de verificação

  1. Verificar se a SELinux funciona em modo de aplicação:

    # getenforce
    Enforcing
  2. Verifique se o status da SELinux retorna o valor mls:

    # sestatus | grep mls
    Loaded policy name:             mls

Recursos adicionais

  • As páginas de manual fixfiles(8), setsebool(8), e ssh_selinux(8).