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

Vérifier que les fichiers de bibliothèques partagées appartiennent à root

S'assurer que chaque fichier sous le répertoire de bibliothèques partagées /lib 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é →
FedoraRHEL 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 2 normes

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 des répertoires de bibliothèques partagées sont chargés dans l'espace d'adressage des processus (y compris privilégiés) et du noyau lui-même à l'exécution. Si un utilisateur non-root en possède un, il peut le réécrire et injecter du code s'exécutant avec les privilèges de chaque processus chargeant la bibliothèque, l'appartenance à root est indispensable pour protéger l'intégrité du système.

Ce que vérifie Pavois

Pavois exécute find -P /lib -type f ! -user 0 et attend aucune sortie, tout fichier n'appartenant pas à l'UID 0 constitue une non-conformité. Il énumère les inodes réellement présents sur disque (l'appartenance effective vue par le chargeur), et non un manifeste de paquet, ce qui détecte les fichiers ajoutés ou ré-attribués après l'installation.

only_if { command('test -d /lib').exit_status.zero? }
describe command('timeout 60 find -P /lib -type f ! -user 0 -print -quit 2>/dev/null') do
  its('exit_status') { should_not cmp 124 }  # timeout killed the scan: no evidence, not a pass
  its('stdout.strip') { should eq '' }
end

Comment vérifier qu’elle est appliquée

Exécutez find -P /lib -type f ! -user 0, il ne doit rien afficher. Toute ligne affichée correspond à un fichier de bibliothèque n'appartenant pas à root qui doit être corrigé.

Inspecter et investiguer

Vérifiez l'appartenance fournie par les paquets avec dpkg -V (Debian/Ubuntu) ou rpm -Va (RHEL/Fedora), qui signalent les dérives d'appartenance/permissions. Listez les fichiers fautifs avec find -P /lib -type f ! -user 0 -printf '%u %p\n'.

Remédiation

Pas de remédiation automatique pour cette règle, à appliquer manuellement selon la norme.

Impact & précautions

Ce qui peut casser : très peu, chown root sur des fichiers de bibliothèque ne fait que retirer une appartenance non standard et affecte rarement le fonctionnement. Le vrai risque est de masquer un problème : une bibliothèque n'appartenant pas à root signale souvent un paquet compromis ou un installeur défaillant, donc enquêtez sur la cause avant de ré-attribuer. Précautions : examinez d'abord chaque fichier fautif ; s'il provient d'un paquet tiers, réinstallez ce paquet plutôt que de seulement changer l'appartenance, afin de restaurer à la fois les permissions et le contenu.

Mapping des normes

NormeRéférenceTypeVersionConfiance
NISTAC-6(1), CM-5(6), CM-5(6).1, CM-6(a)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne
DISA STIGUBTU-22-232070, UBTU-24-300007directper OS STIG releasehaute

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