¿Por qué un gestor de arranque de Linux debería tener protección con contraseña?
Las siguientes son las razones principales para proteger con contraseña un cargador de arranque de Linux:
1. Impedir el acceso al modo de usuario único – Si un atacante puede arrancar en modo de usuario único, se convierte en el usuario root.
2. Impedir el acceso a la consola de GRUB – Si la máquina usa GRUB como cargador de arranque, un atacante puede usar la interfaz del editor de GRUB para cambiar su configuración o recopilar información usando el comando cat.
3. Prevención del acceso a sistemas operativos no seguros – Si se trata de un sistema de arranque dual, un atacante puede seleccionar en el momento del arranque un sistema operativo, como DOS, que ignora los controles de acceso y los permisos de archivo.
Contraseña que protege GRUB2
Siga los pasos a continuación para proteger con contraseña GRUB2 en RHEL 7.
1. Eliminar –sin restricciones de la CLASS= principal declaración en /etc/grub.d/10_linux archivo.
Esto se puede hacer usando sed para reemplazar el
# sed -i "/^CLASS=/s/ --unrestricted//" /etc/grub.d/10_linux
2. Si aún no se ha configurado un usuario, use grub2-setpassword para establecer una contraseña para el usuario root:
# grub2-setpassword
Esto crea un archivo /boot/grub2/user.cfg si aún no está presente, que contiene la contraseña del cargador de arranque GRUB con hash. Esta utilidad solo admite configuraciones donde hay un solo usuario raíz.
Ejemplo /boot/grub2/user.cfg archivo:
# cat /boot/grub2/user.cfg GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CC6F56BFCFB90C49E6E16DC7234BF4DE4159982B6D121DC8EC6BF0918C7A50E8604CA40689A8B26EA01BF2A76D33F7E6C614E6289ABBAA6944ECB2B6DEB2F3CF.4B929016A827C36142CC126EB47E86F5F98E92C8C2C924AD0C98436E4699DF7536894F69BB904FDB5E609B9A5D67E28A7D79E8521C0B0AE6C031589FA0452A21
3. Vuelva a crear la configuración de grub con grub2-mkconfig :
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-f9725b0c842348ce9e0bc81968cf7181 Found initrd image: /boot/initramfs-0-rescue-f9725b0c842348ce9e0bc81968cf7181.img done
4. Reinicie el servidor y verifique.
# shutdown -r now
Tenga en cuenta que todas las entradas de menú de grub definidas ahora requerirán ingresar el usuario y la contraseña cada vez que se inicia; de ahora en adelante, el sistema no arrancará ningún núcleo sin la intervención directa del usuario desde la consola. Cuando se le solicite el usuario, ingrese "root". Cuando se le solicite la contraseña, ingrese lo que se haya pasado al comando grub2-setpassword:
Eliminar la protección con contraseña
Para eliminar la protección con contraseña, podemos agregar –unrestricted texto en el CLASS= principal declaración en /etc/grub.d/10_linux archivo de nuevo. Otra forma es eliminar el archivo /boot/grub2/user.cfg que almacena la contraseña del cargador de arranque GRUB codificada.
Restringir solo la edición de entradas de menú de GRUB
Si solo desea evitar que los usuarios ingresen a la línea de comando de grub y editen las entradas del menú (en lugar de bloquear completamente las entradas del menú), entonces todo lo que necesita es ejecutar grub2-setpassword comando.