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 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'] }
endComment 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
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 6.1.4.1, 6.2.2.1 | direct | per OS, see the benchmark table | 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.