← Toutes les règles
SOCLE-CLD-IAM-039// Passwords (pwquality)moyenneconfig persistante

Garantir que PAM impose les exigences de mot de passe - Nombre minimum de chiffres

Définit dcredit = -1 dans pwquality afin que chaque nouveau mot de passe contienne au moins un chiffre, imposé par PAM lors du changement de mot de passe.

Vérifié sur le contenu d’un fichier de configuration persistant, la source de vérité qui survit aux redémarrages.

Un PASS prouve? actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 5 normes

Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.

Pourquoi cette règle

La robustesse d'un mot de passe mesure sa résistance aux attaques par devinette et par force brute, et la complexité en est un facteur clé : plus l'espace de caractères est grand, plus l'attaquant doit tester de combinaisons. Une valeur dcredit négative impose au moins un chiffre dans chaque mot de passe, élargissant cet espace de recherche et rendant les attaques par devinette nettement plus difficiles.

Ce que vérifie Pavois

Pavois lit la configuration pwquality effective en parcourant /etc/security/pwquality.conf et chaque drop-in sous /etc/security/pwquality.conf.d/, en prenant la dernière valeur dcredit= (celle qui l'emporte réellement) et en exigeant qu'elle soit <= -1. Résoudre l'ordre de fusion des drop-ins est ce que les contrôles fichier par fichier ratent, un drop-in postérieur peut écraser silencieusement le fichier principal.

describe command('v=$(grep -rh \'^[[:space:]]*dcredit[[:space:]]*=\' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ 2>/dev/null | tail -1 | grep -oE \'[-]?[0-9]+\'); { [ -n "$v" ] && [ "$v" -le -1 ] && echo ok; } || echo ko') do
  its('stdout.strip') { should eq 'ok' }
end

Comment vérifier qu’elle est appliquée

Lancez grep -rh '^[[:space:]]*dcredit' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ | tail -1, la ligne effective doit indiquer dcredit = -1 (ou toute valeur <= -1). Testez ensuite en conditions réelles : en tant qu'utilisateur normal, lancez passwd et essayez un mot de passe sans chiffre ; il doit être refusé car il ne contient pas de chiffre.

Inspecter et investiguer

Les évènements de changement de mot de passe PAM et les rejets pwquality sont journalisés dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (RHEL) ; cherchez les entrées pam_pwquality / pam_unix(passwd:chauthtok), ou utilisez journalctl -t passwd. La configuration effective se confirme en lisant les drop-ins fusionnés de pwquality.conf.d.

Remédiation

pavois harden apply écrit le réglage keyval dcredit = -1 dans le drop-in /etc/security/pwquality.conf.d/99-Pavois.conf, qui prévaut sur les valeurs par défaut de la distribution. Aucun redémarrage de service n'est nécessaire, PAM relit pwquality au prochain passwd / à la prochaine authentification.

Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :

file/etc/security/pwquality.conf.d/99-pavois.conf
keydcredit
resourcekeyval
value-1
pavois harden plan local

où la cible est local, un alias SSH user@hôte, ou un conteneur , Docs

Impact & précautions

Cette règle n'affecte que les mots de passe nouveaux ou modifiés ; les mots de passe existants continuent de fonctionner jusqu'à leur prochain changement, il n'y a donc pas de risque de verrouillage à l'application. Les utilisateurs seront contraints d'inclure un chiffre au prochain changement, ce qui peut surprendre un provisionnement automatisé définissant des mots de passe sans chiffre. Coordonnez-vous avec les outils qui génèrent des identifiants et assurez-vous que votre générateur produit au moins un chiffre avant de l'imposer à l'ensemble du parc.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R31direct2.0haute
CIS5.3.3.2.3, 8.3.6directper OS, see the benchmark tablehaute
NISTCM-6(a), IA-5(1)(a), IA-5(4), IA-5(c)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne
PCI DSS8.3.6support4.0.1moyenne
DISA STIGUBTU-22-611020, UBTU-24-400280directper OS STIG releasehaute

Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.

Sources & références