Captura de pantalla de la ventana de configuración de actualizaciones de Ubuntu 22.04

Actualizaciones automáticas, ¿sí o no?

Después de comentar en clase con mis estudiantes la importancia de las actualizaciones para mantener la seguridad de un sistema surgió del debate de si deberíamos programar las actualizaciones automáticamente o no y, como en la mayoría de casos, hay que matizar algunas cuestiones. Aquí tenéis mi opinión al respecto

Cualquier software es susceptible de recibir actualizaciones: sistemas operativos, SGBD, navegadores, máquinas virtuales, servicios, librerías, plugins, aplicaciones web, etc. Actualizar nuestros sistemas y aplicaciones es de suma importancia para resolver las vulnerabilidades que se van encontrando y que pueden ser explotadas por ciberdelincuentes. Se trata de una medida que se ha de tomar cuanto antes. 

Para estar al día de las actualizaciones que nos puedan afectar debemos suscribirnos a boletines o servicios de notificación de los fabricantes o de organizaciones como Hispasec que dispone de un servicio llamado Una Al Día en el que informa de las últimas vulnerabilidades, filtraciones y otros problemas de seguridad que hayan sido publicados.

La importancia de las actualizaciones es incuestionable y probablemente para usuarios finales configurar las actualizaciones automáticas o actualizar inmediatamente nada conocer la existencia de un parche o actualización disponible sea una buen idea. 

Data Processing Technician 2nd Class Holt monitors a telecommunications console in response to a user trouble call in the Navy Regional Data Automatic Center.

Dicho esto habría que matizar esta decisión para un/a administrador/a de sistemas de una organización.  En el caso de software de una organización del que dependa la lógica de negocio en el que una contingencia tuviera un impacto medio o alto deberíamos plantearnos cuándo actualizar. Existe software complejo con muchas dependencias que podría afectar a otras aplicaciones y cuya actualización podría suponer una parada y pérdida de disponibilidad y en el peor de los casos pérdida de integridad de la información. Se conocen casos de sistemas que no se han levantado tras una actualización y han causado grandes pérdidas a la organización. Una simple actualización de un fichero de configuración al que se han dedicado horas de trabajo podría suponer un quebradero de cabeza para un/a administrador/a de sistemas y podrían pasar días hasta encontrar el fallo y conseguir levantar los sistemas.

🃏En estos casos mi recomendación sería:

  1. En primer lugar, informarnos sobre dicha actualización, consultar en foros o a otros/as administradores/as de sistemas si han tenido algún problema con la actualización.
  2. Hacer una backup para poder restaurar en caso de pérdida de integridad.
  3. Probar la actualización en un entorno de pruebas como una máquina virtual si es posible.
  4. Buscar la mejor ventana de tiempo para realizar la actualización por si hubiera que reiniciar máquinas o si ocurriera alguna contingencia.
Captura de pantalla de login

Tarea: Políticas de gestión de contraseñas

Propósito

Conocer diferentes políticas de contraseñas que se pueden definir y aprender a definir algunas de manera práctica.

Descripción
  1. Configura al menos 4 políticas de contraseñas tanto en un sistema Linux y realiza una captura de pantalla del fichero de configuración recién modificado.
  2. Establece una caducidad de las contraseña para un usuario específico mediante el comando chage con una fecha de caducidad, un número máximo de días y con un período de aviso.
  3. El comando anterior permite actuar sobre un usuario específico, pero, ¿en qué fichero se pueden configurar estas restricciones para todos los usuario por defecto? Echa un vistazo a esta web
  4. Verifica que efectivamente están activas dichas políticas intentando cambiar la contraseña de algún usuario por algunas que no satisfagan las restricciones aplicadas.
  5. Configura una política de contraseñas en un sistema Windows y realiza una captura de pantalla de la ventana de configuración.
  6. Verifica que efectivamente están activas dichas políticas intentando cambiar la contraseña de algún usuario por algunas que no satisfagan las restricciones aplicadas.
  7. Reflexiona acerca de las diferentes opciones que ofrecen ambos sistemas y sobre sus implicaciones prácticas: cuál te parece más versátil, efectiva, fácil de configurar, etc.
Entrega

Adjunta las capturas de pantalla y los comentarios que consideres oportunos sobre tus reflexiones en el editor de la Moodle.

