Pam cracklib : Choisir la complexité des mots de passe
1 Introduction
Si vous aussi vous en avez marre des utilisateurs qui choisissent des mots de passe trop simple sur vos système et qui compromettent donc la sécurité de celui ci, il y a donc une solution. C'est pam_cracklib qui va vous permettre de spécifier la taille minimale des mots de passe, le nombre de minuscule, majuscules, chiffre etc...
Bref, le truc quasi indispensable surtout si vous vous reposez sur un backend de type LDAP.
2 Installation
Pour l'installer...easy move :
aptitude |
aptitude install libpam-cracklib |
3 Configuration
Nous n'avons qu'un fichier à éditer, ce qui va grandement simplifier les choses et en plus, vu qu'on est sous Debian, ces gentils monsieurs nous ont simplifier la vie puisqu'il n'y a que des commentaires de ligne à faire et en plus avec une explication....royale !
J'ai donc commenté la première ligne en gras puis décommenté les 2 dernières.
Sur la dernière ligne, j'ai également retiré 'nullok' qui permet d'avoir des mots de passe vide. Tout compte avec des mots de passe vide sera rejetter (attention toute fois si dans votre cas un utilisateur système doit posséder ce type de compte pour des opérations de maintenance).
Passons maintenant aux explications de la ligne pam_cracklib.so :
- retry : c'est le nombre de fois que l'utilisateur pourra réessayer s'il se trompe de mot de passe
- minlen : la longueur minimale du mot de passe
- difok : j'aime bien ce truc, c'est un peu vicieux, mais vu que certains utilisateurs le sont... ça permet qu'il se rappelle des anciens mots de passe que les utilisateurs ont mis. Ici un utilisateur ne pourra réutiliser un mot de passe qu'il avait précédemment mis qu'au bout de la 5ème fois.
- dcredit : si le chiffre est négatif, c'est qu'il faut au moins x fois de nombre décimal pour que le mot de passe soit validé. (ici il faut au moins un décimal)
- ucredit : si le chiffre est négatif, c'est qu'il faut au moins x fois de lettre majuscule pour que le mot de passe soit validé. (ici il faut au moins une majuscule)
- lcredit : si le chiffre est négatif, c'est qu'il faut au moins x fois de lettre minuscule pour que le mot de passe soit validé. (ici il faut au moins une minuscule)
J'aurais pu mettre aussi ocredit qui permet de spécifier les caractères spéciaux. Il faut savoir que pour dcredit, ucredit, lcredit et ocredit, si ils sont égale à un nombre positif, ils se soustraient à minlen lorsqu'ils sont utilisés.
Je vous laisse regarder les références ci dessous si vous voulez plus d'infos :-)
4 Références
http://www.deer-run.com/~hal/sysadmin/pam_cracklib.html
http://linux.die.net/man/8/pam_cracklib