"Sudo su -" é considerado uma má prática?

13

fundo

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

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

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

Alguns pensamentos:

  1. Parece que a permissão sudo su -representa um risco à segurança, tornando o acesso à conta raiz dependente das senhas de usuários individuais. Obviamente, isso pode ser atenuado pela imposição de uma política estrita de senha. Eu não acho que su -seja melhor, pois exigiria que o administrador compartilhasse a senha root real.

  2. Permitir que os usuários alternem completamente para a conta raiz torna mais difícil acompanhar quem faz as alterações no sistema. Vi casos no meu trabalho diário em que vários usuários têm sudo su -acesso. A primeira coisa que os usuários fazem ao fazer login no sistema é executada sudo su -, antes de começar o trabalho. Então, um dia algo quebra e não há rastreabilidade para quem executou rm -rf *no diretório errado.

Questões

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

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

Nota: Estou ignorando o caso em que o usuário está executando sudo su -ou su -o administrador está precisando fazer alterações no sistema, quando o acesso direto ao ssh foi desativado para o usuário root.

Kingand
fonte
4
sudo su -é bastante bobo, pois sudo -ifaz essencialmente a mesma coisa, com menos pressionamentos de tecla.
Michael Hampton
Eu concordo com @MichaelHampton. No entanto, eu normalmente corro sudo bashsimplesmente para evitar parte da sobrecarga de login. No entanto, refletindo, isso pode não evitar tanto quanto eu imagino.
Ericx
2
@ericx Considere também sudo -s.
Michael Hampton

Respostas:

11

Vejamos seus casos:

 su -

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

 sudo /bin/sh

executará o shell como usuário raiz 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. O 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 em seu próprio ambiente, portanto, su - é um método apropriado. Lembre-se de que o sudo ainda registrará o uso do comando shell nos dois casos.

mdpc
fonte
Perdi completamente a diferença de ambientes entre sudo e su. Obrigado!
Kingand
0

* Dadas as preocupações acima, é sempre uma boa idéia permitir que os usuários usem o sudo su *

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

ou su - afinal?

Como eu sempre desabilito o logon raiz, su é necessário e, em geral, torna o servidor mais seguro.

Ron Lawhorn
fonte
2
Não exigir que todos compartilhem ativamente a senha root tem vantagens culturais de segurança importantes que não devem ser negligenciadas.
Falcon Momot
0

O OP parece fornecer muitas boas razões para não permitir / incentivar a execução de usos gerais sudo bashou, sudo su -uma vez que isso os alterna para 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.

Portanto, parece mais seguro restringir a maioria dos usuários à execução 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 a reverter para a prática preguiçosa de restrições - sudo suprovavelmente não.

MarkHu
fonte