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

Vérifier le propriétaire de /boot/efi/EFI/redhat/user.cfg

Garantit que le fichier de mot de passe GRUB /boot/efi/EFI/redhat/user.cfg appartient à l'utilisateur 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.0
Un seul check, mappé sur 3 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

/boot/efi/EFI/redhat/user.cfg stocke le hash du mot de passe du chargeur GRUB (GRUB2_PASSWORD). Seul root doit pouvoir modifier ces paramètres d'amorçage. Si un utilisateur non root possède ce fichier, il pourrait supprimer ou remplacer le mot de passe et contourner la protection au démarrage ; même un accès en lecture permet à un attaquant de récupérer le hash pour un cassage hors ligne, ou de repérer des faiblesses de sécurité à exploiter au démarrage.

Ce que vérifie Pavois

Pavois interroge l'inode réel de /boot/efi/EFI/redhat/user.cfg et vérifie que son propriétaire est l'UID 0. Le contrôle est ignoré lorsque le fichier est absent (aucun mot de passe GRUB configuré). Lire les métadonnées réelles du système de fichiers reflète la propriété effective en vigueur, et non une valeur par défaut issue d'un gabarit.

only_if { file('/boot/efi/EFI/redhat/user.cfg').exist? }
describe file('/boot/efi/EFI/redhat/user.cfg') do
  its('uid') { should eq 0 }
end

Comment vérifier qu’elle est appliquée

Exécutez stat -c '%U %u' /boot/efi/EFI/redhat/user.cfg. La sortie attendue est root 0.

Inspecter et investiguer

Il n'existe pas de journal d'exécution pour ce fichier statique. Pour détecter une altération, posez une surveillance audit : auditctl -w /boot/efi/EFI/redhat/user.cfg -p wa -k grub, puis examinez les événements dans /var/log/audit/audit.log (recherchez key="grub").

Remédiation

Aucun plan de durcissement automatisé n'est défini pour cette règle ; elle doit être corrigée manuellement : exécutez chown root /boot/efi/EFI/redhat/user.cfg pour rétablir la propriété root.

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

ownerroot
path/boot/efi/EFI/redhat/user.cfg
resourcefile
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 user.cfg peut supprimer ou remplacer le mot de passe GRUB, mettant en échec le contrôle d'accès au démarrage, et peut lire le hash du mot de passe pour une attaque hors ligne. La correction présente peu de risque : chown root n'altère pas le hash, la protection d'amorçage existante continue de fonctionner. Combinez-la avec des permissions restrictives (chmod 600) afin que le hash ne soit pas lisible par tous.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R29direct2.0haute
CIS1.4.2directper OS, see the benchmark tablehaute
NIST3.4.5support800-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.

Sources & références