Software">
AGUILAR MORALES GUADALUPE ALEJANDRO Fortificacion de Un Entorno Linux 1020
AGUILAR MORALES GUADALUPE ALEJANDRO Fortificacion de Un Entorno Linux 1020
AGUILAR MORALES GUADALUPE ALEJANDRO Fortificacion de Un Entorno Linux 1020
Octubre 2022
1. Introducción .............................................................................................. 2
1.1. Alcance .................................................................................................. 2
1.2. Referencias ............................................................................................ 2
1.3. Definiciones ........................................................................................... 3
2. Justificación de la Inversión....................................................................... 4
3. Equipos que componen la solución ........................................................... 4
a. Características de software y Hardware .................................................... 4
4. Desarrollo de la Actividad ......................................................................... 5
1. Introducción
Este documento tiene como objetivo proporcionar información técnica sobre la
implementación y configuración segura de una máquina virtual basada en VmWare y cuyo
sistema operativo será Ubuntu, para la empresa "Example". Está dirigido al personal
encargado de la administración de la infraestructura de seguridad de TI y redes de la
empresa, así como al personal encargado de la administración y control de cambios del
personal de administración de sistemas. El documento incluirá información sobre la
configuración de un sistema de seguridad basado en Linux para la empresa "Example" para
la fortificación o “Hardening”.
1.1. Alcance
El alcance del proyecto incluye la configuración de una máquina virtual con 4GB de RAM,
10GB de disco duro y una interfaz de red en modo NAT. El espacio de usuario, /home, debe
estar en un volumen lógico separado. Además, el proyecto incluye las siguientes
responsabilidades:
En resumen estos son los objetivos finales de esta implementación virtual que son los
objetivos finales de las tareas documentadas en este reporte.
1.2. Referencias
https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-ubuntu-22-04-lts.html
https://jumpcloud.com/blog/how-to-enable-full-disk-encryption-on-an-ubuntu-20-04-desktop
https://www.cyberithub.com/how-to-password-protect-grub-boot-loader-in-ubuntu-20-
04-lts/
https://jumpcloud.com/blog/how-to-encrypt-ubuntu-20-04-desktop-post-installation
https://averagelinuxuser.com/linux-partitioning-recommendations/
1.3. Definiciones
Para facilitar la lectura y comprensión de este documento, se consideran las siguientes
definiciones:
En lo personal yo uso el concepto de “hardening”.
“Hardening” es el proceso de fortalecimiento de la seguridad de un sistema, dispositivo o
aplicación mediante la eliminación de debilidades y la configuración de opciones de
seguridad. El objetivo del “hardening” es reducir los puntos de ataque potenciales y
aumentar la resistencia del sistema frente a ataques maliciosos. Esto se logra mediante la
eliminación de software o servicios innecesarios, la configuración de políticas de seguridad,
la implementación de medidas de seguridad adicionales y la realización de pruebas de
penetración para identificar y corregir debilidades. El “hardening” se aplica comúnmente a
sistemas operativos, aplicaciones y dispositivos de red, y es esencial para garantizar la
seguridad de los sistemas y proteger los datos confidenciales.
b) NAT (Network Address Translation) es una técnica utilizada para permitir que
dispositivos conectados a una red privada utilicen una dirección IP pública compartida
para acceder a Internet. NAT se utiliza comúnmente en redes de área local (LAN) para
permitir que varios dispositivos compartan una conexión a Internet con una sola
dirección IP pública.
2. Justificación de la Inversión
Controladora
Características de Hardware Descripción
Producto LAPTOP
Marca (Fabricante) LENOVO
Modelo 20TD00J4US
Número de serie 12345
Peso máximo 3.5 Kg
Fuente de poder Externa
Almacenamiento 500 GB
Temperatura de Operación 10-25 C*
Características de Software Descripción
Sistema Operativo Windows 10 de Origen
4. Desarrollo de la Actividad
A. La máquina virtual debe tener 4GB de RAM, 10GB de disco duro y una interfaz de red en modo
NAT.
Cometarios o aclaraciones: Se crea una máquina virtual en Ubuntu con las características
solicitadas
B. El espacio de usuario, /home, debe estar en un volumen lógico separado.
Cometarios o aclaraciones: Desde la creación de la maquina se hace la partición solicitada
C. El disco duro debe estar cifrado con la clave: disc0Unir
Cometarios o aclaraciones: Abajo se observa como se cifra el disco según lo solicitado con la
contraseña.
Abajo se observa el disco ya encriptado con todos los volumenes
D. El usuario creado durante la instalación será unir con una clave SSSO0Unir
E. El grub debe estar protegido.
Cometarios o aclaraciones: Se hace la instalación de la aplicación grub y después se hace la
generación de la llave y
finalmente se prueba que al momento del arranque solicite la palabra clave
F. Securizar los comandos su y sudo
Se hace el aseguramiento de las funciones SUDO y SU
En la primera opción me equivoque intencionalmente y se hace la prueba con usuario unir y
con usuario privilegiado para ver diferencia
G. Se debe tener instalado OpenSSH server
H. Configurar IPTables para que solamente acepte conexiones a OpenSSH a través del puerto 22.
I. Los usuarios que van a trabajar en la máquina son del área de dirección y de
ingeniería. Crear un script que nos solicite el nombre de usuario, la contraseña, su
grupo (que si no existe se añadirá) y si es usuario administrador para permitirnos
crear usuarios en el sistema. Además, el script debe verificar si el usuario ya existe
en el sistema antes de darle de alta.
J. Usando el script anterior, crear el usuario Ingenieria01 no administrador con la
contraseña SSSO0Ing01 y otro Direccion01 con la contraseña SSSO0Dir01. Se debe
contemplar que se puedan añadir nuevos usuarios en el futuro.
K. Listar el fichero /etc/passwd para verificar que los usuarios existentes son los que
se han definidos
L. El usuario Ingenieria01 creará una carpeta que pertenezca a todos los usuarios del área
ingeniería y en la que puedan leer y escribir. A su vez, los usuarios del área de dirección
tendrán acceso de lectura al contenido ubicado en dicha carpeta.
M. Por último, se nos solicita montar un servidor proxy Squid con las siguientes características:
i. Evitar que los usuarios naveguen por sus correos personales de gmail.com, hotmail.com,
yahoo.com.
ii. Restringir que no se pueda navegar ningún día de la semana entre las 8 y las 10 de la mañana.
iii. Que los logs se almacenen en un fichero que se llame mensajes.log
iv. Instalar y configurar el navegador Firefox para usar el servidor Squid configurado y verificar que
se aplican correctamente las restricciones.
ARCHIVOS SCRIPT USADOS . El primer script es solicitado en la tarea.
El segundo script sirve para verificar automáticamente las carpetas de los usuarios
es extra
#!/bin/bash
while true; do
echo "Menú de usuarios"
echo "1) Alta, baja y cambio de usuarios"
echo "2) Ver contenido de /etc/passwd"
echo "3) Mostrar todos los usuarios, su grupo y permisos de lectura/escritura"
read -p "Selecciona una opción: " option
case $option in
1)
echo "Menú de alta, baja y cambio de usuarios"
echo "A) Alta de usuario"
echo "B) Baja de usuario"
echo "C) Cambio de contraseña de usuario"
read -p "Selecciona una opción: " sub_option
case $sub_option in
A) add_user;;
B) delete_user;;
C) change_password;;
*) echo "Opción inválida";;
esac
;;
2) show_passwd;;
3) show_all_users;;
*) echo "Opción inválida";;
esac
done
#!/bin/bash