Como combinar regras / transições / labels / etc do selinux para módulos

2

Eu preciso corresponder a executando / carregado selinux regras / transições / etiquetas / etc para os módulos de política selinux onde eles estão definidos (semodules -l). Preciso disso porque quero estudar alguns módulos de política do selinux no contexto e preciso saber quais devo verificar.

Existe alguma maneira mais fácil de fazer isso do que fazer o download de todos os pacotes "src" relacionados ao selinux, filtrar os módulos que não estão em uso e grep os arquivos resultantes para essa informação?

    
por Yanko Hernández Álvarez 08.07.2013 / 19:01

1 resposta

2

Aparentemente, não há como fazer isso. Pode estar relacionado ao fato de que a política que uma máquina está usando é compilada dos módulos, que existem somente no código-fonte:

# file /etc/selinux/default/policy/policy.26
/etc/selinux/default/policy/policy.26: SE Linux policy v26 MLS 8 symbols 7 ocons

# file -i /etc/selinux/default/policy/policy.26
/etc/selinux/default/policy/policy.26: application/octet-stream; charset=binary

O próprio detalhe de qual módulo inclui qual regra é perdida após a etapa de compilação.

No entanto, e considerando que você deseja estudar alguns módulos de políticas do SELinux (como em alguns módulos específicos ), você pode fazer o contrário, e também:

  1. Instale o pacote refpolicy para sua distribuição. Ele contém o código-fonte (sim, não o que você pediu, mas provavelmente a maneira mais fácil)

  2. Extraia todas as informações de um arquivo do pacote de políticas compilado . Você pode encontrar esses arquivos em /etc/selinux/$policy/modules/active/modules/*pp . Uma explicação muito detalhada sobre como descompilar um módulo já foi postada aqui .

por 08.07.2013 / 20:55