J’ai cherché un moyen de bloquer un compte utilisateur quand ce dernier s’est trompé plusieurs fois de mot de passe.
Cela peut arriver par exemple si un pirate essaie de forcer un compte en utilisant un dictionnaire de mots de passe.
Après quelques recherches, j’ai trouvé ceci :
http://www.puschitz.com/SecuringLinux.shtml
Ce qui sur ma fedora core 4 avec pam-0.79-9.6 ne fonctionne pas 🙁
En fait, dans cette version de pam, les options ont changé, j’ai consulté /usr/share/doc/pam-0.79/txts/README.pam_tally pour trouver les différences avec la doc.
Au final,
Editer le fichier /etc/pam.d/system-auth
Ajouter les lignes suivantes :
auth required /lib/security/$ISA/pam_tally.so onerr=fail per_user deny=3 unlock_time=180
account required /lib/security/$ISA/pam_tally.so
Ici, je vérouille le compte pour 3 min ( 180sec) après 3 tentatives infructueuses, mais si on ne met pas de unlock_time, le compte reste vérrouillé tant que l’administrateur ne l’a pas libéré.
Pour dévérrouiller un compte, utiliser une des commandes suivantes :
faillog -u test -r
ou
pam_tally --user test --reset