O modelo de segurança do SELinux é baseado em três elementos: sujeitos, objetos e ações/permissões.
- Sujeitos: Sujeitos são os atores em um sistema computacional, mas ao invés do conceito comum de que os usuários são os sujeitos, na verdade, os processos são os verdadeiros atores;
- Objetos: Objetos são as potenciais coisas que queremos proteger. Para uma melhor classificação, o SELinux agrupa os objetos em classes. O número de classes existentes dependem da versão do SELinux ou do kernel Linux. Novas classes são desenvolvidas para representar novas características do kernel e objetos que podem ser: arquivos, diretórios, sistemas de arquivos, links, processos, etc. A relação atualizada de objetos pode ser visualizada em [TRESYS 2007:1].
- Ações/Permissões: as ações que sujeitos SELinux realizam em objetos variam de acordo com a classe do objeto. Podem ser: criar, executar, controle de I/O, link, pegar atributos, lock, ler, renomear, escrever, etc. A relação atualizada de ações/permissões, assim como a relação atualizada de objetos também pode ser visualizada em [TRESYS 2007:1].
Esses elementos são os fundamentos das operações executadas por um servidor de segurança SELinux, e determinam se um sujeito tem permissão de realizar uma determinada ação em um objeto dado. Por exemplo, o SELinux decide questões como: o processo 4576 possui permissão para ler o arquivo /etc/shadow ?. Para realizar essas decisões, o servidor de segurança SELinux consulta a base de dados de políticas (policy database). A figura 2.4 ilustra esse exemplo.
Figure Figura 2.4::
Uma decisão SELinux típica
|
|
É importante lembrar que a decisão de acesso é sempre feita na seguinte ordem: primeiro a permissão DAC (a permissão comum do Linux) e depois a permissão MAC. Portanto, se o processo do 4576 do exemplo desejar ter acesso ao arquivo /etc/shadow, primeiramente o usuário que rodar esse processo deverá ter a permissão de leitura ao arquivo (DAC) para depois o SELinux tomar a decisão baseando-se nas políticas de segurança pré-estabelecidas (MAC).
Jeronimo Zucco
2008-04-26