Sécurité

Sécurité des mot de passe avec passwdqc

Table des matières

Introduction



Dans Linux, il existe un module appelé passwdqc qui permet de spécifier des critères spécifiques pour la complexité du mot de passe des utilisateurs (root y compris).
Nous allons voir son usage.
Le projet est disponible ici : http://www.openwall.com/passwdqc

Prérequis



Dans un premier temps, s'assurer que le paquet passwdqc est installé :

Sous Gentoo c'est le cas par défaut : sys-auth/passwdqc
Sous Enterprise Linux (RHEL, AlmaLinux, CentOS) : non disponible
Sous Fedora : passwdqc
Sous Debian : passwdqc

Paramétrer dans PAM l'utilisation du module :

Code BASH :
vi /etc/pam.d/system-auth


Ajouter la ligne :

Code :
password        required        pam_passwdqc.so config=/etc/security/passwdqc.conf


Créer le fichier /etc/security/passwdqc.conf

Code BASH :
vi /etc/security/passwdqc.conf


Y insérer un contenu type :
Code TEXT :
min=8,8,8,8,8
max=40
passphrase=3
match=4
similar=deny
enforce=everyone
retry=3


Configuration



Tout se passe dans le fichier précédemment créé : /etc/security/passwdqc.conf

La première ligne permet de paramétrer via 5 niveaux de configuration. la ligne est de type :

Code :
min=N0,N1,N2,N3,N4

Les valeurs par défaut sont : disabled,24,11,8,7

Voici le descriptif des 5 niveaux :

N0 : Utilisé pour les mots de passe comportant une seule classe de caractères (chiffres, minuscules, majuscules et caractères spéciaux). En général, ce paramètre est défini sur disabled, car les mots de passe simples ne sont pas sécurisés.
N1 : Utilisé pour les mots de passe comportant deux classes de caractères qui ne répondent pas aux conditions requises pour former une phrase de passe. Pour que cette règle s'applique, le mot de passe doit comporter au moins N1 caractères.
N2 : Utilisé pour les mots de passe formant une phrase de passe. Pour que cette règle s'applique, le mot de passe doit comporter au moins N2 caractères et répondre à l'exigence relative aux phrases de passe.
N3 : Utilisé pour les mots de passe comportant au moins trois classes de caractères. Pour que cette règle s'applique, le mot de passe doit comporter au moins N3 caractères.
N4 : Utilisé pour les mots de passe comportant au moins quatre classes de caractères. Pour que cette règle s'applique, le mot de passe doit comporter au moins N4 caractères.

Exemples :
Pour forcer au moins 8 caractères :
Code :
min=10,10,10,10,10


Pour avoir au moins 10 caractères sans complexité OU 9 caractères si 2 types différents et si plus complexe, 8 minimum :
Code :
min=10,9,8,8,8



Pour les lignes suivantes :

Code :
max=40


Correspond au nombre maxi de caractères d'un mot de passe.
Au delà le mot de passe est tronqué (pour éviter les mot de passe trop long pour certains anciens si nécessaire).
Valeur par défaut : 40

Code :
passphrase=3

Nombre de mots requis pour que ça soit considéré comme une passphrase.
Valeur par défaut : 3

Code :
match=4

Longueur requise d'une sous-chaîne pour conclure qu'un mot de passe est au moins en partie basé sur des informations trouvées dans une chaîne.
Valeur par défaut : 4

Code :
similar=deny

Valeurs : permit ou deny
Permet de refuser ou d'accepter un mot de passe similaire au précédent
Valeur par défaut : deny

Code :
enforce=everyone

Valeurs : none ou users ou everyone
Permet d'avertir d'un mot de passe faible; Uniquement pour avertir. Personne, Que les utilisateurs ou utilisateurs + root
Valeur par défaut : everyone

Code :
retry=3

Configurer la demande de mot de passe X fois si un mot de passe non sûr est rentré.
Valeur par défaut : 3
Cette page a été vue 83 fois