Se você não tem experiência em escrever módulos de política SELinux personalizados, pode começar a usar policygentool
para gerar um módulo mínimo. Este módulo contém tipos básicos de arquivos, regras de rotulagem e a transição para o domínio confinado.
-
Gere o módulo básico com
policygentool <name> <executable>
Os arquivos importantes são arquivos de execução de tipo (
.te
) e contexto de arquivo (.fc
). As regras de política estão no arquivo de imposição de tipo e as regras de rotulagem estão no arquivo de contexto do arquivo. Se você precisar de regras de rotulagem adicionais, defina-as no arquivo de contexto do arquivo. -
Compile o módulo de política usando o makefile fornecido por
selinux-devel
(/usr/share/selinux/devel/Makefile
ou similar). Em seguida, instale o módulo comsemodule
.O restante da política pode ser gerado usando
audit2allow
. Antes de executar o aplicativo,semanage permissive
pode definir o domínio para o modo permissivo, permitindo a operação normal enquanto as mensagens de negação do AVC são geradas. -
Depois de obter logs suficientes, use
audit2allow
para gerar as regras e anexá-las ao arquivo de imposição de tipo. Também incremente o número da versão lá. Em seguida, compile e instale o novo módulo. -
Se não forem geradas mais mensagens de negação do AVC, você poderá alterar seu domínio de volta para o modo de aplicação. Caso contrário, repita a partir do passo 3.