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

Vérifier le propriétaire du grub.cfg du chargeur d'amorçage UEFI

Garantit que le fichier de configuration GRUB2 UEFI /boot/efi/EFI/redhat/grub.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/grub.cfg définit la configuration d'amorçage UEFI : ligne de commande du noyau, entrées de démarrage et toute protection par mot de passe GRUB. Seul root doit pouvoir modifier ces paramètres d'amorçage. Si un utilisateur non root possède ce fichier, il pourrait altérer la ligne de commande du noyau (par exemple ajouter init=/bin/bash), désactiver des mitigations de sécurité ou supprimer le mot de passe du chargeur, réduisant à néant le durcissement au démarrage.

Ce que vérifie Pavois

Pavois interroge l'inode réel de /boot/efi/EFI/redhat/grub.cfg et vérifie que son propriétaire est l'UID 0. Le contrôle est ignoré sur les systèmes où le fichier n'existe pas (par exemple amorçage BIOS/legacy). Lire les métadonnées réelles du système de fichiers reflète la propriété effective sur laquelle le firmware et GRUB s'appuient, indépendamment de la façon dont le fichier a été régénéré par grub2-mkconfig.

only_if { file('/boot/efi/EFI/redhat/grub.cfg').exist? }
describe file('/boot/efi/EFI/redhat/grub.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/grub.cfg. La sortie attendue est root 0.

Inspecter et investiguer

Il n'existe pas de journal d'exécution pour cette configuration statique. Pour détecter une altération, posez une surveillance audit : auditctl -w /boot/efi/EFI/redhat/grub.cfg -p wa -k grub, puis examinez les événements dans /var/log/audit/audit.log (recherchez key="grub"). Les régénérations apparaissent dans journalctl lors de l'exécution de grub2-mkconfig.

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/grub.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/grub.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 grub.cfg peut réécrire les paramètres d'amorçage et obtenir root au prochain démarrage ou désactiver des mitigations du noyau. La correction présente peu de risque : chown root ne modifie pas le contenu de la configuration d'amorçage, le système démarre donc normalement. Notez que grub2-mkconfig recrée le fichier avec la propriété root, la correction est donc durable ; aucun redémarrage n'est nécessaire pour appliquer le changement de propriété.

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