sudo: 3 tentatives de mot de passe incorrectes - root peut-il voir le mot de passe en texte clair?

19

Si un utilisateur ne peut pas accéder à une commande avec sudo3 fois, cela doit être signalé à l'utilisateur root dans les journaux d'accès \ erreurs ..

La racine peut-elle voir ces tentatives (comme les mots de passe essayés) dans le texte dans les journaux?

mature
la source
4
Hypothèse implicite: la racine n'est pas le mal. Si root est déjà maléfique lorsque vous essayez de vous connecter, tous les paris sont désactivés.
Joshua
Il est trivial de configurer quelque chose sur la plupart des systèmes, mais cela ne fait partie d'aucune configuration par défaut que je connaisse.
PlasmaHH
2
Obligatoire xkcd xkcd.com/838
Joe
Le nombre de tentatives incorrectes est signalé à la racine. Root ne peut pas voir du tout les mots de passe d'entrée.
Mohammad Kholghi

Réponses:

37

Non, les mots de passe ne sont pas enregistrés par défaut. Ce serait un problème de sécurité, car les journaux peuvent être lus par d'autres administrateurs, permettant l'emprunt d'identité de l'utilisateur en cas de mot de passe légèrement mal tapé.

vidarlo
la source
28

Les tentatives de connexion réussies et infructueuses sont connectées

/var/log/auth.log

Exemple d'une tentative réussie:

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)

Et sans succès:

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

Il enregistre la tentative échouée et enregistre également le total de 3 mots de passe mal saisis.

Les mots de passe pour les sudotentatives ne sont jamais affichés ni stockés.

Rinzwind
la source
4
La seule façon dont les mots de passe sont enregistrés est généralement lorsque vous oubliez d'appuyer sur Entrée après le nom d'utilisateur. Vous vous connectez donc en tant que "Scott Tiger" au lieu de l'utilisateur Scott avec le mot de passe Tiger
Lenne
Mais ce n'est pas la faute de sudo ;-)
Rinzwind
@Lenne quand cela m'arrive (ou sinon quand je tape distraitement mon mot de passe au lieu d'une commande), je supprime la ligne incriminée de l'historique du shell.
Zanna
4

La pratique habituelle consiste à ne pas enregistrer les mots de passe utilisés lors des tentatives de connexion, même si le mot de passe en question n'est pas valide. C'est simplement parce que le mot de passe peut être valide pour un autre utilisateur sur le même système (par exemple, l'utilisateur a mal saisi son nom d'utilisateur , pas le mot de passe), ou peut être une alternance triviale du mot de passe réel (l'utilisateur a raté une lettre ou deux).

L'un ou l'autre de ces cas laisserait un mot de passe en clair sur le système, vulnérable à une fuite d'informations. (Le mot de passe peut également être un mot de passe valide pour un autre système que celui sur lequel il a été entré, mais c'est vraiment plus un problème pour "eux", pas pour "nous".)

Un peu lié à cela est le cas où un utilisateur écrit son mot de passe à la place de son nom d'utilisateur (par exemple, il utilise généralement un système qui saisit automatiquement le nom d'utilisateur, mais maintenant non, mais a tout de même tapé le mot de passe en premier). Dans ce cas, vous auriez un mot de passe en texte brut dans les journaux. Ce n'est pas optimal, mais voir les noms d'utilisateur pour les tentatives de connexion échouées habituelles est utile, et il n'y a pas de solution simple pour les stocker, mais pas les mots de passe entrés en tant que noms d'utilisateur.


Cela dit, rien n'empêche l'administrateur du système d'enregistrer également les mots de passe. L'ajout de la journalisation pourrait probablement se faire en ajoutant un appel au syslog()module PAM et en le recompilant. (PAM est ce qu'Ubuntu et sudoutilise, mais bien sûr, il en va de même pour les applications Web et tout le reste aussi.)


Donc, non, généralement, un administrateur ne peut pas voir les mots de passe saisis sur le système, mais si vous entrez votre mot de passe sur un système auquel vous ne faites pas confiance, vous devez, à proprement parler, le considérer comme perdu et le changer.

ilkkachu
la source
0

Plus généralement, très peu de programmes sous unix enregistrent des mots de passe réels dans Syslog ou ailleurs - il n'y a presque jamais de bonne raison de le faire, et il y a de bonnes raisons de ne pas le faire.

En raison de la façon dont les mots de passe sont hachés, le système ne peut pas faire la différence entre un mauvais mot de passe et une faute de frappe - Si votre mot de passe était% $ zDF + 02G et que vous avez tapé% $ ZDF + 02G, vous échouerez aussi fort qu'il le sera le ferait si vous tapiez 'rubberbabybuggybumpers', mais la journalisation du mot de passe échoué donnerait des informations précieuses à un tiers malveillant lisant le journal.

Le seul cas que j'ai trouvé où un programme avait la capacité d'enregistrer les mots de passe (et un cas d'utilisation où ce serait une bonne idée) est dans les serveurs RADIUS, où vous pouvez en un clin d'œil activer plus d'informations que vous souhaitiez probablement le mode de débogage, puis ajoutez explicitement l'indicateur qui signifie `` oui, y compris les mots de passe '', car un client ne parvient pas à se connecter et vous devez exclure absolument toutes les causes possibles ...

Shadur
la source