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

Garantir que PAM impose des exigences de mot de passe - Nombre d'invites de nouvelle tentative autorisées par session

Plafonne le nombre d'invites de mot de passe autorisées par pam_pwquality dans une seule session en posant retry = 3.

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

Définir à une valeur basse le nombre d'invites de mot de passe par session force certains logiciels, comme SSH, à se reconnecter après avoir épuisé leurs tentatives. Cela ralentit et attire l'attention sur certaines attaques par devinette de mot de passe en limitant le nombre d'essais possibles par connexion. Notez que c'est distinct du verrouillage de compte, appliqué séparément par pam_faillock ; retry ne borne que les invites au sein d'une seule session d'authentification.

Ce que vérifie Pavois

Pavois lit la valeur effective de retry à travers /etc/security/pwquality.conf et tous les drop-ins sous /etc/security/pwquality.conf.d/, en conservant la dernière définition qui l'emporte à l'exécution. Un scanner basé sur les fichiers lisant uniquement la config principale manquerait une valeur posée dans un drop-in. Le contrôle passe uniquement quand la valeur résolue est <= 3.

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

Comment vérifier qu’elle est appliquée

Exécutez grep -rh '^[[:space:]]*retry' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ | tail -1. La ligne effective doit indiquer retry = 3 (ou toute valeur <= 3).

Inspecter et investiguer

Les nouvelles tentatives d'authentification et de changement de mot de passe sont journalisées via PAM dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (famille RHEL) ; cherchez les échecs pam_pwquality répétés au sein d'une session, et utilisez journalctl -u ssh pour corréler les reconnexions SSH. Inspectez le réglage actif avec grep -r retry /etc/security/pwquality.conf.d/.

Remédiation

pavois harden apply écrit retry = 3 dans le drop-in /etc/security/pwquality.conf.d/99-Pavois.conf via la ressource idempotente keyval. Le préfixe 99- garantit qu'il surcharge toute valeur antérieure. Aucun redémarrage n'est requis ; cela s'applique à 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
keyretry
resourcekeyval
value3
pavois harden plan local

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

Impact & précautions

Une valeur basse de retry affecte légèrement l'expérience interactive : un utilisateur qui se trompe plus de 3 fois en saisissant un nouveau mot de passe doit recommencer l'opération (et en SSH, se reconnecter). Cela ne verrouille pas les comptes. Précaution : assurez-vous que retry n'est pas dupliqué avec une valeur conflictuelle dans la pile PAM (pam_pwquality.so retry=N dans /etc/pam.d/), car l'argument de la ligne PAM peut surcharger la valeur de pwquality.conf sur certaines distributions.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R68direct2.0haute
NISTAC-7(a), CM-6(a), IA-5(4)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne
DISA STIGUBTU-22-611045, UBTU-24-300016directper 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