Criterios de evaluación implicados

RA1.h Se ha valorado la importancia de establecer una política de contraseñas.

Instrumentos de evaluación y calificación

Los conocimientos y habilidades adquiridas en la realización de esta práctica serán evaluadas más adelante mediante un cuestionario

Otros recursos interesantes

Zonasystem.com

Tarea: Implementando una DMZ

Propósito

  • Conocer la utilidad y funcionamiento de los cortafuegos.
  • Aprender a configurar cortafuegos básicos
  • Conocer diferentes escenarios y esquemas de configuración de cortafuegos, incluidas las DMZ.

Descripción de la tarea

Una empresa requiere tener un servidor web accesible desde internet pero necesita mantener una infraestructura segura de la información disponible en su red local por lo que no quiere que se pueda acceder a su red local desde Internet. Para darle solución a este problema podemos implementar una infraestructura de red desmilitarizada o DMZ.

Lo primero que debes hacer es crear el laboratorio de pruebas necesario para el escenario propuesto en la imagen de esta entrada. Para ello debes usar máquinas virtuales ligeras (sin interfaz gráfica), por ejemplo de Debian. Aquí tienes algo más de información de cada máquina para montar el laboratorio de pruebas:

  • Servidor web: 192.168.200.2 (red interna 2)
  • Máquina local: 192.168.100.2 (red interna 1)
  • Firewall: 192.168.56.x (solo anfitrión) / 192.168.200.1 (red interna 2) / 192.168.100.1 (red interna 1)
  • Anfitrión: 192.168.56.x (esta máquina simulará una conexión desde internet)

Una vez creado el escenario de máquinas donde trabajar configura un script que establezca las reglas del cortafuegos necesarias para configurar una red desmilitarizada DMZ para el escenario propuesto en la imagen de esta entrada que satisfaga los requisitos especificados en la sección siguiente.

Requisitos
  • Define políticas restrictivas por defecto en INPUT, OUTPUT y FORWARD.
  • Se permite acceso SSH al firewall desde la la red LAN.
  • Se permite el ping desde la LAN hacia el cortafuegos y la DMZ.
  • La máquina 192.168.200.2 situada en la DMZ dispone de un servidor web que será accesible desde internet.
  • La red DMZ no dispone de acceso a internet para evitar que algún atacante que haya conseguido acceso pudiera descargar malware a dicha máquina.
  • La máquina de la red DMZ (192.168.200.2) no puede acceder a la red local.
  • La red LAN tiene acceso al web server de la DMZ.
  • La red LAN tiene acceso a Internet.
  • Debido a ataques recibidos desde la IP 200.10.23.21 debes denegar el tráfico HTTP y HTTPS al servidor de la DMZ.
  • El script lista las reglas introducidas e información sobre las veces que se ha hecho uso de cada regla.
  • El script elimina las reglas previamente creadas antes de introducir el resto de reglas.
  • El script contiene comentarios que explican lo que se está haciendo en cada línea y para qué se tiene que hacer.
  • Las pruebas realizadas deben mostrar tu nombre en el prompt o el nombre de usuario
Recursos
Entrega

Elabora una presentación en la que demuestres el funcionamiento correcto del cortafuegos y que incorpore también el script de ejecución del mismo.

Criterios de evaluación implicados

4.h) Se ha instalado y configurado un cortafuegos en un equipo o servidor.

Instrumentos de calificación
Terminal de Linux con la herramienta msfconsole

Tarea: Explotando vulnerabilidades con Metasploit

Propósito
  • Conocer las fases de un ciberataque.
  • Entender la importancia de mantener el software actualizado.
  • Aprender a usar la herramienta Metasploit para explotar las vulnerabilidades de un equipo.
Descripción de la tarea

Para realizar esta práctica usaremos el laboratorio virtual Metasploitable, una máquina virtual con múltiple vulnerabilidades que se han de encontrar y explotar. Además tendremos que instalar Metasploit y haremos uso del comando nmap por lo que deberás instalarlo si aun no lo tienes.

Instalando el laboratorio de pruebas Metasploit

Lo primero que debemos hacer será descargar la máquina virtual y crear una nueva máquina virtual cuyo disco virtual, previamente creado sea el de Metasploit recien descargado. A continuación tienes algunas capturas del proceso:

