quarta-feira, 13 de julho de 2011

Resolvendo Erros do SELinux

Se você já utilizou o Fedora ou já se interessou, com toda a certeza já encontrou alguém que falou/fala mal do SELinux. O aplicativo é, resumidamente, uma melhoria de segurança para os sistemas Linux, que permite mais controle sobre o que aplicativos e usuários podem acessar e alterar no sistema. Ele é uma proteção básica, por exemplo, contra malwares que desejam prejudicar o sistema. Mas não é esse o foco desse artigo.


Se você já encontrou essa pessoa que fala mal do SELinux, provavelmente já encontrou algumas soluções questionáveis para "resolver" o problema, como diminuir o nível de proteção do programa ou até mesmo desabilitá-lo, sendo essa última solução a mais famosa entre os desafetos do coitado.


A origem dos problemas com o SELinux são duas:




  1. Erro na política de segurança do programa, resolvida após o erro ser reportado e a atualização chegar aos repositórios;

  2. Aplicativos que querem acessar o que não devem/deveriam.


Se você está no primeiro caso, sorria, a solução é bem prática. É só você criar uma conta no Bugzilla do Fedora e reportar o erro. Alguém irá propor uma solução imediata (que nós veremos a seguir) e a atualização (provavelmente) chegará aos repositórios. Se você está no segundo caso, bem, você terá de entrar em contato com o desenvolvedor do aplicativo que está gerando o erro.


Uma boa notícia é que o SELinux oferece sugestões de solução para o problema. Ao clicar no botão "details", logo abaixo do erro, uma janela com as propostas de solução será aberta, quando houver mais de uma proposta, elas serão exibidas uma embaixo da outra, com o percentual de "confiança" que a mesma tem. Depois de escolher a solução com melhor "confiança", é só executar os comandos especificados nela pelo terminal.


Por exemplo, para o erro:


The Source Process: /usr/lib/abrt-hook-ccpp


Attempted This Access: sys_ptrace


A solução proposta é a seguinte (segundo o próprio SELinux):


grep abrt-hook-ccpp /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp


Felizmente, a interface de solução de problemas do SELinux melhorou bastante e as propostas de soluções de problemas ajudam e muito. Talvez isso aproxime os iniciantes/menos experientes do programa e ajude para que todos tenham menos problemas com ele.

Nenhum comentário:

Postar um comentário