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

Vérifier l'utilisateur propriétaire du fichier /var/log/waagent.log

Garantit que le journal de l'agent invité Azure /var/log/waagent est détenu par l'utilisateur syslog.

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.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/waagent.log est écrit par l'agent invité Linux Azure et enregistre le provisionnement, les installations d'extensions et l'activité de l'agent, des données pouvant révéler la configuration cloud de l'hôte et, occasionnellement, des détails d'amorçage sensibles. S'il n'appartient pas à syslog, un utilisateur non privilégié pourrait lire ces renseignements opérationnels ou altérer le journal pour masquer la façon dont la VM a été configurée ou compromise.

Ce que vérifie Pavois

Pavois vérifie que le propriétaire de /var/log/waagent est syslog, uniquement lorsque le fichier existe (only_if), waagent n'étant présent que sur les VM Azure. Il lit le propriétaire réel (stat) sur la cible plutôt qu'une valeur par défaut, ainsi un chown issu de l'agent, de la rotation ou d'un script de déploiement est détecté comme l'état effectif sur le disque.

only_if { file('/var/log/waagent.log').exist? }
describe command("stat -c %U /var/log/waagent.log 2>/dev/null") do
  its('stdout.strip') { should be_in ['root', 'syslog'] }
end

Comment vérifier qu’elle est appliquée

Confirmez le propriétaire avec :

stat -c '%U' /var/log/waagent.log

La sortie attendue est syslog.

Inspecter et investiguer

Ce fichier est lui-même le journal de l'agent. Inspectez la propriété et le contenu :

ls -l /var/log/waagent.log
tail -n 50 /var/log/waagent.log

L'état de l'agent est affiché par systemctl status walinuxagent (ou waagent). Les changements de propriété peuvent être suivis avec grep 'waagent' /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/waagent sur syslog. Lancez pavois harden apply pour l'appliquer, le moteur Chef exécute l'équivalent de chown syslog /var/log/waagent, sans toucher au contenu ni au groupe.

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

commandchown root /var/log/waagent.log 2>/dev/null; true
namelog-owner-var-log-waagent.log
not_ifstat -c %U /var/log/waagent.log 2>/dev/null | grep -qxE 'root|syslog'
path/var/log/waagent.log
resourceexec
pavois harden plan local

où 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 expose les détails de provisionnement Azure et permet à un processus hors journalisation d'altérer le journal de l'agent, masquant la configuration ou la compromission de la VM.

Précautions avant application : le changement est à faible risque. Notez que l'agent invité Azure (waagent) s'exécute et écrit généralement son journal en root, et non syslog ; sur une véritable VM Azure, forcer le propriétaire à syslog ne correspond au référentiel que si rsyslog est configuré pour posséder le fichier, vérifiez que l'agent peut toujours écrire après application afin de ne pas perturber le provisionnement. La garde only_if ignore entièrement les hôtes non-Azure.

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