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

Garantir que PAM impose des exigences de mot de passe - Maximum de caractères consécutifs répétés de la même classe de caractères

Limite le nombre de caractères consécutifs pouvant provenir de la même classe de caractères (ex. tous chiffres, toutes minuscules) dans un mot de passe en posant maxclassrepeat = 4.

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é →
FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0

Pourquoi cette règle

Un mot de passe complexe augmente le temps et les ressources nécessaires pour le compromettre. Le paramètre maxclassrepeat rejette les mots de passe comportant de longs segments tirés d'une seule classe (ex. aaaaa, 12345 de chiffres, abcde de minuscules). Ces suites monoclasse réduisent l'entropie effective et produisent des structures prévisibles exploitées par les outils de cassage. Les plafonner à 4 impose un entrelacement des classes et élargit l'espace de recherche.

Ce que vérifie Pavois

Pavois lit la valeur effective de maxclassrepeat à 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 <= 4 (et non nulle, car 0 désactive le contrôle).

describe command('v=$(grep -rh \'^[[:space:]]*maxclassrepeat[[:space:]]*=\' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ 2>/dev/null | tail -1 | grep -oE \'[-]?[0-9]+\'); { [ -n "$v" ] && [ "$v" -le 4 ] && 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:]]*maxclassrepeat' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ | tail -1. La ligne effective doit indiquer maxclassrepeat = 4 (ou toute valeur 1..4).

Inspecter et investiguer

Les changements de mot de passe rejetés pour trop de caractères consécutifs de la même classe sont journalisés via PAM dans /var/log/secure (famille RHEL) avec des messages pam_pwquality comme "Too many characters of the same class consecutively". Inspectez le réglage actif avec grep -r maxclassrepeat /etc/security/pwquality.conf.d/.

Remédiation

pavois harden apply écrit maxclassrepeat = 4 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 au prochain changement de mot de passe.

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
keymaxclassrepeat
resourcekeyval
value4
pavois harden plan local

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

Impact & précautions

Ce contrôle s'applique uniquement à RHEL 8/9 (il ne fait pas partie des profils CIS/STIG, d'où les norms vides). Les mots de passe existants restent valides ; seuls les nouveaux mots de passe sont contraints. Les utilisateurs choisissant des mots de passe avec cinq caractères consécutifs de la même classe ou plus seront rejetés. Le risque de blocage est minime ; mettre maxclassrepeat = 0 désactiverait le contrôle, confirmez donc que la valeur est 1..4.

Sources & références

Pages de manuel