← Toutes les règles
SOCLE-RUN-LOG-003// Logging (journald)moyenneconfig persistante

S'assurer que journald est configuré pour écrire les journaux sur un disque persistant

Définit Storage=persistent afin que journald écrive les journaux dans /var/log/journal et qu'ils survivent aux redémarrages au lieu de ne résider qu'en mémoire volatile.

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é →

Domaine partiellement couvert par Pavois aujourd’hui, voir la couverture.

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

Avec le comportement par défaut auto/volatile, les journaux peuvent ne résider que dans /run et disparaître au redémarrage. Les logs contiennent des données forensiques précieuses : s'ils ne sont pas persistants, un plantage, une coupure de courant ou un redémarrage provoqué par un attaquant efface les preuves nécessaires à l'investigation.

Ce que vérifie Pavois

Pavois recherche dans /etc/systemd/journald.conf et les drop-ins journald.conf.d/ un Storage=persistent actif. journald fusionnant les drop-ins par-dessus le fichier de base, scanner les deux donne le mode de stockage effectif, un drop-in à persistent surcharge correctement un auto/volatile de base.

describe command('grep -rqiE \'^[[:space:]]*Storage[[:space:]]*=[[:space:]]*persistent\b\' /etc/systemd/journald.conf /etc/systemd/journald.conf.d/ 2>/dev/null && echo ok || echo ko') do
  its('stdout.strip') { should eq 'ok' }
end

Comment vérifier qu’elle est appliquée

Exécutez grep -riE '^\s*Storage\s*=\s*persistent' /etc/systemd/journald.conf /etc/systemd/journald.conf.d/ et confirmez que /var/log/journal/ existe et contient des données (journalctl --disk-usage). Attendu : une ligne Storage=persistent correspondante et un /var/log/journal peuplé.

Inspecter et investiguer

Confirmez la persistance avec journalctl --disk-usage et listez les démarrages avec journalctl --list-boots, plusieurs démarrages passés prouvent que les logs survivent aux redémarrages. Le répertoire des journaux est /var/log/journal/ ; la config réside dans /etc/systemd/journald.conf et /etc/systemd/journald.conf.d/*.conf. Les redémarrages apparaissent via systemctl status systemd-journald.

Remédiation

Aucune remédiation automatique n'est fournie pour ce slug (remediation est vide) : appliquez manuellement. Ajoutez Storage=persistent sous [Journal] dans /etc/systemd/journald.conf.d/99-Pavois.conf, puis mkdir -p /var/log/journal et systemctl restart systemd-journald. (La règle journald-forwardtosyslog écrit ce même drop-in, incluant Storage=persistent, via pavois harden apply.)

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

content[Journal] Storage=persistent
grouproot
mode0644
ownerroot
path/etc/systemd/journald.conf.d/99-pavois-storage.conf
resourcefile
pavois harden plan local

où la cible est local, un alias SSH user@hôte, ou un conteneur , Docs

Impact & précautions

Des logs uniquement volatils signifient une perte de preuves forensiques après chaque redémarrage. Activer la persistance est peu risqué mais consomme du disque sous /var/log/journal. Précautions avant application : assurez-vous que /var (ou sa partition dédiée) dispose de marge et limitez la croissance avec SystemMaxUse=/SystemKeepFree= pour ne pas remplir la partition ; créez /var/log/journal avant le redémarrage afin que journald migre immédiatement. Redémarrer journald suspend brièvement les écritures de journaux.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS6.1.2.4, 6.2.2.4, 6.2.1.1.5directper 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