Creamos el disco virtual
Pulsamos en Añadir y elegimos el archivo .vmdk de Metasploit
Pulsamos en Nueva (máquina virtual)
En el paso de elegir disco virtual seleccionamos el de Metasploir previamente creado
Instalando la herramienta Metasploit

El siguiente paso será instalar y configurar la herramienta para realizar los ataques Metasploit y más concretamente su consola de comandos msfconsole. Aquí tienes una receta para instalarlo en Ubuntu 20.04.

Explorando y atacando la máquina

Llegado a este punto debes escanear los servicios de la máquina con nmap y obtener toda la información posible como por ejemplo, el sistema operativo de la máquina víctima, si está detrás de un cortafuegos, la versión de los servicios que están detrás de cada puerto abierto, etc.

Una vez hayamos obtenido suficiente información de la red y la máquina víctima debemos buscar exploits para cada servicio que queramos atacar usando la consola msfconsole. Para buscar usaremos el comando search con el filtro type:exploit.

Para usar uno de los exploit encontrados usaremos el comando use para elegir el exploit de la lista generada. Después deberás usar el comando options para ver las opciones de dicho exploit y set para configurar las opciones que sean requeridas para su ejecución. Por último teclea run para ejecutar el exploit.

Echa un vistazo a la sección recursos para aprender con más detalle cómo usar Metaxploit.

Recursos
Entrega

Elabora una presentación con capturas de pantalla de los exploits usados con éxito en msfconsole y escribe el enlace a la presentación en el editor de la Moodle.

Criterios de evaluación implicados

4.a) Se ha identificado la necesidad de inventariar y controlar los servicios de red

Instrumentos de calificación

Los conocimientos adquiridos con el desarrollo de esta tarea serán evaluados mediante un cuestionario en Moodle.

Resultados de búsqueda de Shodan

Tarea: Escaneando servicios visibles en Internet con Shodan

Propósito

Aprender a obtener información visible en Internet con Shodan

Descripción de la tarea

En la práctica Obteniendo información de una red local con Nmap aprendiste recogiste información visible desde dentro de tu red loca. También será necesario monitorizar los servicios abiertos a Internet de las que eres responsable por si alguien o tu mismo/a has abierto algún servicio indebidamente. El objetivo de esta práctica será usar el buscador Shodan para monitorizar los servicios que son visibles desde Internet. Esta es la utilidad del buscador Shodan.io, una herramienta desde la que podemos hacer muchas cosas desde su interfaz web, pero en este caso vamos a instalar la aplicacion para poder ejecutarla desde la línea de comandos y así poder integrarla en un script que se ejecute periódicamente y, por ejemplo, nos notifique cuando Shodan haya indexado algún servicio en las IP o nombres de dominio que administramos.

Sigue las siguientes instrucciones siguientes para completar la tarea:

  1. Lee y visualiza el vídeo de esta web.
  2. Regístrate en Shodan.io.
  3. Verifica que tienes una versión de python superior a la 3.8 para instalar el cliente de línea de comandos de shodan. Para instalarlo en Ubuntu 20.04 puedes usar $pip install shodan.
  4. Busca en esta web cómo obtener tu IP pública con el comando shodan.
  5. Ahora ejecuta el comando necesario para buscar si Shodan ha indexado tu IP y muestra algún puerto abierto.
  6. Ahora realiza alguna otra búsqueda más general de servicios publicados en internet en la que demuestres que conoces más utilidades del buscador.
  7. Explica cómo podría un atacante usar esta herramienta.
Entrega

Contesta a estas preguntas en el editor de la tarea en Moodle

Criterios de evaluación implicados

4.a) Se ha identificado la necesidad de inventariar y controlar los servicios de red

Instrumentos de calificación

Los conocimientos adquiridos con el desarrollo de esta tarea serán evaluados mediante un cuestionario en Moodle.

Salida de la ejecución del comando nmap

Tarea: Obteniendo información de una red local con Nmap

Propósito

Aprender a obtener información de una red local

Descripción de la tarea

