Augmenter la sécurité de connexion avec pam_cracklib

Introduction

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.

Installation

Installer la librairie par la ligne de commande suivante :

sudo apt-get install libpam-cracklib

Utilisation

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 :

/etc/pam.d/common-password
  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 :

/etc/pam.d/common-password
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

Voir aussi

  • utilisateurs/bcag2/cracklib.txt
  • Dernière modification: Le 28/04/2018, 11:32
  • (modification externe)