Désactiver les boutons de redémarrage et d'arrêt de l'écran de connexion GNOME3
Retire les boutons de redémarrage et d'arrêt de l'écran de connexion GNOME (GDM) en définissant disable-restart-buttons=true et en verrouillant la clé.
Vérifié sur le contenu d’un fichier de configuration persistant, la source de vérité qui survit aux redémarrages.
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
L'écran de connexion GDM propose normalement des boutons de redémarrage et d'arrêt que toute personne disposant d'un accès physique peut presser sans s'authentifier. Les presser provoque un redémarrage ou une extinction non planifiés, une perte de disponibilité à court terme qu'une personne non authentifiée à la console ne devrait pas pouvoir déclencher. Définir disable-restart-buttons=true et le verrouiller retire ces boutons de l'écran d'accueil.
Ce que vérifie Pavois
Pavois vérifie l'état dconf effectif : la dernière définition de disable-restart-buttons parmi /etc/dconf/db/*.d/* doit valoir true, et la clé /org/gnome/login-screen/disable-restart-buttons doit figurer dans un fichier de verrou dconf. Évaluer la précédence résolue (le dernier drop-in l'emporte) plus le verrou correspond à la façon dont dconf calcule la valeur, détectant un drop-in ultérieur réactivant les boutons ou déverrouillant la clé.
only_if { command('dconf').exist? }
describe command('{ s=$(grep -rhE \'^[[:space:]]*disable-restart-buttons[[:space:]]*=\' /etc/dconf/db/*.d/* 2>/dev/null | tail -1 | sed -E \'s/^[^=]*=[[:space:]]*//\' | tr -d "\'\\""); [ "$s" = "true" ] && grep -rqxF \'/org/gnome/login-screen/disable-restart-buttons\' /etc/dconf/db/*/locks/* 2>/dev/null && echo ok; } || echo ko') do
its('stdout.strip') { should eq 'ok' }
endComment vérifier qu’elle est appliquée
Après dconf update, exécutez gsettings get org.gnome.login-screen disable-restart-buttons (doit afficher true) et confirmez que la clé est verrouillée en cherchant /org/gnome/login-screen/disable-restart-buttons dans /etc/dconf/db/*/locks/*. Les boutons ne doivent plus apparaître sur l'écran d'accueil GDM.
Inspecter et investiguer
dconf n'a pas de journal à l'exécution ; vérifiez avec gsettings get org.gnome.login-screen disable-restart-buttons et inspectez /etc/dconf/db/*.d/* et /etc/dconf/db/*/locks/*. Les changements réels d'état d'alimentation sont journalisés par systemd, consultez journalctl -b -1 (boot précédent) ou last -x | grep -E 'reboot|shutdown'.
Remédiation
Le plan de durcissement de Pavois utilise la ressource dconf pour écrire disable-restart-buttons=true dans un drop-in de profil dconf système, ajouter /org/gnome/login-screen/disable-restart-buttons à un fichier locks, et exécuter dconf update. Appliquez-le avec pavois harden apply.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| key | org/gnome/login-screen/disable-restart-buttons |
|---|---|
| resource | dconf |
| value | true |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Ne s'applique qu'aux hôtes RHEL 9 GNOME/GDM ; sans objet sur les serveurs sans interface graphique. Après application, personne ne peut redémarrer ou éteindre depuis l'écran de connexion sans s'authentifier d'abord. Précaution : assurez-vous que les administrateurs autorisés conservent un moyen de redémarrer/éteindre (session authentifiée, systemctl reboot/poweroff, ou hors-bande/IPMI) afin de ne pas bloquer la maintenance légitime. Aucun redémarrage nécessaire ; dconf update suffit.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| NIST | 3.1.2 | 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.