Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Incriptacion de Grud - Actividad Autonoma

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Universidad

Técnica de
Manabí
desde 1962

INFORME
ACTIVIDAD
AUTÓNOMA # 1
Autor:
Alejandra Valentina Briones Loor
Asignatura:
Sistemas Operativos
Profesor tutor:
Ing. Alejandro Fabián Mero García, Mg.
Paralelo:
B

Fecha:
13 de junio de 2021

1
AUTÓNOMA # 1. ENCRIPTACIÓN DEL GRUB DE LOS SISTEMAS OPERATIVOS
1. INTRODUCCIÓN
La presente actividad autónoma se trata de la práctica realizada sobre la encriptación al
Grub2, para observar y analizar el tipo de vulnerabilidades o cambios que puede sufrir
nuestros sistemas operativos al ejecutar diferentes comandos que pueden alterar la
operatividad de la máquina.
(Kaliu) GRUB forma parte del proyecto GNU y es la
abreviatura de GRand Unifier Bootloader. Su principal función es ser el Gestor de Arranque,
lo que significa que cada vez que encendamos el ordenador, será la primera orden que ejecuta
el sistema. Se usa principalmente con el fin del multi-boot, en otras palabras, poder ejecutar
varios sistemas operativos(o diferentes versiones) en el mismo ordenador, por ejemplo
GNU/Linux y Windows.
GRUB viene pre-instalado en la mayoría de distos modernas, algunos ejemplos son: Debian,
Ubuntu, ArchLinux, Manjaro… Anteriormente el más común era LILO.
Su predecesor, el que más se utiliza actualmente es GRUB2. GRUB2 fue una re-escritura
completa del condigo de GRUB para adaptarlo a las necesidades modernas.
En este informe hablaremos únicamente de GRUB2, características y los diferentes archivos
que se pueden ejecutar en el mismo.
2. INFORMACIÓN DEL SISTEMA OPERATIVO INSTALADO
En este trabajo autónomo utilicé el Sistema Operativo CentOS, el cuál es una distribución
Linux que consiste en una bifurcación a nivel binario de la distribución GNU/Linux Red Hat
Enterprise Linux RHEL, compilado por voluntarios a partir del código fuente publicado
por Red Hat, siendo la principal diferencia con este la eliminación de todas las referencias a
las marcas y logos propiedad de Red Hat.
3. MARCO TEÓRICO
1. Características del GRUB 2
(EcuRed) Grub es un administrador o gestor de arranque
múltiple, desarrollado por el proyecto GNU, derivado del Grand Unified Bootloader (GRUB,
en español: Gran Gestor de Arranque Unificado), que se usa comúnmente para iniciar uno de
dos o más sistemas operativos instalados en un mismo equipo. Para aquellos usuarios que
trabajan con Linux, GRUB es el menú que aparece en la pantalla y que permite seleccionar
el sistema operativo, o la versión de Kernel que se vaya a iniciar.
Recientemente, los desarrolladores de GRUB han cambiado su enfoque a GRUB 2, una
completa reescritura, cuyos objetivos incluyen la puesta a un GNU GRUB más limpio, más
seguro, más sólido, más portátil y mucho más poderoso. GRUB 2 comenzó con el nombre de
PUPA, y apoyado por la Information Technology Promotion Agency (IPA) en Japón.
PUPA se integró en el desarrollo de GRUB 2 alrededor del 2002, cuando la versión 0.9x de
GRUB fue renombrada a GRUB Legacy. Actualmente GRUB 2 comenzó a utilizarse
oficialmente en Ubuntu 9.10 (Karmic Koala). Algunos de los objetivos del proyecto incluyen
el apoyo a plataformas no-x86, la internacionalización/localización, caracteres no ASCII,
3
módulos dinámicos, gestión de memoria, un mini-lenguaje de scripting, la migración de
plataforma específica (x86) de código a la plataforma de módulos específicos, y una marco
orientado a objetos.
(Morales) GRUB proporciona varios métodos de recuperación
tras un fallo en el arranque, GRUB llevará al usuario de nuevo al menú, a la línea de
comandos de GRUB o a un mensaje de Busybox o Initramfs. Detallamos las posibles razones
de cada uno de ellos:
GRUB 2 Menú: Si un arranque del menú es fallido, se mostrará el mensaje de error y se
volverá automáticamente al menú para elegir otra opción.
grub> prompt: Se produce cuando no se puede encontrar el fichero grub.cfg.
grub rescue> prompt: Se produce cuando no es posible encontrar el directorio grub.
Busybox> o Initramfs>: Se produce cuando comienza el proceso de arranque y en mitad del
mismo se produce cualquier error, normalmente relacionado con el sistema de ficheros.
Nosotros podemos entrar directamente en esta línea de comandos sin tener que esperar a que
de un fallo nuestro sistema, para ello pulsaremos la tecla C.
2. Los principales archivos para modificar las opciones de GRUB 2
(G.B) Normalmente el archivo de configuración del Grup lo
podemos encontrar en «/boot/grub/grub.cfg«, en otras distribuciones está en «/etc/grub.conf«.
Lo editamos.
sudo nano /boot/grub/grub.cfg

