O sudo su - é considerado uma prática ruim?

13

Plano de fundo

Eu sei a diferença entre su - , sudo su - e sudo <command> :

  • su - - alterna usuário para raiz, requer a senha de root
  • sudo su - - troca usuário para raiz, requer apenas a senha do usuário atual
  • sudo <command> - concede acesso root apenas para um comando específico; requer apenas a senha do usuário atual

Minha pergunta é se o uso de sudo su - é ou não uma prática segura em um ambiente de produção.

Algumas ideias:

  1. Parece que permitir que sudo su - represente um risco de segurança, tornando o acesso à conta raiz dependente de senhas de usuários individuais. Naturalmente, isso pode ser atenuado ao impor uma política de senha estrita. Não acho que su - seja melhor, pois exigiria que o administrador compartilhasse a senha raiz real.

  2. Permitir que os usuários mudem completamente para a conta raiz torna mais difícil acompanhar quem faz alterações no sistema. Eu vi casos no meu trabalho diário em que vários usuários receberam sudo su - access. A primeira coisa que os usuários fazem ao efetuar login no sistema é executar sudo su - antes de começar a trabalhar. Então, um dia, algo quebra, e não há rastreabilidade para quem correu rm -rf * no diretório errado.

Perguntas

Dadas as preocupações acima, é sempre uma boa ideia permitir que os usuários usem sudo su - ou mesmo su - ?

Existe algum motivo para um administrador configurar contas de usuário para sudo su - ou su - em vez de sudo <command> (além da preguiça)?

Observação: estou ignorando o caso em que o usuário que está executando sudo su - ou su - é o administrador que precisa fazer alterações no sistema, quando o acesso direto ao ssh foi desativado para o usuário raiz. / p>     

por Kingand 09.08.2014 / 01:32

3 respostas

11

Vamos analisar seus casos:

 su -

executará um / bin / sh como usuário root usando o ambiente raiz. A senha do root é necessária e o registro pode ser registrado dependendo das configurações do syslog (normalmente é por padrão o /var/log/auth.log).

 sudo /bin/sh

executará o shell como o usuário root usando o conjunto atual de variáveis de ambiente (com algumas exceções, como seria definido no arquivo sudoers). A senha é a senha do usuário de origem e NÃO a senha do usuário root. sudo é geralmente registrado.

 sudo su -

executará um shell (geralmente / bin / sh) como o usuário root configurando o ambiente como o usuário root. Isso exigirá a senha do usuário de origem e isso geralmente será registrado.

Às vezes, é necessário ter o ambiente raiz sobre o seu próprio ambiente, portanto, su - é um método apropriado. Lembre-se que o sudo ainda registrará o uso do comando shell em ambos os casos.

    
por 09.08.2014 / 05:02
0

*Given the above concerns, is it ever a good idea to allow users to use sudo su *

Não, não na minha opinião. Não tem vantagem prática em permitir que eles suguem, exceto que eles não precisam da senha root para fazer isso.

or su - at all?

Como eu sempre desabilito o logon root, su é necessário e, no final, torna o servidor mais seguro.

    
por 09.08.2014 / 01:40
0

O OP parece fornecer muitos motivos para não permitir / encorajar usos gerais para executar sudo bash ou sudo su - , já que isso os coloca em um modo todo-poderoso cujas partes internas geralmente não são registradas. E eles podem esquecer que estão nesse modo e fazer algo ... lamentável.

Ergo, parece mais seguro ter a maioria dos usuários restrita a executar sudo on/a/particular/command/ ou lista de comandos. Dessa forma, todo comando sudo é registrado.

Você encontrará exceções na prática? Certo. A reação a essas exceções é reverter à prática preguiçosa de sudo su não restrito? Provavelmente não.

    
por 17.06.2015 / 00:14

Tags