Vérifier le groupe propriétaire du répertoire /var/log
Garantit que chaque fichier sous /var/log a pour groupe propriétaire root, adm ou 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
L'arborescence /var/log contient les journaux système, d'authentification et d'audit qui ne doivent être accessibles qu'aux administrateurs autorisés. Un fichier de journal appartenant à un groupe autre que root, adm ou syslog peut être lu par les membres de ce groupe, exposant des messages d'erreur, des identifiants ou des données de session, ou modifié pour effacer les traces d'une attaque. Restreindre le groupe propriétaire préserve la confidentialité et l'intégrité de la piste d'audit.
Ce que vérifie Pavois
Pavois lance find /var/log -type f ! -group root ! -group adm ! -group syslog et attend une sortie vide. Auditer le système de fichiers réel détecte les journaux créés à l'exécution par les démons, les fichiers après rotation et les fichiers déposés manuellement qu'une liste statique ou une vérification de paquet manquerait.
describe command('timeout 90 find /var/log -type f ! -group root ! -group adm ! -group syslog ! -group utmp ! -group systemd-journal 2>/dev/null') do
its('exit_status') { should_not cmp 124 } # timeout killed the scan: no evidence, not a pass
its('stdout.strip') { should eq '' }
endComment vérifier qu’elle est appliquée
Lancez l'analyse manuellement :
find /var/log -type f ! -group root ! -group adm ! -group syslog
Sortie attendue : rien (vide). Inspectez tout fichier affiché avec ls -l <fichier>.
Inspecter et investiguer
Listez les fautifs et leur groupe via find /var/log -type f ! -group root ! -group adm ! -group syslog -printf '%g %p\n'. Après correction, vérifiez avec ls -lg /var/log/. Les changements de propriétaire ne sont enregistrés que si une surveillance auditd sur chgrp est configurée.
Remédiation
Aucun plan de durcissement automatisé n'est défini pour cette règle ; elle doit être appliquée manuellement. Réattribuez les fichiers fautifs avec chgrp root <fichier> (ou adm/syslog selon le cas). À noter : sur Debian/Ubuntu, la règle proche findloop-file-groupownerships-var-log fournit un correctif automatisé, cette variante RHEL/Ubuntu laisse volontairement la main à l'administrateur.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| command | find /var/log -type f ! -user root ! -user syslog -exec chown root {} + 2>/dev/null; find /var/log -type f ! -group root ! -group adm ! -group syslog ! -group utmp ! -group systemd-journal -exec chgrp root {} + 2>/dev/null; true |
|---|---|
| name | fix-varlog-ownership |
| not_if | test -z "$(find /var/log -type f \( ! -user root ! -user syslog -o ! -group root ! -group adm ! -group syslog ! -group utmp ! -group systemd-journal \) 2>/dev/null | head -1)" |
| resource | exec |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Risque en l'état : des journaux lisibles ou modifiables par un groupe non privilégié peuvent fuiter des secrets ou être altérés pour masquer une intrusion. Avant de corriger : certains services (base de données ou serveur web écrivant dans /var/log/<service>/) possèdent volontairement leurs journaux avec un groupe dédié ; forcer root:adm peut casser la rotation ou empêcher le démon d'écrire. Examinez les fichiers listés et excluez les sous-arborescences légitimes appartenant à un service au lieu de tout réécrire.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| ANSSI BP-028 | R71 | direct | 2.0 | haute |
| CIS | 6.1.4.1, 6.2.4.1, 6.2.6.1, 6.2.3.1, 6.2.2.1 | direct | per OS, see the benchmark table | haute |
| PCI DSS | 10.3.2 | support | 4.0.1 | moyenne |
| DISA STIG | UBTU-22-232125, UBTU-24-700100 | direct | per OS STIG release | 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.