JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como configurar o SELinux no Linux

Editado 6 meses atrás por ExtremeHow Equipe Editorial

SegurançaSELinuxConfiguraçãoPolíticasLinha de comandoAplicaçãoSysAdminMonitoramentoMelhores PráticasControle de Acesso

Como configurar o SELinux no Linux

Tradução atualizada 6 meses atrás

Introdução

SELinux, que significa Security-Enhanced Linux, é uma arquitetura de segurança integrada no kernel que fornece um mecanismo para suportar políticas de controle de acesso de segurança. Seu objetivo é impor políticas do sistema operacional que limitem as capacidades de programas e protejam o sistema de potenciais vulnerabilidades. Configurar o SELinux no seu sistema baseado em Linux pode ajudar a alcançar um ambiente mais seguro. Este guia abrangente explica como configurar o SELinux em uma máquina Linux passo a passo.

Entendendo o modo SELinux

Antes de configurar o SELinux, é importante entender os modos em que o SELinux pode operar. Esses modos determinam como o SELinux gerencia o controle de acesso no seu sistema operacional.

Verificando o status atual do SELinux

Para configurar o SELinux de forma eficaz, você precisa verificar seu estado atual. Isso ajudará a entender se o SELinux está ativo ou não e qual modo está usando atualmente.

Abra um terminal e insira o seguinte comando para verificar o status:

getenforce

Você também pode usar o seguinte comando para obter informações mais detalhadas:

sestatus

Este comando mostrará o status atual como Enforcing, Permissive ou Disabled.

Mudando o modo SELinux

Você pode mudar o modo SELinux temporariamente ou permanentemente. Muitas vezes é útil mudar o modo temporariamente para testes ou solução de problemas, mas mudanças permanentes são necessárias para tornar a configuração permanente após uma reinicialização.

Mudando o modo SELinux temporariamente

Para mudar o modo temporariamente sem reiniciar o sistema, você pode usar o comando setenforce. Por exemplo, para mudar para o modo enforcing, execute:

sudo setenforce 1

Para mudar para o modo permissive, execute:

sudo setenforce 0

Mudando o modo SELinux permanentemente

Para tornar a mudança permanente, atualize o arquivo de configuração SELinux localizado em /etc/selinux/config. Abra este arquivo usando um editor de texto:

sudo nano /etc/selinux/config

Procure a linha que começa com SELINUX= e altere o seu valor para enforcing, permissive ou disabled dependendo das suas necessidades. Por exemplo:

SELINUX=enforcing

Salve e feche o arquivo, depois reinicie o seu sistema para efetuar as mudanças.

Entendendo os tipos de política SELinux

Políticas de SELinux definem as regras de segurança impostas pelo SELinux. Estas políticas controlam as permissões concedidas a vários usuários e serviços no sistema. As políticas mais comumente usadas são:

Para descobrir a política atualmente em uso, execute o seguinte comando no terminal:

sestatus | grep "Loaded policy name"

Instalando e gerenciando pacotes SELinux

Para gerenciar eficazmente o SELinux, pode ser necessário instalar ferramentas e pacotes relacionados, que variam de acordo com a distribuição. Abaixo estão alguns pacotes comuns que podem ser úteis.

Para distribuições baseadas em Debian/Ubuntu

Use o gerenciador de pacotes apt para instalar as ferramentas SELinux:

sudo apt update sudo apt install policycoreutils selinux-utils setools

Para distribuições baseadas em RHEL/CentOS

Use o gerenciador de pacotes yum ou dnf para instalar as ferramentas SELinux:

sudo yum install policycoreutils selinux-policy setools

Gerenciando políticas SELinux

Entender como habilitar ou desabilitar políticas SELinux para serviços específicos pode ser importante para atingir o nível de segurança necessário sem interromper a funcionalidade pretendida dos serviços. SELinux usa booleanos para alternar políticas para funcionalidades específicas.

Para listar os booleanos SELinux disponíveis, execute o seguinte comando:

getsebool -a

Configurando booleanos SELinux

Para mudar o valor do booleano temporariamente (até a próxima reinicialização):

sudo setsebool httpd_enable_homedirs on

Para mudar o valor do booleano permanentemente, use a opção -P, que grava a mudança no disco:

sudo setsebool -P httpd_enable_homedirs on

Rotulando arquivos com contextos SELinux

SELinux usa contextos (também chamados de rótulos) para determinar permissões em arquivos e processos. Às vezes, é necessário definir ou mudar esses contextos manualmente. Você pode visualizar o contexto de um arquivo com o comando ls -Z:

ls -Z /var/www/html

Se precisar mudar o contexto de um arquivo, use o comando chcon. Por exemplo, para mudar o arquivo para o contexto apropriado para o servidor web:

sudo chcon -t httpd_sys_content_t /var/www/html/index.html

Restaurando contextos SELinux

Se um arquivo tiver o contexto SELinux incorreto, você pode restaurá-lo para seu contexto padrão usando o comando restorecon:

sudo restorecon -Rv /var/www/html

Este comando restaurará recursivamente o contexto SELinux correto para o diretório especificado.

Solução de problemas SELinux

Quando o SELinux está no modo enforcing, às vezes pode bloquear ações legítimas, especialmente quando aplicativos personalizados são instalados. Resolver problemas no SELinux requer análise de logs e compreensão do porquê algo foi negado.

Visualizando logs do SELinux

Mensagens do SELinux são registradas em /var/log/audit/audit.log ou, em alguns sistemas, /var/log/messages. Para visualizar o log, use um editor de texto ou o comando tail:

sudo tail -n 50 /var/log/audit/audit.log

Análise de ações bloqueadas

Os logs podem ser complexos e extensos, então ferramentas especializadas como audit2allow podem ajudar a entendê-los. Esta ferramenta converte entradas de log em formatos legíveis por humanos e até sugere as políticas necessárias para permitir ações não aprovadas.

grep AVC /var/log/audit/audit.log | audit2allow -m custompolicy

O comando acima pode ajudar a criar um módulo SELinux que pode permitir uma ação específica. Tenha cuidado ao permitir ações, pois isso pode reduzir a segurança geral do seu sistema.

Conclusão

Configurar o SELinux no Linux envolve entender os diferentes modos, verificar o estado, mudar modos, trabalhar com políticas e booleanos, rotular arquivos e restaurar contextos. O SELinux é um sistema poderoso que melhora significativamente a segurança do seu ambiente Linux ao impor controles de acesso rigorosos. Adequadamente configurado, pode defender contra ameaças que buscam acesso não autorizado ou interrupção.

Certifique-se de monitorar constantemente os logs e manter uma política atualizada para se adaptar ao software recém-instalado e aos requisitos do sistema em mudança. O SELinux pode parecer complicado inicialmente, mas à medida que se familiariza com seus recursos, torna-se uma ferramenta indispensável para melhorar a segurança no Linux.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários