Lista negra de Sudoers

7

Precisamos adicionar alguns usuários ao arquivo sudoers no Linux. Eles devem ser capazes de fazer qualquer coisa root, exceto o seguinte:

  • Não deve modificar, ler, excluir /nfsshare/config
  • Não deve modificar, ler, excluir /etc/passwd
  • Não deve montar nada
  • Não deve alterar a senha do root
  • Não deve editar /etc/sudoers ou executar visudo para adicionar outros usuários

Isso é possível?

    
por sagar 10.12.2016 / 15:16

4 respostas

20

Estou basicamente de acordo com Wissam Al-Roujoulah sobre isso.

We need to add few users to the sudoers file

Você, realmente precisa fazer isso? Talvez existam outras maneiras, usando acl ou permissões regulares do UNIX.

Como Wissam Al-Roujoulah já apontou, tentar "colocar na lista negra" certos comandos, é na realidade uma ideia muito ruim (leia abaixo de man sudoers , ênfase minha):

Note, however, that using a ‘!’ in conjunction with the built-in
 ALL alias to allow a user to run “all but a few” commands rarely
 works as intended

Em vez disso, você pode especificar uma "lista de permissões", por exemplo, os comandos reais que os usuários têm permitido para executar. Algo parecido com isto:

user1 ALL=/sbin/shutdown

Os itens acima permitirão que user1 seja desligado. Você pode adicionar mais comandos em uma lista separada por vírgulas.

Leia mais sobre este aqui .

    
por 10.12.2016 / 15:31
11

Eu acho que é quase impossível, porque você tem que impedir o usuário de usar qualquer editor, mesmo que isso não o impeça, pois ele pode instalar outro ou mover o binário para qualquer outro local e usá-lo.

O ponto principal é que você não pode adicionar usuário a sudoers e dar a ele todas as permissões, mas algumas.

Você tem que fazer isso da maneira oposta.

    
por 10.12.2016 / 15:25
1

su / sudo access é opt-in, não opt-out. Uma vez que eles são capazes de obter uma casca de raiz, eles podem contornar quaisquer outras proteções que você colocar no lugar. Se eles tiverem coisas específicas que precisam ser executadas e o gerenciamento do arquivo sudoers for muito complicado (o que provavelmente é a melhor abordagem em geral), considere escrever pequenos binários de finalidade única que iniciem a coisa e depois defina setuid flag em vez deles.

    
por 11.12.2016 / 02:31
0

Você observou o uso do SELinux? Qual distribuição você está usando?

Pode ser possível criar um novo usuário do SELinux e dar a ele apenas os privilégios necessários (acesso a funções). Tt será um opt-in, então você precisará listar tudo o que o usuário precisa fazer.

    
por 11.12.2016 / 12:45

Tags