← Toutes les règles
SOCLE-CLD-FSP-084// File ownershipmoyenneétat du système de fichiers

Vérifier l'utilisateur propriétaire du fichier /etc/security/opasswd

Garantit que le fichier d'historique des mots de passe /etc/security/opasswd appartient à root (UID 0).

Vérifié sur les métadonnées d’un chemin, mode, propriétaire, groupe, SUID/SGID.

Un PASS prouve✓ actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
Un seul check, mappé sur 1 norme

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

Le fichier /etc/security/opasswd est maintenu par pam_pwhistory/pam_unix et stocke les empreintes des anciens mots de passe pour appliquer la politique de non-réutilisation (historique). Si un compte non-root le possède, cet utilisateur pourrait lire ces empreintes (alimentant un cassage hors-ligne) ou falsifier l'historique pour contourner les règles de réutilisation. Définir root (UID 0) comme propriétaire maintient ce fichier sensible sous contrôle privilégié exclusif.

Ce que vérifie Pavois

Pavois inspecte le système de fichiers réel via la ressource InSpec file('/etc/security/opasswd') et vérifie uid == 0, protégé par only_if afin d'être ignoré si le fichier d'historique n'a pas encore été créé. Lire le propriétaire réel de l'inode reflète l'état effectif sur le disque et détecte un chown qu'un attaquant utiliserait pour exfiltrer d'anciennes empreintes de mots de passe.

only_if { file('/etc/security/opasswd').exist? }
describe file('/etc/security/opasswd') do
  its('uid') { should eq 0 }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%U %u %n' /etc/security/opasswd. Sortie attendue : root 0 /etc/security/opasswd. Le 0 numérique confirme la propriété par root.

Inspecter et investiguer

Surveillez le fichier avec auditctl -w /etc/security/opasswd -p wa -k password-history et inspectez /var/log/audit/audit.log (grep 'key="password-history"'). Les changements de mot de passe qui le mettent à jour sont journalisés par PAM dans /var/log/auth.log / journalctl (passwd, pam_unix).

Remédiation

Aucune remédiation automatisée n'est fournie pour cette règle. Appliquez-la manuellement avec chown root /etc/security/opasswd (en root ou via sudo) ; le fichier doit être en groupe root et mode 0600 pour garder les empreintes illisibles.

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

ownerroot
path/etc/security/opasswd
resourcefile
pavois harden plan local

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

Impact & précautions

Un propriétaire non-root peut lire ou falsifier les empreintes stockées, affaiblissant la politique de non-réutilisation et exposant des données d'authentification. Risque à l'application : nul, chown root n'affecte pas la capacité de PAM à lire/mettre à jour le fichier. Précaution : veillez à ce que le mode reste restrictif (0600) ; ne rendez jamais ce fichier lisible par le groupe ou par tous.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS7.1.10directper OS, see the benchmark tablehaute

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