É inseguro fazer o comando prove do Perl NOPASSWD no arquivo sudoers?

0

Eu tenho um script de teste Perl, iniciado com prove , que testa um script de backup que requer privilégios de root para que o rsync possa alterar as permissões nos arquivos baixados de um servidor remoto.

Então, tenho o seguinte no arquivo sudo do meu Mac:

root ALL=(ALL) ALL
%admin  ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD:/path/to/prove

Funciona. Mas a minha pergunta é, desde prove pode ser usado para executar praticamente qualquer script perl escrito pelo usuário local, isso é um enorme risco de segurança?

    
por StevieD 23.01.2018 / 03:43

1 resposta

3

Sim, essa abordagem é insegura.

Escreva um wrapper específico que execute especificamente seu comando, que chama subseqüentemente o prove , proteja-o para que somente o root possa modificá-lo e coloque-o em algum lugar que somente o root possa alcançar. Em seguida, adicione esse wrapper ao arquivo sudoers .

Não permita parâmetros no seu script.

NB: Embora, mesmo isso esteja aberto a abusos, se alguém puder modificar o primeiro script perl ou o script de backup. Tem que garantir que tudo na cadeia seja modificável apenas por root .

    
por 23.01.2018 / 09:25