Quero permitir que o usuário execute * somente * ping utilitário usando o SELinux

1

Eu já fiz isso com o rbash (bash restrito), mas agora eu quero usar o SELinux.

Então eu criei um novo usuário e o adicionei ao guest_u:

semanage login -a -s guest_u restricteduser

também proíbo que ele execute qualquer coisa:

setsebool allow_guest_exec_content=0

E aqui eu devo permitir que ele apenas execute o ping.

E também preciso de alguma forma permitir-lhe alguma rede. Como posso fazer isso?

    
por GarfieldCat 30.08.2018 / 22:38

1 resposta

0

allow_guest_exec_content boolean controla se o usuário em guest_t pode executar arquivos em diretórios domésticos ou temporários. O usuário ainda tem permissão para executar outros executáveis, conforme permitido pela política.

A política de referência do SELinux fornece interfaces para permitir acesso específico. Essas interfaces estão listadas na documentação da política do SELinux (sua distribuição provavelmente as fornece em selinux-policy-doc package).

Para permitir que o convidado convidado use o ping, você pode usar a interface netutils_exec_ping .

Em seguida, crie um módulo para sua política personalizada, por exemplo my_guest.te :

policy_module(my_guest, 1.0)

gen_require('
    type guest_t;
    role guest_r;
')

netutils_run_ping(guest_t, guest_r)

e compile com:

make -f /usr/share/selinux/devel/Makefile my_guest.pp

Dependendo do tipo de acesso à rede que você deseja permitir, você pode procurar por uma interface adequada e usá-la da mesma forma para estender o my_guest module.

    
por 31.08.2018 / 09:21

Tags