08/01/2025

Commandes et SystèmeServices

Protégez votre serveur Linux des extinctions accidentelles avec molly-guard

I. Présentation

Lorsque l'on administre un serveur Linux, une erreur courante est l'exécution involontaire de commandes critiques comme "shutdown" ou "reboot", sur le mauvais serveur. Ceci est d'autant plus probable lorsqu'on est connecté à distance, en SSH, sur plusieurs serveurs.

Entre les environnements de production et de développement, on peut parfois s'y perdre : si vous redémarrez le serveur de production au lieu de celui de développement, cela risque de ne pas plaire aux utilisateurs, à votre client ou encore à votre responsable. Pour éviter ces arrêts ou redémarrages intempestifs, nous pouvons compter sur un outil bien pratique : molly-guard.

Il est conçu pour prévenir ces situations en ajoutant une couche de protection. Comme l'explique la page de molly-guard : "Ce paquet installe un script d’interpréteur qui passe outre les commandes existantes shutdown/reboot/halt/poweroff/coldreboot/pm-hibernate/pm- suspend* et exécute en premier un ensemble de scripts qui doivent tous se terminer avec succès avant que molly-guard invoque la commande véritable." - Il vous protège donc contre l'exécution accidentelle de plusieurs commandes.

Dans ce tutoriel, nous allons explorer ensemble le fonctionnement de cet outil et voir comment l'installer sur une machine Linux, en l'occurrence soit Debian.

Version originale de l'article : 27 mai 2013.

II. Installation de molly-guard

Pour utiliser molly-guard, il faut d'abord l'installer sur votre système Linux. L'outil est disponible dans les dépôts de nombreuses distributions comme Debian et Ubuntu. Vous pouvez l'installer avec la commande suivante après avoir mis à jour le cache de vos paquets :

sudo apt update
sudo apt install molly-guard

Il n'y a rien à faire de plus pour qu'il soit opérationnel ! Une fois l'installation terminée, molly-guard se place automatiquement comme un "garde-fou" devant les commandes évoquées en introduction.

Il est intéressant de constater des lignes comme celles ci-dessous dans la sortie de la commande d'installation :

Ajout de « détournement de /sbin/halt en /lib/molly-guard/halt par molly-guard »
Ajout de « détournement de /sbin/poweroff en /lib/molly-guard/poweroff par molly-guard »
Ajout de « détournement de /sbin/reboot en /lib/molly-guard/reboot par molly-guard »
Ajout de « détournement de /sbin/shutdown en /lib/molly-guard/shutdown par molly-guard »

III. Fonctionnement de molly-guard avec SSH

Molly-guard est particulièrement utile pour les administrateurs travaillant via SSH. Par défaut, il détecte les sessions SSH ouvertes et demande une confirmation supplémentaire avant d'exécuter une commande critique (shutdown, reboot, etc.).

Connectez-vous en SSH sur le serveur où vous avez mis en place cet outil. Par exemple :

ssh flo@srv-dns

Puis, tentez une commande comme "sudo reboot" pour tenter de redémarrer le serveur. Molly-guard détectera que vous êtes connecté via SSH et vous demandera le nom de la machine avant de continuer : si vous saisissez le nom correct de la machine et que vous validez, alors l'action sera exécutée.

sudo reboot

Voici un exemple en image :

Prévenir les extinctions accidentelles avec Molly-guard

Il est à noter que cette protection s'applique à tous les utilisateurs, y compris lors de l'utilisation de "sudo" et du compte "root" en direct.

IV. Activer molly-guard sur toutes les sessions

Par défaut, molly-guard est actif uniquement sur les sessions SSH. Vous pouvez l'activer sur tous les types de sessions, y compris sur les accès physiques (ou via la console d'une machine virtuelle), en modifiant le fichier de configuration. Voici le fichier à modifier :

sudo nano /etc/molly-guard/rc

Vous devez activer la directive "ALWAYS_QUERY_HOSTNAME", comme ceci :

ALWAYS_QUERY_HOSTNAME=true

Enregistrez le fichier et c'est tout. Désormais, toutes les actions sensibles de type "redémarrage" et "arrêt" seront soumises à validation.

sudo reboot
I: molly-guard: reboot is always molly-guarded on this system.
Please type in hostname of the machine to reboot:

V. Conclusion

Simple et efficace, voilà comment nous pourrions qualifier l'outil Molly-guard : installez-le sur vos serveurs Linux pour prévenir les utilisations accidentelles des commandes de gestion de l'alimentation. Les erreurs humaines ne sont pas un mythe, elles existent... Mais, maintenant, vous pourrez dire : merci Molly.

Connaissiez-vous molly-guard ? Qu'en pensez-vous ?

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.