Como definir uma política em Selinux

Como definir uma política em Selinux
Uma das principais razões pelas quais as pessoas escolhem o Linux é a segurança que ele oferece. É por isso que você encontrará Linux em servidores e estações de trabalho profissionais. Selinux é um desses recursos de segurança do Linux. Faz parte do kernel Linux padrão há algum tempo, e qualquer distro moderna tem suporte.

Existem várias maneiras diferentes de as maneiras que o Selinux pode operar. Isso é definido pela política de Selinux. Neste guia, você aprenderá mais sobre as políticas da Selinux e como definir uma política em Selinux.

Visão geral da política do Selinux

Vamos ter um rápido resumo do Selinux e suas políticas. Selinux é um acrônimo para “Linux aprimorado de segurança.”Compreende uma série de patches de segurança para o kernel Linux. O Selinux foi originalmente desenvolvido pela Agência de Segurança Nacional (NSA) e liberado para a comunidade de desenvolvimento de código aberto em 2000 sob a licença da GPL. Foi mesclado com o kernel linux principal em 2003.

O Selinux fornece Mac (controle de acesso obrigatório) em vez do DAC padrão (controle de acesso discricionário). Isso permite a implementação de algumas políticas de segurança que não seriam possíveis de implementar de outra forma.

Políticas de Selinux são conjuntos de regras que orientam o mecanismo de segurança do Selinux. Uma política define tipos para objetos e domínios de arquivo para processos. Funções são usadas para limitar o acesso a domínios. As identidades do usuário determinam quais funções podem ser alcançadas.
Existem duas políticas de Selinux disponíveis:

  • Direcionado: a política padrão. Implementa o controle de acesso aos processos direcionados. Os processos são executados em um domínio confinado, onde o processo tem acesso limitado aos arquivos. Se um processo confinado for comprometido, o dano será mitigado. No caso de serviços, apenas serviços específicos são colocados nesses domínios.
  • MLS: significa segurança em vários níveis. Confira a documentação do Red Hat sobre a política do Selinux MLS.

Os processos que não são direcionados serão executados em um domínio não confinado. Processos em execução em domínios não confinados desfrutam de acesso quase completo. Se esse processo estiver comprometido, o Selinux não oferece mitigação. O invasor pode obter acesso a todo o sistema e recursos. No entanto, as regras do DAC ainda se aplicam aos domínios não confinados.
A seguir, é apresentada uma pequena lista de exemplos de domínios não confinados:

  • Domínio initrc_t: programas init
  • domínio kernel_t: processos de kernel
  • Domínio não confinado_t: os usuários efetuaram login no sistema Linux

Alterando a política do Selinux

Os exemplos a seguir são realizados no CentOS 8. Todos os comandos deste artigo são executados como usuário root. Para outras distribuições, consulte o tutorial apropriado sobre como ativar o Selinux.
Para alterar uma política em Selinux, comece verificando o status do Selinux. O status padrão deve ser o Selinux habilitado no modo de "aplicação" com a política "direcionada".

$ sestatus


Para alterar a política do Selinux, abra o arquivo de configuração do Selinux em seu editor de texto favorito.

$ vim/etc/Selinux/config


Aqui, nossa meta é a variável "SelinuxType" que define a política do Selinux. Como você pode ver, o valor padrão é “direcionado.”

Todas as etapas demonstradas neste exemplo são realizadas no CentOS 8. No caso do CentOS, a política do MLS não vem instalada por padrão. Também é provável que seja o caso em outras distros. Aprenda a configurar o Selinux no Ubuntu aqui. Certifique -se de instalar o programa primeiro. No caso de Ubuntu, CentOS, OpenSuse, Fedora, Debian e outros, o nome do pacote é “Selinux-Policy-MLS.”

$ dnf install selinux-policy-mls


Nesse caso, mudaremos a política para o MLS. Altere o valor da variável de acordo.

$ SelinuxType = MLS

Salve o arquivo e saia do editor. Para colocar essas mudanças em vigor, você deve reiniciar o sistema.

$ reiniciar

Verifique a mudança emitindo o seguinte.

$ sestatus

Alterando os modos Selinux

Selinux pode operar em três modos diferentes. Esses modos determinam como a política é aplicada.

  • Imposto: qualquer ação contra a política é bloqueada e relatada no registro de auditoria.
  • Permissivo: qualquer ação contra a política é relatada apenas no registro de auditoria.
  • Desativado: o Selinux está desativado.

Para alterar temporariamente o modo em Selinux, use o comando setEnforce. Se o sistema for reiniciado, o sistema será revertido para a configuração padrão.

$ SETENFORCE APECÇÃO
$ Setenforced Admissive


Para alterar permanentemente o modo em Selinux, você deve ajustar o arquivo de configuração do Selinux.

$ vim/etc/Selinux/config


Salvar e fechar o editor. Reinicie o sistema para colocar as mudanças em vigor.
Você pode verificar a alteração usando o comando sestatus.

$ sestatus

Conclusão

Selinux é um mecanismo poderoso para impor segurança. Felizmente, este guia ajudou você a aprender a configurar e gerenciar o comportamento de Selinux.
Computação feliz!