Aprenda a ativar ou desativar o SELinux no Fedora Linux, no RHEL, no Rocky Linux, AlmaLinux, no CentOS Stream e demais distros que utilizam o SELinux!
Passo a passo de como ativar ou desativar (temporariamente ou permanentemente) o SELinux na sua distro Linux!
Dentre as várias características presentes nos sistemas GNU/Linux, os recursos de segurança são os que mais se destacam, tanto que é considerado um dos sistemas operacionais mais seguros para se utilizar. Apesar de não ser totalmente livre de ameaças (como aconteceu com o utilitário xz em fevereiro de 2024 e rapidamente resolvido), são raros os casos em que algum sistema Linux é afetado por algum vírus/malware (e quando isso acontece, geralmente fica restrito a servidores), diferentemente do que acontece com um outro sistema famoso presente em mais de 70% dos computadores no mundo...E com o objetivo de reforçar ainda mais a segurança do Linux, a Agência de Segurança Nacional dos Estados Unidos (NSA) e a Red Hat desenvolveram o Security-Enhanced Linux (ou SELinux). Com sua primeira versão disponibilizada em dezembro de 2000, o SELinux é composto por uma série de patches para o kernel Linux e utilitários que fornecem uma arquitetura de Controle de Acesso Obrigatório (MAC) forte e flexível nos principais subsistemas do kernel, proporcionandoo aos administradores um mecanismo de controle de acesso compreensível que permite uma maior granularidade de acesso se comparado aos Controles de Acesso Discricionário (DAC) existentes no Linux. De uma forma mais simples, o kernel consulta o SELinux antes de cada chamada do sistema para saber se o processo está autorizado ou não a realizar uma determinada operação.
Apesar de que segurança nunca é demais, ter o SELinux ativo no computador que utilizamos no dia a dia pode mais atrapalhar do que realmente ajudar. Eu mesmo já precisei desativar o SELinux para conseguir ouvir o som ao jogar Team Fortress 2 no Fedora Linux e também para executar uma simples máquina virtual no GNOME Boxes.
Caso esteja passando por uma situação semelhante ao executar algum aplicativo/serviço ou apenas acredita que o mesmo não seja necessário no seu sistema, nesta dica você vai aprender como é fácil verificar o status e a desabilitar o SELinux no Fedora Linux, RHEL (Red Hat Enterprise Linux), no CentOS Stream, AlmaLinux, Rocky Linux e nas demais distribuições que utilizam o SELinux (bem como ativá-lo novamente, caso mude de ideia).
Índice de Conteúdo
Vericando o status do SELinux
O SELinux conta com 3 modos de execução, são eles:
- Enforcing: é o modo de operação padrão e recomendado do SELinux, onde é aplicado a política de segurança em todo o sistema. De uma forma resumida, no modo enforcing o SELinux impede a execução de um processo e/ou o acesso a um determinado recurso que não esteja no banco de dados de políticas, registrando tais eventos no log do sistema;
- Permissive: neste modo, o SELinux não bloqueia processos e nem impede o acesso a recursos do sistema, porém, ainda registra todos os eventos. O modo permissive é útil para os usuários que desejam fazer testes e realizar ajustes nas políticas de segurança do SELinux;
- Disabled: como o próprio nome sugere, neste modo o SELinux é desativado por completo e nenhuma restrição é aplicada a processos e/ou acesso a recursos do sistema, sendo que tais eventos também não são registrados nos logs. Por segurança, o uso do modo disabled é fortemente desencorajado, já que torna difícil a ativação do SELinux no futuro.
Você pode conferir o status completo do SELinux no seu sistema executando o comando abaixo num terminal:
sestatus
Caso esteja habilitado (o que provavelmente estará), a saída será semelhante a da imagem a seguir:
Alternativamente, com o comando
getenforce
também é possível verificar o status do mesmo, retornando os modos "Enforcing", "Permissive" e "Disabled".Abaixo você vai conferir os passos para desativar temporariamente e permanentemente o SELinux, além de como ativá-lo novamente.
Como desativar temporariamente o SELinux
A fim de realizar testes e resolver problemas quanto às políticas de segurança, é possível desabilitar temporariamente o SELinux até o próximo reboot do seu sistema. Para isso, abra um terminal e execute o comando abaixo como root:
sudo setenforce 0
Com isso, você verá que o modo de operação do SELinux será alterado para "Permissive", basta verificar com o comando
getenforce
:Lembrando (mais uma vez) que esta alteração permanecerá ativa até o reinício do sistema, ok?!
Caso mude de ideia e queira reverter esta alteração, basta executar o comando abaixo:
sudo setenforce 1
Como desativar permanentemente o SELinux
Exceto em casos específicos, geralmente não há necessidade de desativar por completo o SELinux no sistema (principalmente em Desktops). Mas SE FOR REALMENTE NECESSÁRIO, abra um terminal e execute o comando abaixo nano para alterar o arquivo /etc/selinux/config :
sudo nano /etc/selinux/config
Navegue até o fim do arquivo e procure pela expressão "SELINUX=enforcing":Para desativar permanentemente o SELinux, altere a opção "SELINUX=enforcing" por "SELINUX=disabled", como destacado pela imagem abaixo:
Concluída a edição, salve o arquivo pressionando as teclas Ctrl + O, tecle Enter para confirmar e após Ctrl + X para sair do editor nano.
É necessário reiniciar o seu computador para que estas alterações entrem em vigor, ok?! Após, execute o comando
sestatus
para verificar se o SELinux foi realmente desativado (deve indicar "disabled" como mostrado na animação abaixo):Como ativar novamente o SELinux
Caso mude de ideia e queira ativar novamente o SELinux no seu sistema, basta abrir um terminal e executar o comando abaixo para editar o arquivo /etc/selinux/config :
sudo nano /etc/selinux/config
Já no modo de edição, procure pela expressão "SELINUX=disabled" e faça justamente o contrário da opção acima: substitua o "SELINUX=disabled" por "SELINUX=enforcing", como mostrado pela imagem abaixo:
Salve o arquivo pressionando as teclas Ctrl + O, tecle Enter para confirmar e após Ctrl + X para sair do editor nano.
Feito isso, reinicie o seu computador para que estas alterações entrem em vigor no seu sistema, ok?! Após reiniciar, abra um terminal e execute o comando
sestatus
para verificar se o SELinux está ativo (deve indicar "enabled" como mostrado na animação abaixo):Espero que esta dica tenha sido útil para você! Caso tenha alguma dúvida, sugestão ou crítica, basta utilizar o campo de comentários logo abaixo para nos informar, seja pelo Disqus ou utilizando sua conta do Google/Blogger, ok?!
Aproveite e cadastre-se para receber todas as novidades do Blog Opção Linux assinando nosso Feed RSS, ou siga-nos no X / Twitter, Facebook e também no nosso canal no Telegram! :)
Obrigado pela visita e até a próxima dica!
Referências:
- SELinux Wiki
- SELinuxProject/selinux - GitHub
- Security-Enhanced Linux - Wikipedia
- What is SELinux - Red Hat
- Guide/Mode - SELinux Wiki
- Changing SELinux States and Modes - Fedora Docs
- Security Enhanced Linux (SELinux) - IBM Documentation
COMENTÁRIOS