Les bibliothèques PAM (Pluggable Authentication Modules) sont utilisées par défaut pour l'authentification des utilisateurs (et des applications) mais de "façon basique". Vous pouvez (devriez) souhaitez augmenter la sécurité de votre machine en imposant des mots de passe plus complexe. La librairie pam_cracklib permet cela.
Installer la librairie par la ligne de commande suivante :
sudo apt-get install libpam-cracklib
Vous avez ensuite besoin de modifier la configuration du fichier /etc/pam.d/common-password :
sudo vi /etc/pam.d/common-password
Changez la configuration par ces lignes :
password required pam_cracklib.so retry=3 minlen=6 difok=3 password required pam_unix.so md5 remember=3 use_authtok
options de la première ligne :
retry=3 indique le nombre d'essai avant de devoir relancer passwd (n'entraîne pas de blocage!)
minlen=8 nombre minimum de caractères du mot de passe
difok=3 nombre minimum de caractères différents lors qu'un changement de mot passe
vous pouvez ajouter :
lcredit pour obliger à utiliser des minuscules (lower)
ucredit pour obliger à utiliser des majuscules (upper)
dcredit pour obliger à utiliser des chiffres (digital)
ocredit pour obliger à utiliser d'autres caractères non-alphanumériques (others)
exemple pour imposer un mot de passe d'au moins 8 caractères dont au moins une minuscule, une majuscule, trois chiffres et un caractère spécial :
password required pam_cracklib.so retry=3 minlen=8 difok=3 lcredit=1 ucredit=1 dcredit=3 ocredit=1
Par défaut, pam_cracklib réaliser des vérifications telle que : le nouveau mot de passe ne change que l'ordre des lettres : "password" vs. "drowssap" le nouveau mot de passe ne change qu'au niveau de la case : "password" vs. "PassWord"
options de la seconde ligne :
md5 permet de définir le codage pour le hachage (hash)
remember permet de spécifier le nombre d'anciens mots de passe à mémoriser pour empêcher leur réutilisation
use_authtok spécifier à pam_unix de ne pas réaliser ses propres vérifications du mot de passe
La durée de vie des mots de passe doit être définie via la variable PASS_MAX_DAYS dans le fichier /etc/login.defs
* restrictions_horaires
* (eng) http://www.deer-run.com/~hal/sysadmin/pam_cracklib.html
Contributeur principal : bcag2