Placer /var sur une partition distincte
Monte /var sur un système de fichiers dédié afin d'isoler les données variables et d'empêcher que leur croissance 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 sur sa propre partition permet d'appliquer des options de montage plus restrictives (par ex. nodev, nosuid) et protège les services système (démons et autres programmes) qui y écrivent. /var contient fréquemment des répertoires accessibles en écriture à tous, installés par d'autres paquets ; l'isoler empêche qu'un afflux de fichiers ne sature le système de fichiers racine et ne fasse planter tout le système.
Ce que vérifie Pavois
Pavois lit la table de montage effective via la ressource mount('/var') (findmnt / /proc/self/mountinfo), et non /etc/fstab. fstab n'enregistre qu'une intention, un montage peut échouer silencieusement au démarrage ou être masqué par une unité systemd .mount. Vérifier l'état réel du noyau prouve que /var est actuellement un système de fichiers monté séparément.
describe mount('/var') do
it { should be_mounted }
endComment vérifier qu’elle est appliquée
Exécutez findmnt /var. Une ligne renvoyée confirme que /var est son propre système de fichiers monté. Une sortie vide signifie que /var réside sur la partition racine et que la règle échoue.
Inspecter et investiguer
Vérifiez findmnt /var et df -h /var pour l'usage courant. Les problèmes de montage au démarrage apparaissent dans journalctl -b | grep -i var et systemctl status var.mount.
Remédiation
Il n'existe aucun plan de durcissement automatisé : extraire /var sur un système en fonctionnement est perturbant (des services y écrivent en permanence) et risqué. Appliquez-la manuellement, idéalement à l'installation, en attribuant à /var une partition ou un volume LVM dédié 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 should be its OWN filesystem (isolation + mount options). This needs (re)partitioning , # offline disk/LVM work, not a safe runtime change. findmnt /var >/dev/null 2>&1 && echo '/var is already a mount point' || echo '/var is NOT separate' # Then: dedicate an LVM volume / disk to /var and add it to /etc/fstab. |
|---|---|
| reason | a separate /var 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 séparé, des journaux envahissants, des spools de courrier, des caches de paquets ou des couches de conteneurs peuvent saturer le système de fichiers racine et mettre tout l'hôte hors service. Précautions avant migration : /var est sollicité en écriture en permanence ; déplacez-le services arrêtés (mode mono-utilisateur ou démarrage de secours), copiez les données avec rsync -aHAX pour préserver propriétaires/ACL, dimensionnez-le généreusement et conservez un accès console/secours au cas où le nouveau 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.4.1 | direct | per OS, see the benchmark table | haute |
| NIST | 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.