Limiter le nombre maximal de caractères séquentiels dans les mots de passe
Limite la longueur d'une suite monotone (ex. abcd, 1234) autorisée dans un mot de passe en posant maxsequence = 3.
Vérifié sur le contenu d’un fichier de configuration persistant, la source de vérité qui survit aux redémarrages.
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
Un mot de passe robuste augmente le temps et les ressources nécessaires pour le compromettre. Le paramètre maxsequence rejette les mots de passe contenant de longues suites monotones comme abcd, 4321 ou des séquences de type qwerty. Ces motifs ordonnés sont testés en priorité par les outils de cassage et réduisent fortement l'entropie effective. Plafonner les suites à 3 impose des mots de passe moins prévisibles et élargit l'espace de recherche que les attaquants doivent couvrir.
Ce que vérifie Pavois
Pavois lit la valeur effective de maxsequence à 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 (et non nulle, car 0 désactive le contrôle).
describe command('v=$(grep -rh \'^[[:space:]]*maxsequence[[: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' }
endComment vérifier qu’elle est appliquée
Exécutez grep -rh '^[[:space:]]*maxsequence' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ | tail -1. La ligne effective doit indiquer maxsequence = 3 (ou toute valeur 1..3).
Inspecter et investiguer
Les changements de mot de passe rejetés pour suites monotones sont journalisés via PAM dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (famille RHEL) avec des messages pam_pwquality comme "Too long monotonic character sequence". Inspectez le réglage actif avec grep -r maxsequence /etc/security/pwquality.conf.d/.
Remédiation
pavois harden apply écrit maxsequence = 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 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 | maxsequence |
| resource | keyval |
| value | 3 |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Les mots de passe existants restent valides ; seuls les nouveaux mots de passe sont contraints. Les utilisateurs choisissant des mots de passe avec des suites supérieures à 3 (ex. abcde, 12345) seront rejetés. Le risque de blocage est minime. Notez que ce paramètre est indisponible sur AlmaLinux 9 (d'où son absence de supported_os) ; mettre maxsequence = 0 désactiverait le contrôle, confirmez donc que la valeur est 1..3.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 5.3.3.2.5 | direct | per OS, see the benchmark table | haute |
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.