← Toutes les règles
// Hardening (posture)faibleruntime effectif

Les systèmes de fichiers temporaires sont nettoyés (systemd-tmpfiles)

Exige que systemd-tmpfiles-clean.timer soit actif, afin que /tmp et /var/tmp soient purgés selon les règles tmpfiles.d au lieu de croître sans limite. Ce contrôle natif pavois de la famille growth-* suit la règle de la famille : tout système de fichiers que pavois sépare (et la recette de partitionnement pavois sépare /tmp et /var/tmp) doit porter un mécanisme qui l'empêche de se remplir.

Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.

Un PASS prouve✓ actif maintenant✓ sur disque✓ survit au rebootle verdict qualifié →
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

Ce que vérifie Pavois

Pavois demande à systemd l'état à l'exécution de la minuterie (systemctl is-active systemd-tmpfiles-clean.timer), qui doit valoir exactement active. Une minuterie peut exister sur le disque tout en étant disabled, masked, ou n'avoir jamais été démarrée : seul l'état résolu prouve que le nettoyage se déclenchera. Le contrôle audite le nettoyeur, pas la taille actuelle de /tmp, car un /tmp vide aujourd'hui ne dit rien de celui qui se remplira dans trois semaines.

describe command('systemctl is-active systemd-tmpfiles-clean.timer 2>/dev/null') do
  its('stdout.strip') { should eq 'active' }
end

Comment vérifier qu’elle est appliquée

Vérifiez la minuterie et sa prochaine échéance, puis simulez le nettoyage :

systemctl is-active systemd-tmpfiles-clean.timer
systemctl list-timers systemd-tmpfiles-clean.timer --all
systemd-tmpfiles --clean --dry-run

La simulation affiche exactement les entrées que la prochaine passe supprimerait, et sous quelle règle tmpfiles.d.

Inspecter et investiguer

Chaque passe est journalisée par journalctl -u systemd-tmpfiles-clean.service, à raison d'une ligne par chemin supprimé. Ce journal d'unité constitue la piste d'audit : il montre ce qui a été supprimé et quand, exactement ce dont vous avez besoin le jour où un service se plaint que son fichier d'état a disparu de /tmp.

Remédiation

Pavois gère systemd-tmpfiles-clean.timer comme une ressource de service avec les actions enable et start : la minuterie est activée pour le prochain démarrage et démarrée dans le système courant, de sorte que le nettoyage n'attend pas un redémarrage. La politique de vieillissement n'est pas surchargée : pavois s'appuie sur les règles tmpfiles.d de la distribution (typiquement 10 jours pour /tmp, 30 pour /var/tmp), qui restent à votre main.

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

actionenable, start
namesystemd-tmpfiles-clean.timer
resourceservice
pavois harden plan local

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

Impact & précautions

Une fois la minuterie active, les fichiers de /tmp et /var/tmp plus vieux que l'âge configuré sont supprimés. Les applications qui conservent (à tort) des sockets, verrous ou états durables sous /tmp peuvent casser dès la première passe. Inventoriez-les avant l'activation, puis déplacez l'état persistant vers /run (volatil) ou /var/lib (durable), ou taillez une exemption avec votre propre règle tmpfiles.d. C'est la version peu coûteuse d'une leçon que la famille growth-* a apprise cher : un hôte durci dont le système de fichiers de journaux séparé a atteint 100 % et coupait la machine six secondes après chaque démarrage, tous contrôles au vert.

0