Objetivo y duración
El objetivo de esta práctica es aprender a utilizar diversos sistemas de seguridad activa de un sistema operativo.
Duración: 8 h
Entrega y presentación
La entrega será en formato PDF. Leer Entrega y presentación de prácticas.
Esta práctica puede ser entregada en pareja.
Actividades
A continuación se listan las actividades que se deben realizar. Todas las actividades se realizarán usando la máquina virtual de Zorin OS salvo que se especifique lo contrario.
Contraseña a la BIOS
Entrar en la web BIOS Simulator Center de Lenovo, selecciona una BIOS/UEFI diferente al resto de tus compañeros (si es posible) e indica los pasos a seguir para cambiar la contraseña a dicha BIOS.
📷 Haz una captura por cada uno de los pasos que has realizado en la BIOS a modo de tutorial.
Contraseña al GRUB
No seas un mandril como yo y haz una instantánea antes de empezar esta actividad.
En tu Zorin OS Lite, añade la contraseña “tiempos” al GRUB siguiendo los pasos del artículo Proteger el grub con contraseña. Deberemos usar nuestro usuario habitual (en mi caso, mrug) en lugar de joan.
¿En que casos es recomendable proteger el GRUB?
¿Qué significa el símbolo ~
que se usa en el tutorial?
¿Qué significa EOF
?
¿Cuál es la versión del GRUB que estás usando?
📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.
Crear usuario profesorMrug
Usando los comandos groupadd
, useradd
y passwd
, realiza las siguientes acciones:
- Crear una cuenta de usuario llamado “profesorMrug” perteneciente al grupo “profesores” usando el terminal.
- Esta cuenta de usuario debe esperar 10 días después de la inserción de una nueva contraseña para poder cambiarla; su contraseña será válida durante 60 días; se le avisará 3 días antes de que deba cambiarla; si no cambia la contraseña después de los 60 días, dispone de 7 días antes de que sea bloqueada.
Recuerda que puedes ejecutar los comandos
useradd --help
ypasswd --help
para averiguar como se usan estos programas.
Personalmente he seguido los pasos de el tutorial How to Add User to Group in Linux para la parte de creación y asignación de grupo.
¿Qué diferencia hay entre useradd
y adduser
?
¿Cómo comprobamos que el usuario está realmente creado?
Indica los comandos utilizados en texto plano. 📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.
Crear usuario alumno<tuUsuario>
Usando los comandos groupadd
, useradd
y passwd
, realiza las siguientes acciones:
- Crear una cuenta de usuario llamado “alumno<tuUsuario>” perteneciente al grupo “alumnos” usando el terminal.
- Este usuario debe cambiar la contraseña inmediatamente, tendrá validez de 30 días y se avisara un día antes de que debe volverla a cambiar. Si no la cambia, se bloqueará la cuenta en tres días.
Indica los comandos utilizados en texto plano. 📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.
Haz que los usuarios puedan ejecutar el comando sudo
Utilizando el terminal haz que los dos usuarios creados anteriormente puedan ejecutar el comando sudo
.
Personalmente he seguido los pasos del tutorial How to Add User to Sudoers in Ubuntu.
¿De qué dos maneras se puede realizar esta tarea?
Indica los comandos utilizados en texto plano. 📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.
Cuotas de usuarios
Define una cuota de disco de 1 GB para el grupo “profesores” y otra cuota de disco de 100 MB para el grupo “alumnos”. Indica los comandos utilizados en texto plano.
Personalmente he seguido los pasos del tutorial How To Set Filesystem Quotas on Ubuntu 20.04
¿Qué dos tipos de límites en una cuota existen y cuales son sus diferencias? ¿Cuál as usado tú para poner el límite? ¿Por qué?
¿Puedo dar cuotas a usuarios pertenecientes a un grupo de manera individual? En caso de que exista un comando, ¿cómo se utilizaría?
Indica los comandos utilizados en texto plano. 📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.
Cifrado de particiones
A través de línea de comandos con LUKS crea y monta en /media/<tuUsuario>/archivosSeguros
una partición cifrada de 100MB.
Puedes seguir los pasos marcados en el apartado “Cifrar cualquier disco o partición (con pérdida de datos)” del artículo Cifra discos, particiones y archivos con LUKS en tu servidor Linux.
¿Qué significan las siglas de LUKS?
¿Con qué algoritmo cifra LUKS las particiones?
¿Cuáles son los sistemas de ficheros más usados en GNU Linux? ¿Y en Windows? ¿Cuáles son sus peculiaridades en comparación con el resto? Haz una pequeña comparativa entre ellos.
¿Es lo mismo un MB que un MiB? ¿Cuál es la diferencia? ¿Qué unidades usa GNU Linux? ¿Y Windows? ¿Y OSX?
Indica los comandos utilizados en texto plano. 📷 Haz una captura que demuestre la realización de la actividad.
Teoría de LVM
Mira el siguiente video para entender que es LVM y como se puede usar:
Y contesta a las siguientes preguntas:
- ¿Qué significan las siglas LVM?
- ¿Qué 4 ventajas tiene LVM sobre usar un sistema de particiones tradicional?
- ¿LVM tiene alguna desventaja sobre el sistema de particiones tradicional?
- ¿Podemos usar LVM con un RAID y con cifrado de particiones al mismo tiempo?
- ¿Es posible migrar de un sistema de ficheros tradicional a un LVM?
(Opcional) Práctica de LVM
Añade un disco de 100MB a la máquina virtual de Zorin OS Lite y configúralo para que utilice LVM. Posteriormente crea y añade otro disco de 100MB a la máquina virtual expande la partición lógica que usa LVM de 100MB a 200MB de capacidad.
Personalmente he usado estos dos artículos Crear y configurar discos LVM en Ubuntu y Crear y configurar discos LVM en Ubuntu
Indica los comandos utilizados en texto plano. 📷 Haz una captura o varias que demuestren la realización de la actividad.
Lynis
Instala la herramienta Lynis en tu sistema Zorin OS Lite e indica paso a paso la información que muestra el programa. La herramienta se ejecutará utilizando el comando lynis -c
o lynis -Q
o lynis audit system
y compara los apartados que nombra “Systems boy” en el vídeo con los tuyos.
A partir del resumen final de vulnerabilidades que nos muestra Lynis, elige una vulnerabilidad diferente al resto de tus compañeros (a poder ser) y explica en que consiste dicha vulnerabilidad y como se arreglaría.
¿De donde has obtenido la información de cómo corregir una vulnerabilidad?
¿Para qué sirve la herramienta Lynis?
A rasgos generales, ¿qué secciones muestra Lynis en su análisis?
(Opcional) Lynis
Instala la herramienta Lynis en un servidor con Apache y con un servidor SSH y analiza la salida de los apartados “Software: webserver”, “SSH Support”, “Databases” y “PHP”.
Lastlog
Averigua el propósito del comando para GNU Linux llamado lastlog
. Indica cómo sería el comando para que muestre los inicios de sesión de los últimos cinco días.
Crea un nuevo usuario, haz login con él a través de la GUI y comprueba si aparece este inicio de sesión en lastlog
con el siguiente comando:
1
$lastlog -u <nombreDeUsuario>
¿Por qué ocurre esto?
Deja reflejado en texto plano los comandos utilizados y sus salidas.
Utmpdump
Averigua el propósito del comando para máquinas GNU Linux utmpdump
. Indica qué información de interés es capaz de mostrar.
¿Qué relación tienen los comandos utmpdump
, last
y lastb
?
¿Qué significan la información tty
y pts
que vemos en las salidas de estos programas?
Deja reflejado en texto plano los comandos utilizados y sus salidas.
/etc/passwd
¿Qué información se encuentra en el archivo /etc/passwd
y cómo el usuario puede modificar la que le concierne?
JohnTheRipper
Crea e instala una máquina virtual de Kali Linux y obtén la contraseña de tu usuario con JohnTheRipper por fuerza bruta y por ataque de diccionario.
Tienes el artículo John the Ripper que te servirá de ayuda.
¿Cuánto tiempo tarda JohnTheRipper en romper la contraseña “tiempos” usando fuerza bruta en tu caso? ¿Y usando el diccionario aportado? ¿Qué características tiene tu máquina Kali?
📷 Haz varias capturas para demostrar que la actividad ha sido realizada satisfactoriamente por ti.
Introducción a las ACLs
Mira el siguiente vídeo y realiza los mismos pasos que el vídeo pero con usuarios donde se te identifique y con una partición no cifrada de 100MB. En tu caso la carpeta donde se monte el disco deberá estar en /media/particionAcl
y tu usuario deberá ser secretario<tuUsuario>
.
¿Podemos mezclar las ACL con el sistema de permisos tradicional? ¿Cómo sabemos cuando estamos usando ACL?
Si añado los permisos 666 a un fichero, pero le indico mediante ACL que, por ejemplo, el usuario hisoka solo tiene permisos de lectura, ¿podrá el usuario hisoka escribir el fichero?
📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.
ClamAV
Siguiendo los pasos del artículo Cómo instalar ClamAV antivirus en Ubuntu 20.04 LTS instala, usa y configura el antivirus ClamAV en tu máquina Zorin OS Lite.
¿Estamos libres de virus en los sistemas GNU Linux?
¿Qué es un daemon en GNU Linux?
¿Dónde se guardan los logs de la herramienta ClamAV? ¿Qué tipo de información aparece?
Una vez hecho todo lo anterior, instala la herramienta gráfica ClamTk.
1
#apt install clamtk
También puedes añadir la extensión al explorador de archivos Nautilus instalando el plugin clamtk-gnome de la siguiente manera:
1
#apt install clamtk-gnome
Este plugin permite escanear ficheros haciendo click derecho sobre el mismo.
📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.
RKHunter
Rkhunter es una aplicación para línea de comandos que se encarga automáticamente de analizar nuestro sistema en busca de rootkits, malware, scripts maliciosos, backdoors y otro tipo de software potencialmente peligroso en nuestro sistema GNU Linux para saber en todo momento si nuestro sistema se encuentra realmente seguro o de lo contrario estamos siendo víctimas de piratas informáticos.
Personalmente he seguido los pasos del artículo How to Install Rkhunter on Ubuntu 20.04 para instalar y configurar escaneos regulares.
A modo de resumen la manera de instalar, actualizar y usar Rkhunter es la siguiente:
1
2
3
#apt install rkhunter -y
#rkhunter --update
#rkhunter --check
¿Qué es un rootkit?
¿Qué se observa en el fichero /var/log/rkhunter.log
?
¿Qué tres programas conocemos ya para abrir ficheros en el propio terminal?
¿Qué es CRON? ¿Dónde está el script de RkHunter que se ejecuta diariamente?
📷 Haz una o varias capturas que demuestren que la actividad ha sido realizada satisfactoriamente por ti.