Placer /var/log sur une partition distincte
Monte /var/log sur un système de fichiers dédié afin de contenir la croissance des journaux et d'éviter qu'elle ne sature la partition racine.
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.
Pavois vérifie la configuration effective, l’état résolu et réellement appliqué, pas un fichier. Les scanners basés fichier (OVAL/SCAP, Lynis) ratent les Include, drop-ins et défauts runtime ; ce check voit ce qui est réellement en vigueur.
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
Monter /var/log sur sa propre partition sépare les journaux des autres données de /var et empêche qu'une journalisation incontrôlée ne sature le système de fichiers racine, ce qui ferait planter les services et exclurait les administrateurs. Une partition dédiée permet aussi d'appliquer des options de montage restrictives et préserve les journaux nécessaires aux investigations d'incident.
Ce que vérifie Pavois
Pavois lit la table de montage effective via la ressource mount('/var/log') (findmnt / /proc/self/mountinfo), et non /etc/fstab. fstab n'enregistre qu'une intention, un montage peut échouer au démarrage ou être masqué par un autre montage. Inspecter l'état réel du noyau prouve que /var/log est actuellement un système de fichiers monté séparément.
describe mount('/var/log') do
it { should be_mounted }
endComment vérifier qu’elle est appliquée
Exécutez findmnt /var/log. Une ligne renvoyée confirme un système de fichiers dédié ; une sortie vide signifie que /var/log partage /var ou /, et la règle échoue.
Inspecter et investiguer
Confirmez avec findmnt /var/log et surveillez l'usage avec df -h /var/log. Les journaux système résident sous /var/log/ (par ex. /var/log/syslog, journalctl --disk-usage pour l'empreinte du journal).
Remédiation
Il n'existe aucun plan de durcissement automatisé : séparer /var/log nécessite un repartitionnement, impossible à réaliser sans risque sur un système en fonctionnement. Appliquez-la manuellement, idéalement à l'installation, en attribuant à /var/log sa propre partition ou volume LVM et en le déclarant dans /etc/fstab.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| command | # /var/log should be its OWN filesystem (isolation + mount options). This needs (re)partitioning , # offline disk/LVM work, not a safe runtime change. findmnt /var/log >/dev/null 2>&1 && echo '/var/log is already a mount point' || echo '/var/log is NOT separate' # Then: dedicate an LVM volume / disk to /var/log and add it to /etc/fstab. |
|---|---|
| reason | a separate /var/log filesystem needs partitioning/LVM/tmpfs, not a safe runtime change |
| resource | manual |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Sans /var/log séparé, un service verbeux ou une attaque par saturation de journaux peut remplir le système de fichiers racine et mettre l'hôte hors ligne. Précautions avant migration : déplacez les données avec les services de journalisation arrêtés (ou systemctl stop rsyslog systemd-journald momentanément), copiez avec rsync -aHAX pour conserver les permissions, restaurez les contextes SELinux le cas échéant (restorecon -R /var/log), dimensionnez le volume selon votre rétention et conservez un accès console/secours au cas où le montage échouerait au démarrage.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| ANSSI BP-028 | R28 | direct | 2.0 | haute |
| CIS | 1.1.2.6.1 | direct | per OS, see the benchmark table | haute |
| NIST | AU-4, CM-6(a), SC-5(2) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
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.