🛡️ Practica de Evaluación
📋 Pautas Generales
- El proyecto consiste en crear y configurar una máquina virtual siguiendo reglas estrictas.
- Durante la defensa, la persona evaluada debe asistirte para verificar cada punto.
- Verifica que el archivo
signature.txt
esté en la raíz del repositorio clonado. - Compara la firma de
signature.txt
con la del archivo.vdi
de la máquina virtual usando el comandodiff
. - Haz una copia de la máquina virtual original como precaución.
- Inicia la máquina virtual a evaluar.
- Si algo no funciona o las firmas difieren, la evaluación termina aquí.
🛠️ Pruebas Preliminares
- Verifica que:
- 🧑🎓 La(s) persona(s) evaluada(s) está(n) presente(s).
- 📂 La entrega no está vacía y pertenece a la(s) persona(s) evaluada(s).
- Clona el repositorio Git en la computadora de la persona evaluada.
🔒 Parte Obligatoria
🌐 Explicación Virtualización
- Virtualización: Representación o imitación de un sistema físico creada por software.
- Hypervisor: Capa de software que permite a un servidor físico desplegar varias máquinas virtuales compartiendo recursos como RAM, disco duro, y CPU.
- Beneficios de la Virtualización:
- 📊 Eficiencia y aprovechamiento de recursos.
- 🔄 Cambio rápido de recursos.
- 🌐 Redundancia y continuidad del servicio.
- ⚡ Ahorro energético.
- 🔄 Creación y recuperación rápida de sistemas.
- 🧪 Creación de entornos de prueba temporales.
- 🌍 Despliegue de servicios en cualquier lugar.
- 💻 Creación de escritorios virtuales remotos.
- 📚 Aprendizaje.
🔥 UFW / Firewall
- Verifica que
UFW
(oFirewalld
en Rocky) esté instalado y funcionando:sudo ufw status
. - La persona evaluada debe:
- Explicar qué es UFW y su importancia.
- Enumerar las reglas activas en UFW. Debe haber una regla para el puerto
4242
. - Añadir una regla para abrir el puerto
8080
y verificarlo. - Eliminar la regla creada. Si algo falla, la evaluación termina aquí.
💻 Hostname y Particiones
- Verifica que el nombre del host esté formateado como
login42
(login de la persona evaluada):hostname cat /etc/hostname
- Cambia el nombre del host al tuyo y reinicia la máquina. Si no se actualiza, la evaluación termina aquí.
- Restaura el nombre de host original.
- Pregunta a la persona evaluada cómo mostrar las particiones de la máquina:
lsblk sudo fdisk -l
- Discute sobre particiones y pide una explicación sobre LVM y sus beneficios.
⚙️ SUDO
- Verifica que
sudo
esté instalado:sudo --version dpkg -s sudo which sudo
- La persona evaluada debe:
- Explicar el propósito y funcionamiento de
sudo
. - Mostrar cómo asignar a un nuevo usuario al grupo
sudo
. - Verificar que el directorio
/var/log/sudo/
exista y contenga al menos un archivo. - Revisar el contenido de los archivos en
/var/log/sudo/
. - Ejecutar un comando con
sudo
y verificar si se actualizan los archivos de log. Si algo falla, la evaluación termina aquí.
- Explicar el propósito y funcionamiento de
👤 Usuario
- Verifica que un usuario con el nombre de login de la persona evaluada esté presente y pertenezca a los grupos
sudo
yuser42
. - Crea un nuevo usuario y asígnale una contraseña respetando las reglas del tema.
- La persona evaluada debe:
- Explicar cómo implementó las reglas de la política de contraseñas.
- Crear un grupo llamado
evaluating
y asignarlo al nuevo usuario. - Explicar el propósito de la política de contraseñas y sus ventajas y desventajas. Si algo falla, la evaluación termina aquí.
🖥️ Visión General del Proyecto
- La persona evaluada debe explicar:
- 🔍 El funcionamiento básico de su máquina virtual.
- 🖥️ Su elección de sistema operativo.
- ⚙️ Las diferencias básicas entre Rocky y Debian.
- 🔄 Los beneficios de las máquinas virtuales.
- Si eligió Rocky, explicar SELinux y DNF.
- Si eligió Debian, explicar la diferencia entre aptitude y apt, y qué es APPArmor.
- Verificar un script que muestre información cada 10 minutos. Si no es claro, la evaluación termina aquí.
⚙️ Configuración Simple
- Verifica que la máquina no tenga un entorno gráfico al iniciar:
ls /usr/bin/*session
systemctl get-default
- Inicia sesión con un usuario que no sea
root
y verifica:- El sistema operativo:
cat /etc/os-release
- UFW esté iniciado:
sudo ufw status
- SSH esté iniciado:
systemctl status ssh
- El sistema operativo:
🔑 SSH
- Verifica que el servicio SSH esté instalado y funcionando:
dpkg -l | grep ssh sudo systemctl status ssh
- La persona evaluada debe:
- Explicar qué es SSH y su importancia.
- Verificar que SSH use solo el puerto
4242
:cat /etc/ssh/sshd_config | grep Port
- Conectarse usando SSH con el nuevo usuario creado.
- Verificar que el usuario
root
no pueda usar SSH:cat /etc/ssh/sshd_config | grep PermitRootLogin
Si algo falla, la evaluación termina aquí.
⏲️ Monitoreo del Script
- La persona evaluada debe:
- Explicar el funcionamiento de su script.
- Explicar qué es cron y crontab.
- Configurar el script para que se ejecute cada 10 minutos desde el inicio del servidor.
- Verificar el funcionamiento del script y luego configurarlo para que se ejecute cada minuto.
- Deshabilitar la ejecución del script al iniciar el servidor sin modificar el script.
- Reiniciar el servidor para verificar que el script no se ejecute al inicio. Si algo falla, la evaluación termina aquí.
🏅 Parte Bonus
- Las bonificaciones solo se examinan si la parte obligatoria es excelente.
- Verifica y prueba los servicios adicionales:
- Particiones valen 2 puntos.
- Configuración de WordPress vale 2 puntos.
- Servicio de libre elección vale 1 punto (NGINX y Apache2 están prohibidos).
- La persona evaluada debe explicar cada servicio adicional y justificar su elección.
📈 Calificación Final
- Califica de 0 (fallido) a 5 (excelente) según la gestión y ejecución de cada parte.