La semana pasada la recomendación era aprender a Proteger el GRUB con Flu Project, así que esta semana te animo a que sigas con la continuación del anterior artículo en Proteger el GRUB II.
No podemos esta semana dejar de recomendaros otro post de la increíble serie:
Aprovechamos para felicitar a Pablo González por su nuevo libro: Metasploit para Pentesters (ya hablaremos del tema de "mis dedicatorias", ja,ja,ja) del que ya tenemos una copia en nuestro poder y tiene "muy buena pinta".
Especialmente recomiendo que compres un ejemplar y desde aquí ya os adelanto que vamos a hacer algo muy especial con el feedback de este libro.
Ahora si!, os dejo con este sensacional artículo de Pablo en Flu Project sobre cómo podemos proteger el GRUB, Parte II.....
Proteger el GRUB II
La semana anterior hablamos de como
proteger el GRUB en su versión 1. Se utilizaba una contraseña maestra
para bloquear la ejecución de las entradas, o al menos una contraseña
por línea. GRUB 2 es realmente mucho más flexible, ya que incorpora la
posibilidad de utilizar dos roles de usuarios y con distintas
características.
Roles
Se dispone de dos tipos de roles, uno es
el rol de superusuario y otro el de usuario normal. Se puede definir un
solo superusuario el cual dispondrá de permisos para acceder tanto a la
edición de la línea del GRUB como a los sistemas operativos que se
encuentran disponibles en el equipo. Para definir los usuarios debemos
ir al fichero /etc/grub.d/40_custom, y como se puede visualizar en la
siguiente imagen declarar los usuarios.
Para entender bien como se declaran los usuarios debemos entender lo siguiente:
- Para declarar el superusuario se especifica el nombre con la orden set superusers=”nombre_usuario”. Para asignarle una contraseña se debe utilizar la directiva password o password_pbkdf2 si se utilizará un hash que evite la lectura en plano de la contraseña. Después de indicar la directiva se debe indicar a que usuario se asigna y por último la contraseña.
- Los usuarios normales, que pueden ser más de uno, se especifican directamente con la contraseña. Se puede utilizar la directiva password o password_pbkdf2, dependiendo de si va en plano o con hash.
Para crear un hash pbkdf2 se utiliza la herramienta grub-mkpasswd-pbkfd2, como se puede visualizar en la siguiente imagen.
De esta manera, definiendo el superusuario tenemos protegida la edición
de la línea de comandos del GRUB, por lo que no podrán levantar una
shell de root a través de la línea de comandos del GRUB. Ahora vamos a
ver como proteger el arranque de los sistemas operativos. Podemos
especificar que usuarios pueden arrancar un sistema operativo en
concreto, para ello debemos entender que existen unos archivos para cada
tipo de sistema operativo. Nos puede interesar proteger Linux y
Windows, pero no la aplicación de test de memoria RAM. El sistema
operativo Linux y su entrada se configura en el fichero 10_Linux que se
encuentra en la ruta /etc/grub.d. Mientras que Windows se prepara en el
fichero 30_os-prober. Para protegerlos hay que editar el fichero y
buscar la palabra “menuentry”, como se puede visualizar en la siguiente
imagen.
Como podéis ver no es difícil proteger el GRUB en sus distintas
versiones. Es más flexible y potente el GRUB en su nueva versión, la
gestión de usuarios le permite al administrador ofrecer una jerarquía de
seguridad realmente interesante.
Hola Ángel,
ResponderEliminarGracias crack por esas palabras... la dedicatoria, te enviaron el libro y no me dijeron nada... tenías que haberlo puesto en observaciones o algo :). Pero nos veremos y la dedicatoria será escrita con muuuucho gusto :D
Un abrazo crack!
Jajaja gracias a ti por el libro, lo de la dedicatoria es por pelearos un poco jajaja.Vamos a escribir algo "chulo" para el feedback, un abrazo Pablo. XD
Eliminar