Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| master_cs:fortificacion:p1 [2025/02/04 14:14] – thejuanvisu | master_cs:fortificacion:p1 [2025/02/04 16:03] (actual) – thejuanvisu | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== [FORT] Práctica 1: Fortificación del arranque de Linux ====== | ====== [FORT] Práctica 1: Fortificación del arranque de Linux ====== | ||
| + | < | ||
| + | menuentry Entrada | ||
| + | setroot=(hd0, | ||
| + | linux /vmlinux root=/ | ||
| + | initrd / | ||
| + | </ | ||
| + | |||
| + | ===== 1. Interrumpir el booteo y conseguir la forma cifrada de la contraseña de root ===== | ||
| + | Para empezar pulsaremos c durante el arranque e introduciremos los siguientes comandos en la consola de Root: | ||
| + | < | ||
| + | set root=hd0, | ||
| + | ls / | ||
| + | cat /etc/shadow | ||
| + | </ | ||
| + | Con Cat podremos ver las contraseñas cifradas, incluida la de Root: | ||
| + | <wrap column 100%> | ||
| + | {{: | ||
| + | </ | ||
| + | ===== 2. Conseguir Root editando los parámetros pasados al kernel cuando se bootea ===== | ||
| + | |||
| + | Ya sea desde línea de comandos o editando el menú | ||
| + | |||
| + | Hay que cambiar el init de arranque por /bin/bash, haciendo que se arranque directamente el terminal en modo Root. | ||
| + | < | ||
| + | ls #Para ver las particiones | ||
| + | set root=hd0, | ||
| + | linux / | ||
| + | initrd / | ||
| + | boot | ||
| + | </ | ||
| + | <wrap column 100%> | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | ===== 3. Definir dos superusuarios de grub y establecer contraseñas para ellos ===== | ||
| + | |||
| + | //2 en texto plano y 2 cifradas de forma que todavía existan cuando la configuración de Grub se actualiza// | ||
| + | |||
| + | Primero creamos dos contraseñas almacenadas en texto plano y, tras eso, para cifrar las contraseñas se usa el comando: | ||
| + | < | ||
| + | grub-mkpasswd-pbkdf2 | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Tras eso se procede a modificar el archivo / | ||
| + | {{: | ||
| + | |||
| + | Tras eso actualizamos la configuración de grub: | ||
| + | <wrap column 100%> | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | ===== 4. Verificar que solo el superuser de grub pueda acceder a la línea de comadnos del grub ===== | ||
| + | Podemos observar que al reiniciar se nos solicita nombre y usuario para poder acceder a la terminal de grub: | ||
| + | <wrap column 100%> | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | ===== 5. Añade 2 entradas llamadas UserOnly y AlwaysAvailable ===== | ||
| + | * AlwaysAvailable: | ||
| + | * UserOnly: solo puede ser booteada por los usuarios | ||
| + | * Solo los superusuarios pueden bootear las entradas restantes | ||
| + | |||
| + | Para crear las entradas debemos crear unas " | ||
| + | < | ||
| + | menuentry " | ||
| + | set root=(hd0, | ||
| + | linux / | ||
| + | initrd / | ||
| + | boot | ||
| + | } | ||
| + | menuentry " | ||
| + | set root=(hd0, | ||
| + | linux / | ||
| + | initrd / | ||
| + | password usuario3 1234 | ||
| + | boot | ||
| + | } | ||
| + | </ | ||