SELinux

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Ambox question.svg
Esta página ou seção carece de contexto (desde agosto de 2013).

Este artigo (ou seção) não possui um contexto definido, ou seja, não explica de forma clara e dire(c)ta o tema que aborda. Se souber algo sobre o assunto edite a página/seção e explique de forma mais clara e objetiva o tema abordado.

Question book.svg
Esta página ou secção não cita nenhuma fonte ou referência, o que compromete sua credibilidade (desde agosto de 2013).
Por favor, melhore este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto por meio de notas de rodapé. Encontre fontes: Googlenotícias, livros, acadêmicoScirusBing. Veja como referenciar e citar as fontes.

O que é o SELinux ?[editar | editar código-fonte]

O SELinux ("Security-Enhanced Linux") é uma implementação de uma flexível e refinada arquitetura MAC ("Mandatory Access Control"). SELinux provê uma política de segurança sobre todos os processos e objetos do sistema baseando suas decisões em etiquetas contendo uma variedade de informações relevantes à segurança. A lógica da política de tomada de decisões é encapsulada dentro de um simples componente conhecido como servidor de segurança ("security server") com uma interface geral de segurança.

Breve Histórico[editar | editar código-fonte]

O SELinux foi originalmente um projeto de desenvolvimento da NSA ("National Security Agency") e outros. Ele foi integrado no Linux usando o "framework" LSM ("Linux Security Modules").

Inicialmente a implementação do SELinux utilizava os identificadores (IDs ou PSIDs) armazenado nos inodes livres do sistema de arquivos ext2. Essa representação numérica era mapeada pelo SELinux como uma etiqueta do contexto de segurança. Infelizmente isso necessitaria de uma modificação em cada sistema de arquivo para suportar os PSIDs, o que não é uma solução escalável.

Então o próximo passo da evolução foi um módulo carregável no núcleo 2.4 que armazenava os PSIDs em um arquivo normal fazendo com que o SELinux suportasse mais sistemas de arquivos.

No entanto, esta solução ainda não era ótima para a performance do sistema. Finalmente o código do SELinux foi integrado ao linux 2.6.x com total suporte por LSM e contendo atributos (xattrs) no sistema de arquivos ext3. SELinux foi alterado para usar xattrs como forma de armazenamento da informação do contexto de segurança.

Muito do trabalho para deixar o linux pronto para o SELinux bem como seu subsequente desenvolvimento vêm sendo realizado em esforços conjuntos da NSA, Red Hat, IBM e a comunidade de desenvolvedores do SELinux.

Por que utilizá-lo[editar | editar código-fonte]

Para entender os benefícios do MAC sobre o tradicional DAC ("Discretionary Access Control"), é necessário entender as limitações do DAC.

Utilizando unicamente DAC, o dono de um arquivo/objeto provê um potencial risco de corrompê-lo. Um usuário pode expor arquivos ou diretórios à brechas de segurança utilizando incorretamente o comando chmod e uma não esperada propagação dos direitos de acesso. Um processo inicializado pelo usuário como um script CGI pode fazer tudo que quiser com quaisquer arquivos possuídos por este usuário. Por exemplo um servidor HTTP pode realizar qualquer operação sobre arquivos que estão no grupo web ou softwares maliciosos podem conquistar nível root de acesso rodando como processo de root ou utilizando setuid ou setgid.

Com DAC existem apenas duas grandes categorias de usuários: Administradores e Não-administradores. Para alguns serviços e programas rodarem com nível elevado de privilégio as escolhas são poucas e tipicamente resolvida dando completo acesso de administrador.

O MAC permite que sejam definidas permissões de como os processos irão interagir com outras partes do sistema como arquivos, devices, sockets, portas e outros processos (todos chamados de objetos para o SELinux). Isso é feito através de uma política de segurança definida administrativamente sobre todos os processos e objetos. Estes processos e objetos são controlados pelo linux e a decisão de segurança tomada com todas as informações disponíveis ao invés de utilizar somente a identidade do usuário. Com este modelo os processos podem garantir apenas permissões necessárias pela funcionalidade seguindo um princípio de poucos privilégios.

Sobre MAC, por exemplo, usuários que expõem seus dados utilizando chmod estão protegidos pelo fato de seus dados ter um tipo único associado com seu diretório "home" e outros processos não podem tocar nestes dados sem devida permissão dentro da política.

Ligações externas[editar | editar código-fonte]


 ver·editar  Portal do LinuxTux.svg


Arch  · Debian  · Fedora  · Ubuntu  · Mandriva  · Linux Mint  · OpenSUSE  · PCLinuxOS  · Puppy  · Sabayon  · Slackware Linux  · Kurumin  · Big Linux  · Poseidon Linux  · Ekaaty Linux  · DreamLinux