← Toutes les règles
SOCLE-CLD-FSP-044// File ownershipmoyenneconfig persistante

Vérifier le groupe propriétaire du fichier /var/log/lastlog

Garantit que /var/log/lastlog appartient au groupe utmp afin que les données de comptabilité des connexions restent exactes et résistantes à l'altération.

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.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

/var/log/lastlog enregistre la dernière connexion de chaque utilisateur et est consulté à l'ouverture de session. Son groupe attendu est utmp afin que le sous-système de comptabilité des connexions puisse le mettre à jour tandis que les utilisateurs ordinaires ne peuvent pas le réécrire. Un mauvais groupe pourrait permettre à un attaquant de falsifier les enregistrements de dernière connexion pour masquer un accès non autorisé, ou de lire les habitudes de connexion. Définir le groupe sur utmp maintient une comptabilité des connexions exacte et résistante à l'altération.

Ce que vérifie Pavois

Pavois lit l'appartenance de groupe résolue de /var/log/lastlog via la ressource InSpec file et vérifie que le groupe est utmp. Il inspecte les métadonnées réelles de l'inode, ce qui reflète la propriété réelle du fichier plutôt qu'une valeur par défaut de paquet, important car l'outillage de connexion peut recréer le fichier.

only_if { file('/var/log/lastlog').exist? }
describe file('/var/log/lastlog') do
  its('group') { should be_in ['root', 'utmp'] }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%G' /var/log/lastlog. La sortie attendue est :

  • utmp

Affichez-le avec ls -l /var/log/lastlog, et consultez son contenu avec la commande lastlog.

Inspecter et investiguer

Ce fichier est la base des dernières connexions : lisez-le avec lastlog (dernière connexion par utilisateur) et recoupez les sessions actives avec last (depuis /var/log/wtmp) et who. Pour tracer les changements de permissions, ajoutez une surveillance auditd (auditctl -w /var/log/lastlog -p wa -k logperms) et recherchez key="logperms" dans /var/log/audit/audit.log.

Remédiation

Pas de remédiation automatique pour cette règle, à appliquer manuellement selon la norme.

Impact & précautions

Un mauvais groupe peut permettre à un attaquant de falsifier ou de lire les enregistrements de dernière connexion, affaiblissant la détection d'intrusion. La correction ne modifie que le groupe propriétaire ; elle ne perturbe pas les connexions. Précaution : conservez le groupe utmp, et non root, la pile PAM/login s'appuie sur le groupe utmp pour mettre à jour le fichier, et forcer root pourrait casser l'enregistrement des dernières connexions. Notez que les systèmes récents peuvent utiliser /var/log/lastlog2 (une base SQLite) ; vérifiez quel fichier est utilisé avant d'ajuster.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS6.1.4.1, 6.2.2.1directper 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