Je travaille actuellement sous Ubuntu GNOME 15.10 avec GNOME 3.18, bien que j’ai utilisé (il ya très longtemps) Windows 7, et même si Ubuntu est meilleur à bien des égards, il manque toujours une fonctionnalité ou du moins une fonctionnalité que je n’ai pas encore trouvée. trouvé encore ...
Y a-t-il moyen de faire en sorte que sur l'écran de verrouillage/connexion après un certain nombre (défini par moi) de tentatives de mot de passe incorrectes, l'utilisateur ne puisse pas entrer son mot de passe pendant un certain temps (défini par moi) et enregistre également cela dans un journal?
Ainsi, par exemple, si un utilisateur entre 3 fois un mot de passe incorrect, il n'est pas autorisé à réessayer pendant 5 minutes supplémentaires. Ce dernier est également enregistré dans un journal défini par moi.
Ce serait également utile si je pouvais aussi éventuellement faire en sorte que l’utilisateur essaie de saisir son mot de passe et se trompe 2 fois. Si, dans les 5 prochaines minutes, il essaie à nouveau, il les bloque pendant 5 minutes, mais s’ils essaient à nouveau après 5 minutes, le compteur des tentatives de mot de passe incorrectes est réinitialisé à 0.
Existe-t-il déjà une telle fonctionnalité? Ou peut-être un moyen de l'implémenter manuellement avec un script ou quelque chose?
Les connexions utilisateur sont gérées par le système PAM
(module d’authentification enfichable) et, dans ce cas particulier, par le sous-système pam_tally
(to compiler les comptes d’utilisateur).
Comme pam_tally
lui-même sera obsolète , vous devez utiliser pam_tally2
, qui se compose de deux parties:
pam_tally2.so
étant le module qui effectue l'authentification lui-même et que vous devez ajouter au système PAM
pam_tally2
étant un programme autonome dont vous aurez besoin pour afficher, modifier et effacer des comptes individuelsLes paramètres de pam_tally2
qui vous intéressent sont:
deny=n
Deny access if tally for this user exceeds n.
lock_time=n
Always deny for n seconds after failed attempt.
unlock_time=n
Allow access after n seconds after failed attempt. If this
option is used the user will be locked out for the specified
amount of time after he exceeded his maximum allowed attempts.
Otherwise the account is locked until the lock is removed by a
manual intervention of the system administrator.
magic_root
If the module is invoked by a user with uid=0 the counter is
not incremented.
even_deny_root
Root account can become unavailable.
Ajoutez les lignes suivantes à /etc/pam.d/login
pour verrouiller le compte après 3 connexions échouées (également pour le compte root
) et le déverrouiller automatiquement au bout de 50 minutes.
auth required pam_securetty.so
auth required pam_tally2.so deny=3 even_deny_root lock_time=60 unlock_time=3000
auth required pam_env.so
auth required pam_unix.so
auth required pam_nologin.so
account required pam_unix.so
password required pam_unix.so
session required pam_limits.so
session required pam_unix.so
session required pam_lastlog.so nowtmp
session optional pam_mail.so standard
Après avoir ajouté la configuration ci-dessus, testez-la et déconnectez-vous et essayez de vous connecter 3 fois avec un faux mot de passe : 60 secondes à attendre après la première et la deuxième tentative et 50 minutes après la troisième tentative.