← Toutes les règles
SOCLE-CLD-IAM-032// Accounts (password history)moyenneconfig persistante

Limiter la réutilisation des mots de passe : password-auth

Exige une profondeur d'historique des mots de passe d'au moins 24 (remember>=24) afin que les utilisateurs ne puissent pas revenir à l'un de leurs 24 derniers mots 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 3 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

Empêcher la réutilisation d'anciens mots de passe garantit qu'un mot de passe compromis n'est pas réinstauré par un utilisateur. Un historique profond (24) rend impraticable le retour à un mot de passe familier après un changement forcé, de sorte que l'expiration périodique impose réellement de nouveaux secrets plutôt qu'une courte rotation entre quelques favoris.

Ce que vérifie Pavois

Pavois lit la valeur effective en parcourant à la fois /etc/pam.d/ et /etc/security/pwhistory.conf pour chaque remember=N, en retenant le N le plus élevé et en exigeant qu'il soit au moins 24. Examiner la configuration résolue (option de ligne PAM et valeur par défaut de pwhistory.conf ensemble) correspond à ce que le système applique réellement, un seul fichier pourrait afficher une valeur plus faible en réalité remplacée, ou l'inverse.

describe command('v=$(grep -RhoE \'remember[[:space:]]*=[[:space:]]*[0-9]+\' /etc/pam.d/ /etc/security/pwhistory.conf 2>/dev/null | grep -oE \'[0-9]+\' | sort -n | tail -1); { [ -n "$v" ] && [ "$v" -ge 24 ] && echo ok; } || echo ko') do
  its('stdout.strip') { should eq 'ok' }
end

Comment vérifier qu’elle est appliquée

Exécutez grep -rhoE 'remember=[0-9]+' /etc/pam.d/ /etc/security/pwhistory.conf et vérifiez que la valeur effective (la plus élevée) est >= 24. Fonctionnellement, après un changement de mot de passe, toute tentative de réutiliser l'un des 24 derniers doit être rejetée.

Inspecter et investiguer

Les rejets pour réutilisation sont consignés dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (RHEL/Fedora). Les condensats conservés sont stockés dans /etc/security/opasswd.

Remédiation

Aucune remédiation automatisée n'est câblée pour cette règle, elle doit donc être appliquée manuellement : définissez remember=24 sur la ligne pam_pwhistory.so (ou pam_unix.so) de la pile password, ou définissez remember = 24 dans /etc/security/pwhistory.conf, puis régénérez PAM (pam-auth-update / authselect).

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

command# Enforce password history via pam_pwhistory. Set in /etc/security/pwhistory.conf: remember = 5 # and ensure pam_pwhistory is enabled: pam-auth-update --enable pwhistory
reasonpassword-history policy choice, set the depth deliberately
resourcemanual
pavois harden plan local

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

Impact & précautions

Augmenter la profondeur d'historique n'affecte que les changements de mot de passe et ne peut pas verrouiller une session active. La réserve pratique est que la nouvelle profondeur s'applique au fil du remplissage de /etc/security/opasswd, et les utilisateurs aux habitudes de mots de passe faibles peuvent avoir besoin de plusieurs essais pour trouver une valeur inédite. Précautions : gardez une session root ouverte pendant l'édition de PAM, et vérifiez que passwd fonctionne encore sur un compte de test avant un déploiement large.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS5.3.3.3.1directper OS, see the benchmark tablehaute
NIST3.5.8support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne
PCI DSS8.3.7support4.0.1moyenne

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