molly-guard: prevenir reinicios y apagados en Linux

Publicado por Diego Córdoba en

Alguna vez te ha pasado que has typeado el comando «halt» o «reboot» siendo root en la terminal de ssh de un servidor… y no querías apagar o reiniciar? Molly-guard en Linux puede ayudarnos a no cometer desastres!

Cuando ejecutamos estos comandos, halt o reboot, por ejemplo, siendo root, el runlevel por defecto del sistema cambia a 0 o 6 respectivamente, y el sistema es apagado o reiniciado inmediatamente, sin preguntar nada.

Imaginemos que estamos trabajando en nuestro ordenador, con 10 terminales abiertas, conectadas unas al sistemas local, otras a servidores remotos, otras a equipos virtualizados de prueba, etc.

Es fácil, en un contexto como este, pensar en la posibilidad de que tirar sin intención un «halt» o «reboot» en una terminal, y sin querer apagar o reiniciar un servidor de producción, cuando lo que queríamos era reiniciar un equipo virtual de pruebas.

Instalamos molly-guard en Linux

Molly-guard es un paquete que podemos instalar en nuestro sistema operativo Linux, y que sobreescribe los comandos de shutdown, reboot, halt y poweroff del sistema, y corre, antes de dichos comandos de acción, una serie de scripts que piden confirmación y autorización al usuario que lo ejecuta.

mollyguard1 molly-guardEn Debian podemos instalarlo con el siguiente comando:

sudo aptitude install molly-guard

En Arch se encuentra en el repo AUR y podemos instalarlo llamando a yaourt de esta forma:

yaourt -S molly-guard

Ahora, simplemente cuando estemos conectados vía ssh y ejecutemos, por ejemplo, reboot, tendremos un comportamiento distinto:

wpsrp1esd molly-guard

molly-guard seguridad

root@cryptos:~# reboot
W: molly-guard: SSH session detected!
Please type in hostname of the machine to reboot:
Ouch, mejor no, no queria reiniciar
W: aborting reboot due to 30-query-hostname exiting with code 1.
root@cryptos:~#

Espero te sirva!

Como dato adicional, es uno de los paquetes por default que vienen en la distribución OSSIM para management y seguridad en redes.


Diego Córdoba

- Ingeniero en Informática - Mg. Teleinformática - Tesis pendiente - Docente universitario - Investigador