Nesta aula, você aprenderá sobre o SELinux, um mecanismo de segurança fundamental para sistemas Linux que protege seus recursos contra acessos não autorizados. Vamos abordar o conceito de controle de acesso obrigatório (MAC) e como o SELinux é implementado em distribuições como RHEL, CentOS e Fedora. Compreender SELinux é crucial para administrar sistemas Linux com segurança e é uma habilidade valorizada no mercado de TI. Vamos começar!
O que você vai aprender nesta aula
- O que é SELinux e por que é importante.
- Como o SELinux implementa o Controle de Acesso Obrigatório (MAC).
- Passo a passo para verificar e configurar o SELinux em sistemas RHEL, CentOS e Fedora.
- Comandos básicos para administrar o SELinux.
Introdução ao SELinux e Controle de Acesso Obrigatório (MAC)
SELinux, ou Security-Enhanced Linux, é um módulo de segurança que implementa o Controle de Acesso Obrigatório (MAC). Diferente do Controle de Acesso Discricionário (DAC), onde os proprietários dos arquivos determinam as permissões, o MAC permite especificar políticas de acesso que o sistema operacional deve respeitar, independentemente do que os proprietários configurem.
Imagine o MAC como um segurança de boate. Não importa se alguém diz que um amigo pode entrar; o segurança segue regras estabelecidas pelo local. Da mesma forma, o SELinux impõe políticas de segurança que controlam quais processos podem acessar recursos do sistema, independentemente das permissões convencionais configuradas pelo usuário.
O uso do SELinux é fundamental para proteger servidores Linux contra ameaças internas e externas, fornecendo uma camada adicional de segurança além das permissões tradicionais de arquivo.
Verificando e Configurando o SELinux em RHEL, CentOS e Fedora
Para começar a trabalhar com o SELinux, primeiro precisamos verificar seu estado no sistema. Nos nossos projetos na JRT Technology Solutions, sempre começamos pela verificação do status, garantindo que o SELinux esteja ativo.
# Verificar o status do SELinux
sestatus
O comando sestatus exibe o estado atual do SELinux no sistema. Você verá informações como o modo (enforcing, permissive, ou disabled), o modo de configuração e o nome da política carregada.
Para configurá-lo, edite o arquivo de configuração principal:
# Caminho para o arquivo de configuração do SELinux
/etc/selinux/config
Dentro deste arquivo, você encontrará linhas como:
# Exemplo de configuração do SELinux
SELINUX=enforcing
SELINUXTYPE=targeted
O parâmetro SELINUX pode receber valores como enforcing (aplicar políticas), permissive (não aplica, mas registra violações), ou disabled (desativado). SELINUXTYPE refere-se ao tipo de política, comumente targeted, que protege serviços específicos.
Comandos Básicos do SELinux
A gestão eficaz do SELinux envolve saber utilizar alguns comandos essenciais. Aqui estão alguns comuns que nossos especialistas utilizam diariamente:
- getenforce – Mostra o status atual do SELinux (enforcing, permissive, ou disabled).
- setenforce [0|1] – Altera temporariamente o modo de operação do SELinux (0 para permissive, 1 para enforcing).
- semanage – Gerencia definições de política. Por exemplo, adicionar um contexto de segurança a um diretório específico.
# Exemplo de alteração do modo SELinux para permissive
setenforce 0
Alterar o modo para permissive é útil para testar configurações sem aplicar restrições. Para modificações permanentes, edite o arquivo /etc/selinux/config, como mencionamos anteriormente.
Resumo da Aula 5
Nesta aula, você aprendeu o que é o SELinux e como ele implementa o Controle de Acesso Obrigatório para proteger sistemas Linux. Discutimos como verificar o estado do SELinux, configurações em sistemas RHEL, CentOS e Fedora, e comandos básicos de gerenciamento. Na próxima aula, vamos explorar como criar, modificar e aplicar políticas personalizadas do SELinux para atender necessidades específicas de segurança. Continue acompanhando para aprofundar sua expertise em Segurança Linux!
Quer aprender na prática com especialistas?
A JRT Technology Solutions oferece treinamentos e implementação de Segurança Linux para equipes corporativas.