OJO: Recibirás una advertencia de seguridad, continua bajo tu responsabilidad.


Se está editando el fichero «_» (usuario root con nano 2.5.3, PID 8352); ¿continuar?
Yes
No
Al pulsar «Y» accedemos al archivo.
GRUB_DEFAULT
En Grub_default podemos establecer desde que entrada del menú queremos iniciar el sistema
de forma predeterminada. Pero… cuidado, la primera entrada es la 0, la segunda 1. la tercera
2, y así sucesivamente.
Pongamos que queremos iniciar siempre nuestro CentOS 7, y lo tenemos en la entrada (línea)
4. En este caso lo configuramos como:
GRUB_DEFAULT=3

Si por el contrario lo que quieres es que siempre inicie nuestra última selección, aplicamos lo
siguiente:

4
GRUB_DEFAULT=saved

Guarda el archivo, cierra el editor.


Actualizamos el Grub.
sudo update-grub
GRUB_TIMEOUT
En esta opción establecemos el tiempo en segundos antes de arrancar el sistema desde la
entrada predeterminada. De forma predeterminada suelen ser 10 segundos, lo que me parece
excesivo (yo siempre lo modifico a 3 o 4 segundos).
GRUB_TIMEOUT=4

Si quieres que inicie inmediatamente:


GRUB_TIMEOUT=0

También lo podemos deshabilitar permanentemente.


GRUB_TIMEOUT=-1

Guarda el archivo, cierra el editor.


sudo update-grub
3. Acceso no autorizado
(Etebitel) La contraseña de seguridad disponible con GRUB 2
proporciona una protección básica para evitar que un usuario no autorizado tenga acceso al
sistema operativo a través del menú de GRUB 2. Recalcar que las personas con acceso físico
a la computadora seguirán teniendo acceso a los archivos a través de otros métodos que
GRUB 2 no puede prevenir, como por ejemplo, mediante un Live CD.

Estas instrucciones son básicamente para la versión 1.99-x del grub2 (Ubuntu 12.04). Para
saber qué versión del grub2 tenemos, ejecutar el comando:
grub-install –v
Una vez que el usuario administrador, con el que instalamos Ubuntu y la contraseña se
identifican, la función de contraseña está activada y el menú del GRUB 2 aparecerá como lo
hace normalmente. Cuando un elemento de menú que requiere una contraseña se selecciona,
el usuario deberá introducir el nombre de usuario y la contraseña correcta. Si se introduce
correctamente, el menuentry (entrada del menú) seleccionado continuará con su arranque. Si
es incorrecta, el usuario será devuelto al menú de GRUB 2.

Si GRUB 2 está configurado para arrancar directamente con un menuentry (entrada del

5
menú), protegido por contraseña sin que se visualice el menú de Grub2, aparecerá el menú de
usuario / contraseña y el arranque no se producirá hasta que se hayan introducido
correctamente ambos. En este caso, el usuario puede salir de la solicitud de contraseña para
seleccionar otro menuentry, manteniendo pulsada la tecla SHIFT, pero no se mostrará el menú
del Grub para arrancar desde otro menuentry. Por lo que es recomendable habilitar la
aparición del menú del grub y darle un tiempo mínimo de espera. Para ello:
Editar el siguiente archivo del grub:
sudo gedit /etc/default/grub

Configuración de la protección por contraseña del Grub2


