Estou escrevendo um processo que precisa autenticar usuários periodicamente (por exemplo, chamar pam_authenticate()
). Por motivos de segurança, prefiro não executar esse processo com root
privilege. Posso usar capabilities(7)
para meus outros requisitos de segurança (ou seja, ele precisa se vincular a HTTPS
port, portanto, pode usar CAP_NET_BIND_SERVICE
).
Eu poderia começar com privs de raiz e soltá-los temporariamente, aumentando-os apenas quando necessário para chamar pam_authenticate
e depois soltando-os novamente. Mas, enquanto a habilidade permanece para aumentar privs, isso é apenas segurança por obscuridade, já que um atacante que pode ganhar o controle do processo pode aumentar os privilégios.
A restrição de segurança é devida / direcionada pelos módulos PAM
específicos que estão sendo utilizados? Poderia ser apenas pam_unix.so
precisa ler o arquivo de senha shadow
que está causando problemas?
Tags security pam capabilities