Escribe los comandos necesarios para:

  1. Obtener la lista de máquinas levantadas de tu red.
  2. ¿Cómo identificarás si hay alguna detrás de un cortafuegos?
  3. Obtener la lista de máquinas que tenga un servidor web, FTP, correo o SSH abierto.
  4. Obtener la versión de los servicios abiertos de alguna máquina.
  5. Obtener el sistema operativo de alguna máquina interesante de la red.
  6. Cita al menos 3 aplicaciones de gestión de inventariado de red aportando enlaces a las webs oficiales de cada una.
Entrega

Contesta a estas preguntas en el editor de la tarea en Moodle

Criterios de evaluación implicados

4.a) Se ha identificado la necesidad de inventariar y controlar los servicios de red

Instrumentos de calificación

Los conocimientos adquiridos con el desarrollo de esta tarea serán evaluados mediante un cuestionario en Moodle.

Shell script para hacer una backup con tar

Tarea: Backup remota programada

Propósito

Conocer algunas de las herramientas más utilizadas para realizar copias de seguridad remotas y programadas en sistemas Linux y entender su uso

Descripción de la tarea

El objetivo de esta tarea será implantar una estrategia de backup para la carpeta de tu prácticas de clase.

Para implementar dicha estrategia se han de usar los comandos:

  • tar: para empaquetar y comprimir.
  • cron: para programar la copia automática.
  • rsync o rclone: para enviar las copias a una ubicación remota como un servidor NAS, ssh o tu Google Drive.

La backup debe enviarse a una ubicación remota como un servidor FTP, SSH o Google Drive, por ejemplo. Además se ha de programar para que se realice automáticamente por lo que sería recomendable crear un shell script con los comandos necesarios para crear la copia y enviarla a la ubicación remota. Otra recomendación sería que estamparas la fecha en el nombre del fichero de backup como se indica en los recursos enlazados más abajo.

Una vez implementada y probada la estrategia se debe elaborar una presentación en la que se explique la estrategia a seguir y cómo se ha implementado, es decir, el software usado para cada operación (copia, programación diaria, copia remota, etc.) y los parámetros de configuración de dicho software.

Recuerda que una presentación no debe contener párrafos largos y que destacar en negrita y/o cursiva las palabras más importantes ayudan a su lectura.

En la sección recursos encontrarás información para resolver el problema planteado en esta tarea.

Entrega

Enlace a la presentación.

Requisitos
  • El enlace a la presentación es accesible.
  • La presentación contiene la información necesaria para poder verificar los criterios de calificación.
  • Se adjuntan capturas de pantalla e imágenes que complementen al texto.
  • Todo el software usado ha de ser ejecutado desde la terminal de Linux (sin interfaz gráfica).
Criterios de evaluación implicados

i) Se han utilizado medios de almacenamiento remotos y extraíbles.

Criterios de calificación
Uso del software usado para realizar las copias localesMUY BAJOBAJO
Muy simple. Faltan muchos detalles
MEDIO
Funcional, aunque faltan detalles
ALTO
Se ha elaborado un script. Se estampa la fecha.
0102030
uso del software usado para programar las copiasMISSING O DEMASIADOS ERRORESALGÚN ERRORSIN ERRORES
01530
uso del software usado para copiar remotamente las backupsMISSING O DEMASIADOS ERRORESREGULAR
Se ha intentado pero no se ha conseguido
BUENO
Se demuestra hacer las copias en un servidor remoto con RSync de manera correcta
EXCELENTE
Se demuestra hacer las copias en Google Drive con RClone de manera correcta
0102030
Otros criterios observadosAlgo está malNada mal pero tampoco reseñableAl destacable
0510
Recursos
infografía de las diferencias entre tipos de backup

Tarea: Supuesto práctico para diseñar una estrategia de backup

Propósito

Entender las particularidades de cada tipo de backup, sus ventajas y limitaciones a la hora de aplicarlas en un suspuesto práctico.

Descripción de la tarea

Se desean respaldar los datos de un servidor donde corre el software de gestión de contabilidad que hace uso de una base de datos y los documentos de una organización. La información que se desea respaldar ocupa actualmente 100GB y se estima que se modifica (crean, eliminan, modifican) un 1% de los datos cada día.

Se requiere tener copia disponible de cada día y mantener copias de todo un año de cambios en la información.