Pasos a seguir:
Identificación de los usuarios y su contraseña
Para habilitar la protección con contraseña, GRUB 2 requiere como mínimo la identificación
de:
• Un superusuario (administrador del sistema con el que instalamos Ubuntu)
• La contraseña para el superusuario
Nota: Con sólo esta información, Grub2 impedirá el acceso al menú de edición (pulsando la
tecla "e") y a la la línea de comandos "grub>" (pulsando la tecla "c").
El archivo a editar, no es una regla fija, ya que al actualizar el grub serán tomados en cuenta
todos los archivos y algunos prefieren tener un archivo personalizado
"/etc/grub.d/40_custom", donde añadir la identificación de los usuarios, sus contraseñas y los
menuentry a bloquear.

También he visto que algunos lo hacen directamente en el archivo "/boot/grub/grub.cfg", pero


no lo recomiendo, ya que cada vez que se actualice el Grub se eliminará el acceso por
contraseña y vuelta a empezar.
Yo prefiero añadir los usuarios y contraseñas en el archivo "/etc/grub.d/00_header", que es el
archivo de configuración que maneja esta información.

Antes de realizar estos cambios, se recomienda guardar una copia del archivo
"/etc/grub.d/00_header" a otro lugar para servir como una copia de seguridad. No dejar la
copia en el directorio /etc/grub.d/, para asegurarse de que no se ejecuta durante las
actualizaciones.
4. PRÁCTICA DE ENCRIPTACIÓN DEL GRUB 2
Debe resolver un ejercicio práctico mediante la terminal del sistema operativo de su elección
para ejecutar el proceso de encriptación del GRUB del sistema operativo Linux

6
Verificación de la vulnerabilidad del GRUB 2

Cuando abrimos la máquina virtual hay que tener en cuenta que siempre nos va a dar la
opción de abrir dos opciones como lo vemos en la primera captura, sin embargo, podremos
esperar los 5 o 4 segundos, o ya de por si aplastar una tecla del teclado para que se inicie el
sistema operativo automáticamente. Pero lo que haremos será apretar la tecla e para llegar a
una ventana de código donde nos va a permitir modificar manualmente (porque debemos
utilizar la tecla → para llegar a escribir el comando rw init=/sysroot/bin/sh) que será para
realizar el cambio de contraseña al root.

COMANDO YA
MODIFICADO

7
Proceso de encriptación del GRUB 2
Despliegue de la configuración de encriptación del GRUB.
En esta captura de pantalla debemos ejecutar el comando grub2, para visualizar que activades
se pueden realizar dentro del mismo.
Si no se ejecuta con el grub2 + enter, tenemos la opción de digitar el comando grub2 + tab,
y de esa forma se va a desplegar todo lo que podremos hacer dentro del grub.

Una vez digitado e ingresado con el código antes mencionado, vamos a utilizar otro comando
para el cambio de contraseña “passwd”
Cambiamos de contraseña a valentinab135

8
Debemos salir de esa ventana para comprobar que lo que hayamos realizado este
correctamente hecho.
Proceso de pruebas encriptación del GRUB 2
Despliegue de las pruebas de encriptación satisfactoria del GRUB.
Ingresamos el usuario en el que hicimos el cambio, que en este caso es el “root”, por ende ese
va a ser el usuario al que vayamos a ingresar, tenemos que colocar la contraseña anterior para
ver si lo que hicimos del cambio de contraseña se hizo bien, y si salió que la contraseña está
incorrecta, procedemos a colocar la nueva, y una vez que esta coja podemos asimilar que el
cambio de contraseña se hizo de manera correcta.

CONTRASEÑA
INCORRECTA

CONTRASEÑA
CORRECTA

9
Aquí ya podemos observar como podemos ingresar de manera normal al sistema operativo
CentOS

BIBLIOGRAFÍA
EcuRed. (s.f.). Recuperado el 12 de Junio de 2021, de https://www.ecured.cu/Grub2

Etebitel, J. (s.f.). Ubuntu Guia. Recuperado el 12 de Junio de 2021, de http://www.ubuntu-


guia.com/2012/07/proteccion-por-contrasena-en-grub2-199.html

G.B, S. (s.f.). Solo Linux. Recuperado el 12 de Junio de 2021, de https://www.sololinux.es/que-es-el-


grub-y-como-se-configura/

Kaliu. (s.f.). Lignux. Recuperado el 12 de Junio de 2021, de https://lignux.com/grub2-que-es-y-como-


funciona/

Morales, R. (s.f.). ticARTE. Recuperado el 12 de Junio de 2021, de


https://www.ticarte.com/contenido/grub-2

10

También podría gustarte