Capítulo 7. Escrevendo uma política SELinux personalizada
Esta seção lhe orienta sobre como escrever e utilizar uma política personalizada que lhe permite executar suas aplicações confinadas pela SELinux.
7.1. Políticas SELinux personalizadas e ferramentas relacionadas
Uma política de segurança SELinux é uma coleção de regras SELinux. Uma política é um componente central do SELinux e é carregada no kernel pelas ferramentas de espaço de usuário do SELinux. O kernel reforça o uso de uma política SELinux para avaliar as solicitações de acesso no sistema. Por padrão, o SELinux nega todas as solicitações, exceto as solicitações que correspondem às regras especificadas na política carregada.
Cada regra da política SELinux descreve uma interação entre um processo e um recurso do sistema:
PERMITIR apache_processar apache_log:FILE READ;
Você pode ler esta regra de exemplo como The Apache process can read its logging file. Nesta regra, apache_process
e apache_log
são labels. Uma política de segurança SELinux atribui etiquetas aos processos e define as relações com os recursos do sistema. Desta forma, uma política mapeia as entidades do sistema operacional para a camada SELinux.
As etiquetas SELinux são armazenadas como atributos estendidos de sistemas de arquivo, tais como ext2
. Você pode listá-los usando o utilitário getfattr
ou um comando ls -Z
, por exemplo:
$ ls -Z /etc/passwd
system_u:object_r:passwd_file_t:s0 /etc/passwd
Onde system_u
é um usuário do SELinux, object_r
é um exemplo do papel do SELinux, e passwd_file_t
é um domínio do SELinux.
A política SELinux padrão fornecida pelos pacotes selinux-policy
contém regras para aplicações e daemons que são partes do Red Hat Enterprise Linux 8 e são fornecidos por pacotes em seus repositórios. As aplicações não descritas em uma regra nesta política de distribuição não são confinadas pela SELinux. Para mudar isto, é necessário modificar a política usando um módulo de política, que contém definições e regras adicionais.
No Red Hat Enterprise Linux 8, você pode consultar a política SELinux instalada e gerar novos módulos de política usando a ferramenta sepolicy
. Os scripts que sepolicy
gera junto com os módulos de política sempre contêm um comando usando o utilitário restorecon
. Este utilitário é uma ferramenta básica para corrigir problemas de etiquetagem em uma parte selecionada de um sistema de arquivo.
Recursos adicionais
-
Para mais informações, consulte as páginas de manual
sepolicy(8)
egetfattr(1)
.