O uso do chcon para essencialmente ignorar o selinux pode ser menos seguro do que configurar o selinux como permissivo?

3

Eu queria saber se é possível tornar um servidor do CentOS 7 menos seguro usando chcon do que seria se o SELinux estivesse no modo Permissivo. Eu estou essencialmente tentando configurar o Phusion Passenger com Nginx para trabalhar com uma versão Ruby instalada usando rbenv (um gerenciador de versão Ruby que essencialmente instala bibliotecas Ruby, binários, libs, etc no diretório home de um usuário) para um usuário que não é um sudoer. Eu usei ferramentas como setroubleshoot-server para resolver essencialmente vários problemas, como aqueles com o booleano do SELinux, exceto que essas ferramentas não estão me ajudando no diagnóstico de problemas com a versão Ruby instalada no diretório inicial de um usuário específico. Tudo funciona com o Phusion Passenger e o Nginx quando:

  • usando a instalação Ruby (v2.0) em todo o sistema (o SELinux no modo de imposição)
  • usando o Ruby (v2.2.3) de rbenv instalado (SELinux no modo permissivo)
  • usando rbenv instalado Ruby (v2.2.3) depois de executar o seguinte comando (SELinux no modo enforcing):

    chcon -R --reference /bin /home/myuser/.rbenv/

Observe que reiniciei o servidor entre as alterações de configuração para verificar o comportamento observado.

Eu sinto que estou ignorando o SELinux usando chcon para alterar o contexto de segurança da pasta que contém a versão rbenv Ruby para ter o mesmo contexto de segurança que o da pasta /bin . Há alguma conseqüência não intencional de segurança ao usar chcon dessa maneira?

Isso pode estar fora do escopo da questão, mas existe uma maneira correta de definir o contexto de segurança dos intérpretes do Ruby instalados no diretório inicial de um usuário a ser usado com o Nginx e o Phusion Passenger?

    
por Preetpal 28.01.2016 / 09:33

1 resposta

0

O SELinux, por padrão, nega qualquer coisa que não seja explicitamente permitida. Quando o SELinux está operando em modo permissivo, o SELinux registra negações de permissão, mas não as aplica (isto é, o SELinux não impede que qualquer operação seja concluída). No modo enforcing, o SELinux registra e impõe negações de permissão (ou seja, o SELinux está impedindo que as operações sejam concluídas).

Usar chcon para basicamente ignorar o SELinux não torna seu sistema menos seguro do que usar o SELinux no modo permissivo, já que o SELinux no modo enforcing ainda negará as operações para todas as outras partes do sistema que você não tocou com chcon .

Fonte: link

    
por 19.02.2016 / 02:20