← Toutes les règles
SOCLE-CLD-FSP-095// File ownershipfaibleétat du système de fichiers

Vérifier l'utilisateur propriétaire des fichiers System.map

Garantit que le répertoire /boot (qui contient System.map et le noyau) appartient à root (uid 0).

Vérifié sur les métadonnées d’un chemin, mode, propriétaire, groupe, SUID/SGID.

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

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

Les fichiers System.map (sous /boot) associent les symboles du noyau à des adresses et existent principalement pour le débogage et le profilage. Exposés à un attaquant, ils révèlent l'agencement exact du noyau, facilitant le développement d'exploits fiables (par ex. contourner KASLR ou localiser des fonctions pour un rootkit). Le répertoire /boot contient aussi le noyau, l'initramfs et la configuration du chargeur d'amorçage. S'ils appartiennent à un utilisateur non-root, ils peuvent être lus à des fins de reconnaissance ou modifiés pour compromettre la chaîne de démarrage. Conserver /boot sous la propriété de root (uid 0) réserve ce matériel sensible au superutilisateur.

Ce que vérifie Pavois

Pavois vérifie que le répertoire réel /boot a l'uid de propriétaire 0, ignoré via only_if s'il est absent. Il lit le propriétaire effectif depuis le système de fichiers (stat), de sorte qu'un chown manuel sur le matériel de démarrage est détecté même si aucun outil de gestion de configuration ne signale de dérive.

describe command("find /boot -maxdepth 1 -name 'System.map-*' ! -user root 2>/dev/null") do
  its('stdout.strip') { should eq '' }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%U %u' /boot. Sortie attendue : root 0. Pour couvrir spécifiquement les fichiers System.map, exécutez find /boot -name 'System.map*' -not -user root, il ne doit rien afficher.

Inspecter et investiguer

La propriété ne génère pas de journal continu ; interrogez-la avec stat /boot. Si /boot est surveillé par auditd (auditctl -w /boot -p wa), les changements de propriété ou de contenu apparaissent dans /var/log/audit/audit.log, recherchez directement dans le journal brut, par ex. grep System.map /var/log/audit/audit.log.

Remédiation

Aucun plan de durcissement automatisé n'est défini, appliquez-la donc manuellement : chown root:root /boot et, pour les tables de symboles, chown root:root /boot/System.map*.

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

commandfind /boot -maxdepth 1 -name 'System.map-*' -exec chown root {} + 2>/dev/null; true
namesystemmap-user
not_iftest -z "$(find /boot -maxdepth 1 -name 'System.map-*' ! -user root 2>/dev/null)"
resourceexec
pavois harden plan local

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

Impact & précautions

Un propriétaire non-root de /boot peut lire l'agencement des symboles du noyau (aidant au développement d'exploits) ou falsifier la chaîne de démarrage. Restaurer la propriété root est sans danger et n'affecte pas un système en fonctionnement. Précaution : en corrigeant la propriété, n'assouplissez pas les permissions, les fichiers System.map et l'image du noyau doivent rester lisibles uniquement par root (mode 0600/0644 selon le référentiel) afin que l'agencement des symboles ne soit pas divulgué ; évitez chown -R sur une partition EFI montée séparément (/boot/efi est généralement en VFAT et insensible au propriétaire).

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R29direct2.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