← Toutes les règles
SOCLE-CLD-IAM-020// Accounts (login.defs)moyenneconfig persistante

Définir la longueur minimale des mots de passe dans login.defs

Impose une longueur minimale de mot de passe de 15 caractères via la directive PASS_MIN_LEN dans /etc/login.defs.

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.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 2 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

Exiger une longueur minimale de mot de passe rend les attaques par cassage (force brute et dictionnaire) bien plus difficiles en agrandissant l'espace de recherche que l'attaquant doit explorer. Les mots de passe courts sont devinés trivialement hors ligne dès qu'un hachage fuit. Le bénéfice d'une exigence de longueur contraignante doit être pondéré par le coût en ergonomie et en support, mais un plancher de 15 caractères est une base largement admise.

Ce que vérifie Pavois

Pavois lit la valeur résolue PASS_MIN_LEN de /etc/login.defs via la ressource InSpec login_defs et vérifie qu'elle est >= 15. C'est la valeur réellement consultée par useradd/passwd, donc Pavois rapporte la politique effective plutôt que de la déduire d'un commentaire ou d'un fichier de documentation obsolète.

describe login_defs do
  its('PASS_MIN_LEN') { should cmp >= {'bp28'=>15,'nist'=>12}.fetch(input('pavois_standard', value: '_default'), 15) }
end

Comment vérifier qu’elle est appliquée

Exécutez grep '^PASS_MIN_LEN' /etc/login.defs. La sortie attendue est PASS_MIN_LEN 15 (ou une valeur supérieure).

Inspecter et investiguer

Les changements de mot de passe sont enregistrés dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (RHEL). Un mot de passe trop court rejeté par passwd y est journalisé. Inspectez la valeur active avec grep PASS_MIN_LEN /etc/login.defs.

Remédiation

Aucun plan de durcissement automatisé n'est fourni pour cette règle, elle doit donc être appliquée manuellement : positionnez PASS_MIN_LEN 15 dans /etc/login.defs. Notez que sur les systèmes modernes c'est pam_pwquality/pam_unix (option minlen) qui fait autorité pour les changements interactifs ; alignez les deux.

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

file/etc/login.defs
keyPASS_MIN_LEN
resourceconf_line
sepspace
value15
pavois harden plan local

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

Impact & précautions

Un plancher faible (par ex. l'historique par défaut de 5) laisse les utilisateurs conserver des mots de passe trivialement cassables, sapant tous les autres contrôles d'authentification. Avant de relever la valeur, communiquez la nouvelle exigence aux utilisateurs et vérifiez que pam_pwquality minlen concorde, sinon les utilisateurs seront déroutés quand passwd refusera des mots de passe acceptés ailleurs. Le changement est non perturbateur : les mots de passe existants restent valides jusqu'au prochain changement, sans risque de verrouillage.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R31direct2.0haute
NIST3.5.7, CM-6(a), IA-5(1)(a), IA-5(f)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne

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