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 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 }
endComment 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 :
| owner | root |
|---|---|
| path | /boot/efi/EFI/redhat/user.cfg |
| resource | file |
pavois harden plan localoù 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
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| ANSSI BP-028 | R29 | direct | 2.0 | haute |
| CIS | 1.4.2 | direct | per OS, see the benchmark table | haute |
| NIST | 3.4.5 | support | 800-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.