Si ejecutamos 1 copia completa diaria: 100GB x 30 días = 3.000GB mensuales. Es decir 3 TB/mes y si queremos guardar las copias de 1 año = 3TB x 12 = 36TB. Aunque los discos duros han reducido enormemente sus precios, se necesita una enorme cantidad de almacenamiento en comparación con la poca cantidad de datos que se van a proteger.

Realiza 2 propuestas de estrategias de backups que mejoren la anterior propuesta, explicando todos los detalles de tipo de backups, rotación de medios, etiquetado, ventajas de cada estrategia, etc. Para justificar las estimaciones sobre el tamaño de las copias que afectarán a la decisión sobre el tipo de backups y la estrategia de rotación, presenta una hoja de cálculo con los cálculos de la simulación del crecimiento en espacio de almacenamiento según la estrategia usada..

Requisitos

Se ha de presentar una propuesta usando copias diferenciales y otra incrementales.

Entrega

Explica las estrategias de backup en el editor de la tarea en Moodle y adjunta un enlace a la hoja de cálculo con los cálculos necesarios realizados para simular el crecimiento del tamaño de las backups según cada estrategia.

Criterios de evaluación implicados

RA2.e) Se han seleccionado estrategias para la realización de copias de seguridad.

RA2.f) Se ha tenido en cuenta la frecuencia y el esquema de rotación.

RA2.g) Se han realizado copias de seguridad con distintas estrategias.

Criterios de calificación




Cálculos de estimación del espacio de almacenamiento necesario.
MissingMuy incorrectoAlgún errorCorrectoExcelente
 025810
Ventajas e inconvenientes de cada estrategia presentadaMissingCasi ninguna correctaVarias correctasMuchas correctasTodas correctas
 05101520
Comprende las diferencias entre copias incrementales y diferencialesNo las ha comprendido o no queda reflejado en su entregaTiene muchas dudasTiene algunas dudasAlguna ligera dudaCompletamente
 07152330
Efectividad y viabilidad de la estrategias presentadasNada efectiva o viableEs efectiva o viableEs efectiva y viableEs óptima 
 0102030 
Otros criterios observadosAlgo no tiene buena pintaNada reseñableAlgo destacable  
 0510  

 

Captura de pantalla de Clonezilla

Tarea: Imágenes de respaldo

Propósito

Aprender a realizar imágenes de discos y particiones

Descripción de la tarea

Disponer de imágenes de respaldo de discos y particiones es una práctica muy común y ventajosa en administración de sistemas ya que ahorra mucho tiempo y esfuerzo en el mantenimiento de equipos.

En esta tarea debes realizar una imagen de un disco o partición mediante el software Clonezilla para posteriormente restaurarla.

Clonezilla Live permite a los usuarios clonar una máquina individual, partición o disco para ser reproducido en otro medio. La clonación puede ser guardada como un archivo de imagen o como una copia exacta de datos. Los datos pueden ser guardados localmente (disco duro, pendrive, ……..), en un servidor SSH, servidor Samba o un recurso compartido de archivos NFS y luego restaurarlos en una fecha posterior. El software se puede ejecutar ya sea desde un arranque de unidad flash USB o cd/dvd.

Wikipedia

Puedes crear una imagen de alguna partición de tu PC para restaurarla posteriormente en una máquina virtual y así disponer de dicha imagen en caso de que tengas que restaurar tu equipo de trabajo por algún problema técnico.

Requisitos
  • El enlace a la presentación debe ser accesible.
  • Cada diapositiva debe contener un título conciso que complemente la imagen de la fase del proceso. Si hiciera falta se puede añadir algún campo de texto para explicar algún detalle relevante más.
  • Las imágenes deben estar personalizadas mediante alguna marca distintiva que demuestre que efectivamente el/la alumno/a es el autor/a.
Entrega

Enlace a una presentación que contenga imágenes de los pasos más significativos del proceso de realización y restauración de imágenes que demuestren que se ha completado con éxito la tarea.

Criterios de evaluación implicados

RA2.j Se han creado y restaurado imágenes de respaldo de sistemas en funcionamiento.

Criterios de calificación
  • Se ha demostrado que se creado una unidad de arranque de Clonezilla: 1 punto
  • Se ha demostrado que se ha creado una imagen de disco o partición: 4 puntos
  • Se ha demostrado que se ha restaurado una imagen creada: 4 puntos
  • Otros criterios observados: 1 punto
Recursos