En un post anterior vimos cómo podemos proteger con password el gestor de arranque Grub2, añadiendo un poco más de seguridad a nuestro sistema. Pero resulta que este cambio se hizo directamente en el fichero ubicado en /boot, el cual es reemplazado cada vez que se actualiza el Kernel o el Grub mismo. Ahora lo importante es hacer los cambios en los ficheros adecuados ubicados en /etc/grub.d/, que son los scripts que generan los ficheros ubicados en /boot. Esto hace que a pesar de actualizaciones los cambios permanezcan sin ser afectados. De esta forma, sin importar cuantas versiones del Kernel tengamos instaladas, todas quedarán protegidas.
Manos a la obra...
Nota: Es importante hacer un backup del directorio /etc/grub.d/ completo para resguardarnos.
Sin más detalles, lo primero que necesitamos hacer es generar el password encriptado, aunque podemos hacerlo sin encriptarlo solo con texto plano.
$ sudo grub-mkpasswd-pbkdf2
Reenter password:
Your PBKDF2 is grub.pbkdf2.sha512.10000.743275C021122091A9EF4602AB6EF14C22F8B7AC6C22A0A90C0283C
0EBC8935E6AC255C49AD6FBC33FC063BBF7AB6A7A3523BBD78C20CCA94F6063CD201C5B03.8968F0
47042AE0C1264F7CB657601C0E95A1E56485C097954FBA18FAC80A1F30B06ADF651F9DC41F55C6EE
A74440C11131110B0E3C84CDD5C5A2C7BA09D77881
0EBC8935E6AC255C49AD6FBC33FC063BBF7AB6A7A3523BBD78C20CCA94F6063CD201C5B03.8968F0
47042AE0C1264F7CB657601C0E95A1E56485C097954FBA18FAC80A1F30B06ADF651F9DC41F55C6EE
A74440C11131110B0E3C84CDD5C5A2C7BA09D77881
Sin perder de vista esta información, pasamos a editar el fichero /etc/grub.d/00_header, y al final de dicho fichero colocamos lo siguiente. Esto es, el nombre de usuario y el password generado en el paso anterior. Dicho password debe quedar todo en una sola línea.
$ sudo nano /etc/grub.d/00_header
...
...
cat << EOF
set superusers="fraterneo"
password_pbkdf2 fraterneo grub.pbkdf2.sha512.10000.743275C021122091A9EF4602AB6EF14C22F8B7AC...
EOF
Ahora vamos al fichero 10_linux ubicado en el mismo directorio y ubicamos la función linux-entry (), que se encuentra aproximadamente en la línea 64. En dicha función un poco mas abajo (línea 75) tenemos la orden printf dentro de la cual vamos a introductir la opción --user seguida del nombre de usuario que colocamos en set superusers.
$ sudo gedit /etc/grub.d/10_linux
Con esto lo que hemos hecho es que a cada menuentry que sea generado se le añadirá la opción --users, protegiendo así con dicho usuario y su password encriptado todas las entradas a los diferentes Kernels que hayan instalados en el sistema en el menú de arranque.
Finalmente actualizamos Grub2 para que asuma los cambios y reiniciamos para probarlo.
$ sudo update-grub2
$ sudo shutdown -r now
No hay comentarios:
Publicar un comentario