← Toutes les règles
SOCLE-CLD-MNT-034// Mountsmoyenneruntime effectif

Placer /usr sur une partition distincte

Monte /usr sur un système de fichiers dédié afin d'isoler les binaires système et de les protéger par des options de montage restrictives.

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
Un seul check, mappé sur 1 norme

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

Le répertoire /usr contient les logiciels système, les utilitaires et les fichiers partagés. Le placer sur sa propre partition permet d'en limiter la taille et, surtout, d'appliquer des options de montage restrictives. Comme /usr est en grande partie en lecture seule à l'exécution, c'est un candidat idéal pour un montage ro ou nodev, qui bloque les ruses de nœuds de périphériques et les écritures inattendues sur les binaires qu'un attaquant chercherait à altérer.

Ce que vérifie Pavois

Pavois vérifie la table de montage effective via la ressource mount('/usr') (qui s'appuie sur findmnt / /proc/self/mountinfo), et non /etc/fstab. C'est important car fstab décrit une intention : une ligne peut être présente alors que le montage a échoué au démarrage, a été surchargé par une unité systemd .mount ou redirigé par un bind-mount. Auditer l'état de montage réel du noyau confirme que /usr est bel et bien un système de fichiers monté séparément à l'instant T.

describe mount('/usr') do
  it { should be_mounted }
end

Comment vérifier qu’elle est appliquée

Exécutez findmnt /usr (ou mount | grep ' /usr '). La commande doit renvoyer une ligne montrant /usr avec son propre périphérique/système de fichiers. L'absence de sortie signifie que /usr fait partie du système de fichiers racine et que la règle échoue.

Inspecter et investiguer

Inspectez l'état de montage réel avec findmnt /usr et cat /proc/mounts | grep /usr. Les échecs de montage au démarrage sont visibles via journalctl -b | grep -i usr et l'état de l'unité systemd associée avec systemctl status usr.mount.

Remédiation

Il n'existe aucun plan de durcissement automatisé pour cette règle : repartitionner un système en cours d'exécution est destructeur et ne peut être réalisé en place sans risque. Elle doit être appliquée manuellement, généralement à l'installation, en allouant une partition (ou un volume LVM) dédiée à /usr et en ajoutant son entrée dans /etc/fstab.

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

command# /usr should be its OWN filesystem (isolation + mount options). This needs (re)partitioning , # offline disk/LVM work, not a safe runtime change. findmnt /usr >/dev/null 2>&1 && echo '/usr is already a mount point' || echo '/usr is NOT separate' # Then: dedicate an LVM volume / disk to /usr and add it to /etc/fstab.
reasona separate /usr filesystem needs partitioning/LVM/tmpfs, not a safe runtime change
resourcemanual
pavois harden plan local

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

Impact & précautions

Si /usr n'est pas séparé, vous perdez la possibilité de le monter en ro/nodev et une écriture incontrôlée ailleurs pourrait en théorie l'affecter. Précautions avant migration : monter /usr en ro peut casser les mises à jour de paquets et tout outillage qui écrit sous /usr ; l'environnement de démarrage précoce (initramfs) doit pouvoir monter /usr avant que systemd n'en ait besoin, sinon le système ne démarre pas. Repartitionner risque une perte de données, réalisez une sauvegarde complète et disposez d'un accès console/secours avant de modifier l'agencement, et privilégiez l'installation pour le faire.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R28direct2.0haute

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