11/12/2024

Commandes et Système

Comment configurer la politique de mots de passe sous Linux ?

I. Présentation

Dans ce tutoriel, nous allons voir comment mettre en place une politique de mot de passe d'un système d'exploitation Linux en utilisant PAM (Pluggable Authentication Module) et le module "pwquality". Nous verrons comment gérer les différents paramètres de cette politique.

Une politique de mot robuste est l'une des premières protections que doit comporter tout système ou application. Le terme "politique de mot de passe" comprend toutes les règles qui visent à gérer la structure des mots de passe (composition, longueur), mais aussi leur cycle de vie (renouvellement, changement, historique, durée de validité) et leur utilisation (nombre de tentatives d'authentification).

Il est important d’avoir une bonne gestion et une bonne configuration de la politique des mots de passe sur son système. Pour rappel, un mot de passe fort doit suivre les recommandations suivantes :

  • Comprendre au moins 12 à 14 caractères.
  • Ne pas contenir ni votre nom d’utilisateur, ni votre vrai nom, ni le nom de la société ou autre donnée en relation avec vous.
  • Contenir des caractères provenant de chacune des quatre catégories suivantes : minuscule, majuscule, chiffre, caractères spéciaux.

Pour aller plus loin dans la compréhension de ce qu'est un mot de passe robuste, je vous oriente vers la documentation de l'ANSSI sur ce sujet :

Pour rappel, PAM est un système modulaire qui gère l’authentification des utilisateurs sous Linux. Nous allons utiliser le module "pwquality" qui permet de gérer tous les paramètres relatifs à la structure du mot de passe.

Version originale de l'article : 10 septembre 2013.

II. Gestion de la politique des mots de passe avec PAM

A. Installation de libpam-pwquality

Pour commencer, nous devons installer le module nécessaire pour finement gérer la qualité des mots de passe avec PAM : le module "libpam-pwquality.

# Installer libpam-pwquality sous Debian
sudo apt-get update
sudo apt-get install libpam-pwquality

# Installer libpam-pwquality sous Red Hat
sudo yum install pam_pwquality
Debian libpam-pwquality politique mots de passe

Pour information, "libpam-pwquality" et "pam_pwquality" ont remplacé "libpam-cracklib" et "pam_cracklib" dans les distributions modernes. Cette installation devrait faire apparaitre le fichier "pam_pwquality.so" dans le dossier "/usr/lib/x86_64-linux-gnu/security/" :

root@debian:~# find / -name "pam_*.so" 2>/dev/null
[...]
/usr/lib/x86_64-linux-gnu/security/pam_pwquality.so
[...]

B. Configuration de libpam-pwquality

Nous nous rendons ensuite dans le répertoire "/etc/pam.d/" où se trouvent les fichiers de configuration de PAM. Le fichier "common-password" (ou "password-auth" et "system-auth" sur Red Hat) gère les règles de construction des mots de passe lors de la création ou de la modification des utilisateurs.

Sous Debian et dérivés, nous allons éditer le fichier "/etc/pam.d/common-password" ("/etc/pam.d/password-auth" et "/etc/pam.d/system-auth" sous Red Hat et dérivés) pour y modifier la ligne contenant "pam_pwquality.so", celle-ci a été ajoutée automatiquement à l'installation de "pam_pwquality.so" :

# Avant modification
password requisite pam_pwquality.so retry=3

# Après modification
password requisite pam_pwquality.so retry=3 minlen=12 difok=3

La modification de la politique prendra effet dès l'enregistrement du fichier modifié. Voici le détail des paramètres que nous venons d'ajouter dans notre politique de mot de passe :

  • retry=3 : autorise trois essais pour la saisie du mot de passe ;
  • minlen=12 : détermine la longueur minimale d’un mot de passe ;
  • difok=3 : indique le nombre de caractères qui doivent être différents entre un ancien et un nouveau mot de passe.

Nous pouvons à présent tester la politique de mot de passe. Rien de plus simple : créez un nouvel utilisateur et essayez de définir un mot de passe faible.

sudo adduser testuser
# Lors de la saisie du mot de passe, essayez avec un mot de passe faible comme "2".
Nouveau mot de passe : 2
MOT DE PASSE INCORRECT : Le mot de passe comporte moins de 12 caractères

PAM analysera le mot de passe saisi et indiquera les problèmes comme la longueur insuffisante ou l'utilisation de motifs simples, en fonction des directives paramétrées.

C. Exemple de politique de mot de passe renforcée

Pour renforcer la politique des mots de passe, vous pouvez ajouter des paramètres supplémentaires. Par exemple :

password requisite pam_pwquality.so retry=3 minlen=12 difok=4 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

Les paramètres que nous venons d'ajouter sont les suivants :

  • ucredit=-1 : exige au moins une lettre majuscule.
  • lcredit=-1 : exige au moins une lettre minuscule.
  • dcredit=-1 : exige au moins un chiffre.
  • ocredit=-1 : exige au moins un caractère spécial.

Avec cette configuration, les mots de passe doivent à présent respecter strictement certaines directives concernant leur composition. Si vous souhaitez connaitre l'ensemble des paramètres utilisables avec "pam_pwquality.so", je vous oriente vers la documentation du module :

III. Conclusion

En configurant correctement la politique des mots de passe avec PAM et "pam_pwquality", vous pourrez renforcer la sécurité de votre système Linux en imposant des mots de passe robustes pour tous les utilisateurs. Ces configurations sont essentielles pour protéger les comptes utilisateurs contre les accès non autorisés.

Enfin, si vous souhaitez utiliser "pam_pwquality" avec une blacklist de mot de passe personnalisée, je vous oriente vers notre article sur ce sujet :

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

2 commentaires sur “Comment configurer la politique de mots de passe sous Linux ?

  • je suis arriver sur votre site par la page de ubuntu francophone, je vais lire tous vos sujets, car je suis intéresser par votre contenue en francais.

    J’aime les défis et celui qui me tiens a cœur en ce moment , est de monter un serveur sous ubuntu sécuriser pour donner aces à mes clients pour leur session de photo via un ftp, ainsi qu’un site web et un blog.

    Votre site est agréable à parcourir ainsi que le contenus très instructif.

    Merci

    Répondre
  • Bonjour,
    y a-t-il un historique des mots de passe que l’on a utilisé et si oui comment le consulter ?
    Merci

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.