Cómo evitar apagados accidentales en servidores Linux con Molly-Guard
Table of Contents
I. Introducción
Al administrar un servidor Linux, un error común es la ejecución involuntaria de comandos críticos como "shutdown" o "reboot", en el servidor equivocado. Esto es aún más probable cuando estás conectado remotamente, vía SSH, a varios servidores.
Si reinicias el servidor de producción en lugar del de desarrollo, puede que a tus usuarios, a tu cliente o a tu jefe no les guste. Para evitar estas paradas o reinicios inoportunos, podemos contar con una práctica herramienta: molly-guard.
Está diseñado para prevenir estas situaciones añadiendo una capa de protección. Como explica la página de molly-guard "Este paquete instala un script intérprete que anula los comandos existentes shutdown/reboot/halt/poweroff/coldreboot/pm-hibernate/pm-suspend* y ejecuta primero un conjunto de scripts, todos los cuales deben completarse con éxito antes de que molly-guard invoque el comando real" .- Así que te protege de ejecutar accidentalmente múltiples comandos.
En este tutorial, exploraremos el funcionamiento conjunto de esta herramienta y veremos cómo instalarla en una máquina Linux, en este caso Debian.
II. Instalación de molly-guard
Para utilizar molly-guard, primero debe instalarlo en su sistema Linux. La herramienta está disponible en los repositorios de muchas distribuciones, incluidas Debian y Ubuntu. Puedes instalarla con el siguiente comando después de actualizar tu caché de paquetes:
sudo apt update
sudo apt install molly-guard
¡Eso es todo! Una vez instalado, molly-guard actúa automáticamente como "quitamiedos" frente a los comandos mencionados en la introducción.
Es interesante ver líneas como la siguiente en la salida del comando de instalación:
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. Cómo funciona molly-guard con SSH
Molly-guard es especialmente útil para los administradores que trabajan a través de SSH. Por defecto, detecta las sesiones SSH abiertas y pide confirmación adicional antes de ejecutar un comando crítico (apagar, reiniciar, etc.).
Conéctese vía SSH al servidor donde ha configurado esta herramienta. Por ejemplo:
ssh flo@srv-dns
A continuación, pruebe un comando como "sudo reboot" para intentar reiniciar el servidor. Molly-guard detectará que está conectado a través de SSH y le pedirá el nombre de la máquina antes de proceder: si introduce el nombre correcto de la máquina y valida, entonces se ejecutará la acción.
sudo reboot
He aquí un ejemplo:

Tenga en cuenta que esta protección se aplica a todos los usuarios, incluso cuando se utiliza "sudo" y la cuenta "root" en vivo.
IV. Activar molly-guard en todas las sesiones
Por defecto, molly-guard sólo está activo en sesiones SSH. Puede activarlo en todos los tipos de sesión, incluyendo el acceso físico (o a través de la consola de una máquina virtual), modificando el archivo de configuración. Aquí está el archivo a modificar:
sudo nano /etc/molly-guard/rc
Debe activar la directiva "ALWAYS_QUERY_HOSTNAME" como se indica a continuación:
ALWAYS_QUERY_HOSTNAME=true

Guarde el archivo y ya está. A partir de ahora, todas las acciones sensibles como "reiniciar" y "parar" estarán sujetas a validación.
sudo reboot
I: molly-guard: reboot is always molly-guarded on this system.
Please type in hostname of the machine to reboot:
V. Conclusión
Simple y eficaz, así es como describiríamos la herramienta Molly-guard: instálela en sus servidores Linux para evitar el uso accidental de comandos de gestión de energía. El error humano no es un mito, existe... Pero ahora puede decir: gracias, Molly.
¿Sabías lo de molly-guard? ¿Qué le parece?