Définir l'algorithme de hachage des mots de passe dans /etc/login.defs
Garantit que ENCRYPT_METHOD dans /etc/login.defs vaut SHA512, afin que les nouveaux hachages de mots de passe utilisent un algorithme fort.
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
Les mots de passe doivent être protégés en permanence, et le hachage est la méthode standard pour les protéger. Un mot de passe haché avec un algorithme faible n'est pas mieux protégé qu'en clair. Définir ENCRYPT_METHOD sur SHA512 garantit que les mots de passe nouveaux ou modifiés utilisent un hachage fort, rendant les attaques de cassage hors-ligne beaucoup plus coûteuses.
Ce que vérifie Pavois
Pavois utilise la ressource InSpec login_defs pour lire la valeur effective résolue de ENCRYPT_METHOD, en analysant /etc/login.defs comme le font réellement les outils de mot de passe (la dernière valeur l'emporte, commentaires ignorés). Cela reflète la valeur que passwd/chpasswd utiliseront, plutôt qu'un grep naïf qui pourrait correspondre à une ligne commentée ou écrasée.
describe login_defs do
its('ENCRYPT_METHOD') { should match(/\A(SHA512|YESCRYPT)\z/i) }
endComment vérifier qu’elle est appliquée
grep -i '^ENCRYPT_METHOD' /etc/login.defsdoit afficherENCRYPT_METHOD SHA512.- Après définition d'un nouveau mot de passe,
getent shadow <user>doit montrer un hachage commençant par$6$(SHA512).
Inspecter et investiguer
grep -i ENCRYPT_METHOD /etc/login.defsmontre l'algorithme configuré.getent shadow <user>révèle le préfixe du hachage réel ($6$= SHA512,$y$= yescrypt).journalctl /usr/sbin/sshd//var/log/auth.logenregistrent les changements de mot de passe via PAM.
Remédiation
Aucun plan de durcissement automatisé n'est défini pour cette règle, elle doit donc être appliquée manuellement : définissez ENCRYPT_METHOD SHA512 dans /etc/login.defs (ou reposez-vous sur le défaut PAM pam_unix sha512/yescrypt des distributions récentes). Le changement n'affecte que les mots de passe définis ou modifiés ensuite ; les hachages existants ne sont pas re-hachés tant que chaque utilisateur ne change pas son mot de passe.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| file | /etc/login.defs |
|---|---|
| key | ENCRYPT_METHOD |
| resource | conf_line |
| sep | space |
| value | YESCRYPT |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Risque opérationnel négligeable, SHA512 est le défaut sur toutes les distributions prises en charge. Note : le changement n'agit que vers l'avenir, les comptes existants conservent leur ancien hachage jusqu'au prochain changement de mot de passe ; forcez une rotation si chaque compte doit être conforme immédiatement. Sur les distributions qui utilisent yescrypt par défaut ($y$), confirmez que votre politique accepte SHA512 plutôt que yescrypt avant de forcer cette valeur.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 5.4.1.4, 8.3.2 | direct | per OS, see the benchmark table | haute |
| NIST | 3.13.11, CM-6(a), IA-5(1)(c), IA-5(c) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
| PCI DSS | 8.3.2 | support | 4.0.1 | moyenne |
| DISA STIG | UBTU-22-611070, UBTU-24-400400 | 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.