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.
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' }
endComment 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 |
|---|---|
| key | maxclassrepeat |
| resource | keyval |
| value | 4 |
pavois harden plan localoù 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.