Por que precisamos do SELinux?

14

Não tive muita idéia de onde o SELinux foi usado e o que ele salva do invasor. Eu visitei o site do SELinux e li o básico, mas ainda não obtive pistas sobre o SELinux. Para o sistema Linux que fornece shell SSH, front-end do Apache, aplicativo Web baseado em funções, MySQL DB, memcached, quase todos os sistemas são protegidos por senha, então por que precisamos do SELinux?

Krish
fonte

Respostas:

14

Você pode visualizar o SELinux como um firewall de chamada do sistema : Uma política para cada aplicativo especifica o que é razoável para o aplicativo: O servidor de nomes pode escutar na porta 53, trabalhar com alguns arquivos de zona em um diretório específico, enviar syslog, .. ., mas não faz sentido tentar trabalhar com arquivos em / home, por exemplo. A imposição de tal política pelo SELinux significa que será muito mais difícil uma fraqueza no servidor de nomes se espalhar para outras partes do sistema.

Acho que o SELinux fornece um valor real de segurança. Mas, embora certamente tenha se tornado mais fácil trabalhar com o passar dos anos, ainda é - infelizmente - um sistema bastante complexo. O bom é que você pode desativá-lo facilmente em alguns serviços, sem precisar desativá-lo para todo o sistema. Muitos administradores de sistemas (juniores?) Viram o SELinux em geral, assim que enfrentam o menor problema com um serviço - em vez de desativá-lo seletivamente para o serviço, causando problemas.

Troels Arvin
fonte
Curioso: "facilmente desligá-lo para alguns serviços" como?
Belmin Fernandez
man -k selinuxé um bom lugar para começar. Normalmente, existem * _disable_trans sebools que podem ser configurados para desativar o SELinux em serviços específicos.
jgoldschrafe
2
@jgoldschrafe E é assim que é "fácil".
Jürgen A. Erhard
1
"não faz sentido tentar trabalhar com arquivos em / home" - e você não pode restringir o acesso do servidor DNS a esses arquivos com permissões?
symcbean
8

Nem todos os problemas de segurança podem ser previstos com antecedência. Se um invasor conseguir explorar uma fraqueza em um módulo httpd de terceiros, ele terá acesso aos mesmos arquivos que o usuário httpd está executando. O SELinux ainda restringe isso, limitando-os a ações e contextos de arquivo aos quais o domínio do SELinux tem acesso.

Ignacio Vazquez-Abrams
fonte
2

Eu acho que o termo Controle de Acesso Obrigatório resume bastante bem. O SELinux oferece um sistema mais seguro por meio de um kernel mais seguro, em grande parte devido à implementação do MAC.

user32302
fonte
2

O SELinux faz um bom trabalho em expor a pura complexidade de um sistema Linux inteiro.
Um aspecto interessante da segurança é a pergunta "o que está fazendo?"
Bem, se estiver funcionando, você talvez nunca saiba. Se você estiver executando um servidor da Web e ele estiver parado, talvez você não saiba que algumas explorações foram tentadas no seu sistema.
Quanto às empresas privadas, eu não sei. Se eles precisam da integridade que o SELinux traz para a mesa, devem.
Quanto ao governo, existem fontes públicas (lista de projetos do governo e afins) que parecem apontar para o fato de o MAC estar sendo usado e possível de maneira bastante intensa. Os sistemas governamentais, dependendo da implantação e de quais informações um sistema possui, precisam atender a certos critérios antes de serem utilizados.
No final, a segurança é realmente o gerenciamento de riscos e a escolha do nível certo de esforço.
Além disso, a segurança é um esforço contínuo, não algo que você simplesmente liga.

Ansari
fonte