sudo: 3 tentativas incorretas de senha - o root pode ver a senha em texto não criptografado?

19

Se algum usuário não puder acessar algum comando sudotrês vezes, isso deverá ser relatado ao usuário root nos logs de acesso \ erros.

O root pode ver essas tentativas (como as senhas tentadas) no texto nos logs?

maduro
fonte
4
Suposição implícita: a raiz não está sendo má. Se o root já estiver sendo ruim quando você tentar fazer login, todas as apostas serão desativadas.
Joshua
É trivial configurar algo na maioria dos sistemas, mas não faz parte de nenhuma configuração padrão que eu conheça.
PlasmaHH 25/10
2
Obrigatório xkcd xkcd.com/838
Joe
Apenas contagens de tentativas incorretas são relatadas para a raiz. Raiz não consegue ver as senhas de entrada.
Mohammad Kholghi 04/12

Respostas:

37

Não, as senhas não são registradas por padrão. Isso seria um problema de segurança, pois os logs podem ser lidos por outros administradores, permitindo a representação do usuário no caso de uma senha levemente digitada.

vidarlo
fonte
28

Tentativas de login bem-sucedidas e sem êxito são registradas

/var/log/auth.log

Exemplo de uma tentativa bem-sucedida:

Oct 23 21:24:01 schijfwereld sudo: rinzwind : TTY=pts/0 ; PWD=/home/rinzwind ; USER=root ; COMMAND=/bin/bash
Oct 23 21:24:01 schijfwereld sudo: pam_unix(sudo:session): session opened for user root by (uid=0)

E sem sucesso:

Oct 23 21:25:33 schijfwereld sudo: pam_unix(sudo:auth): authentication failure; logname= uid=1000 euid=0 tty=/dev/pts/1 ruser=rinzwind rhost=  user=rinzwind
Oct 23 21:26:02 schijfwereld sudo: rinzwind : 3 incorrect password attempts ; TTY=pts/1 ; PWD=/home/rinzwind ; USER=root ; COMMAND=/bin/bash

Ele registra a tentativa com falha e registra também o total de 3 senhas digitadas incorretamente.

Senhas para sudotentativas nunca são mostradas ou armazenadas.

Rinzwind
fonte
4
A única maneira de registrar as senhas é geralmente quando você se esquece de pressionar enter após o nome de usuário. Então você efetua login como "Scott Tiger" em vez de usuário Scott com a senha Tiger
Lenne 24/10
Mas isso não é culpa do sudo ;-)
Rinzwind
@Lenne quando isso acontece comigo (ou quando eu digito distraidamente minha senha em vez de um comando), excluo a linha incorreta do histórico do shell.
Zanna
4

A prática usual é não registrar senhas usadas em tentativas de login, mesmo que a senha em questão seja inválida. Isso ocorre simplesmente porque a senha pode ser válida para outro usuário no mesmo sistema (por exemplo, o usuário digitou incorretamente seu nome de usuário , não a senha) ou pode ser uma alternância trivial da senha real (o usuário perdeu uma carta ou mais).

Qualquer um desses casos deixaria uma senha de texto sem formatação no sistema, vulnerável a vazamentos de informações. (A senha também pode ser válida para outro sistema que não o digitado, mas isso é realmente mais um problema para "eles", não para "nós".)

Um pouco relacionado a isso é o caso em que um usuário grava sua senha no lugar de seu nome de usuário (por exemplo, ele geralmente usa um sistema que insere o nome de usuário automaticamente, mas agora não o fez, mas ainda assim digitou a senha como a primeira coisa). Nesse caso, você teria uma senha de texto sem formatação nos logs. Isso não é o ideal, mas é útil ver os nomes de usuários para as tentativas fracassadas de login usuais, e não há uma solução simples para armazená-los, mas não as senhas inseridas como nomes de usuário.


Dito isto, não há nada para impedir que o administrador do sistema faça com que o sistema registre as senhas também. A adição do log provavelmente poderia ser feita adicionando uma chamada syslog()e recompilando o módulo PAM. (PAM é o que o Ubuntu e sudousa, mas é claro o mesmo se aplica a aplicativos da Web e tudo mais.)


Portanto, não, normalmente um administrador não pode ver as senhas inseridas no sistema, mas se você digitar sua senha em um sistema em que não confia, deverá, estritamente falando, considerá-la perdida e alterá-la.

ilkkachu
fonte
0

De um modo geral, muito poucos programas em unix já log senhas reais para syslog ou em outro lugar - há quase nunca uma boa razão para fazê-lo, e há boas razões pé não para.

Devido à maneira como as senhas são divididas em hash, o sistema não pode dizer a diferença entre uma senha errada e um erro de digitação - se sua senha era% $ zDF + 02G e você digitou% $ ZDF + 02G, será uma falha tão difícil quanto faria se você digitasse 'rubberbabybuggybumpers', mas o registro da senha com falha forneceria informações valiosas a terceiros mal-intencionados que estavam lendo o log.

O único caso que encontrei em que um programa tinha a capacidade de registrar senhas (e um caso de uso em que seria uma boa ideia) está nos servidores RADIUS, onde é possível alternar com mais informações do que- você provavelmente desejou o modo de depuração e, em seguida, adicione explicitamente o sinalizador que significa 'sim, incluindo senhas', porque o cliente não conseguiu se conectar e precisa excluir absolutamente todas as causas possíveis ...

Shadur
fonte