Garantir que PAM impose des exigences de mot de passe - Minimum de caractères spéciaux
Force pam_pwquality à exiger au moins un caractère spécial ("autre") dans chaque nouveau mot de passe en posant ocredit = -1.
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 complexe augmente le temps et les ressources nécessaires pour le compromettre. Le paramètre ocredit contrôle la contribution des caractères spéciaux (ponctuation, symboles) à la robustesse : une valeur de -1 rend au moins un caractère spécial obligatoire. Les caractères spéciaux élargissent fortement l'espace de recherche par position, rendant les attaques par force brute et par dictionnaire bien plus coûteuses. Sans cela, les mots de passe limités aux lettres et chiffres cèdent bien plus vite.
Ce que vérifie Pavois
Pavois lit la valeur effective de ocredit à 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 lisant uniquement le fichier principal manquerait une surcharge placée dans un drop-in. Le contrôle passe uniquement quand la valeur résolue est <= -1.
describe command('v=$(grep -rh \'^[[:space:]]*ocredit[[:space:]]*=\' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ 2>/dev/null | tail -1 | grep -oE \'[-]?[0-9]+\'); { [ -n "$v" ] && [ "$v" -le -1 ] && echo ok; } || echo ko') do
its('stdout.strip') { should eq 'ok' }
endComment vérifier qu’elle est appliquée
Exécutez grep -rh '^[[:space:]]*ocredit' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/ | tail -1. La ligne effective doit indiquer ocredit = -1 (ou toute valeur <= -1).
Inspecter et investiguer
Les changements de mot de passe rejetés faute de caractère spécial sont journalisés via PAM dans /var/log/auth.log (Debian/Ubuntu) ou /var/log/secure (famille RHEL) avec des messages pam_pwquality. Inspectez le réglage actif avec grep -r ocredit /etc/security/pwquality.conf.d/.
Remédiation
pavois harden apply écrit ocredit = -1 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 | ocredit |
| resource | keyval |
| value | -1 |
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 doivent inclure un caractère spécial. Les utilisateurs choisissant des mots de passe purement alphanumériques seront rejetés. Le risque de blocage est faible, mais assurez-vous que vos outils de provisionnement et de rotation produisent des mots de passe avec au moins un symbole avant d'appliquer, et notez que certains systèmes anciens restreignent le jeu de symboles dans les identifiants partagés.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| ANSSI BP-028 | R31 | direct | 2.0 | haute |
| CIS | 5.3.3.2.3 | direct | per OS, see the benchmark table | haute |
| NIST | CM-6(a), IA-5(1)(a), IA-5(4), IA-5(c) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
| DISA STIG | UBTU-22-611025, UBTU-24-400330 | direct | per OS STIG release | 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.