Vérifier l'utilisateur propriétaire du fichier /var/log/localmessages
Garantit que /var/log/localmessages (facilités syslog locales) est détenu par l'utilisateur syslog.
Vérifié sur les métadonnées d’un chemin, mode, propriétaire, groupe, SUID/SGID.
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/localmessages rassemble les messages des facilités syslog locales (local0:local7), utilisées par les scripts de démarrage, le client DHCP et de nombreux services tiers. S'il n'appartient pas à syslog, un processus non privilégié ou compromis pourrait altérer ou supprimer ces enregistrements, masquant l'activité des services qui y journalisent et affaiblissant la piste d'audit du système.
Ce que vérifie Pavois
Pavois vérifie que le propriétaire de /var/log/localmessages est syslog, uniquement lorsque le fichier existe (only_if). Il lit le propriétaire réel (stat) sur la cible, pas un modèle logrotate, ainsi un chown introduit par la rotation, un hook de paquet ou un service défaillant est détecté comme l'état effectif sur le disque.
only_if { file('/var/log/localmessages').exist? }
describe command("stat -c %U /var/log/localmessages 2>/dev/null") do
its('stdout.strip') { should be_in ['root', 'syslog'] }
endComment vérifier qu’elle est appliquée
Confirmez le propriétaire avec :
stat -c '%U' /var/log/localmessages
La sortie attendue est syslog.
Inspecter et investiguer
Ce fichier est lui-même un journal. Inspectez la propriété et le contenu :
ls -l /var/log/localmessages
tail -n 50 /var/log/localmessages
L'écrivain est rsyslog (systemctl status rsyslog). Les changements de propriété peuvent être suivis avec grep 'localmessages' /var/log/audit/audit.log si des surveillances auditd sont configurées.
Remédiation
Le plan de durcissement de Pavois utilise une ressource file pour définir le propriétaire de /var/log/localmessages sur syslog. Lancez pavois harden apply pour l'appliquer, le moteur Chef exécute l'équivalent de chown syslog /var/log/localmessages, sans toucher au contenu ni au groupe.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| command | chown root /var/log/localmessages 2>/dev/null; true |
|---|---|
| name | log-owner-var-log-localmessages |
| not_if | stat -c %U /var/log/localmessages 2>/dev/null | grep -qxE 'root|syslog' |
| path | /var/log/localmessages |
| resource | exec |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Conséquences en cas de mauvaise configuration : une propriété erronée permet à un processus hors journalisation d'altérer les messages des scripts de démarrage et des services locaux, masquant leur activité.
Précautions avant application : le changement est sûr, rsyslog s'exécute sous syslog et continue d'écrire normalement. Assurez-vous que l'utilisateur syslog existe ; la garde only_if ignore les hôtes sans ce fichier (il est créé par une règle rsyslog que toutes les distributions ne fournissent pas), donc le correctif est inerte là où il ne s'applique pas.
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.