Propuesta de Proyectos Sistemas#

Este es un listado de proyectos que orientados a estudiantes de FP ASIR para su Proyecto de Fin de Ciclo (FAQ PFC). Son proyectos que, un estudiante de FP debería hacer en un esfuerzo estimado de unas 125 horas (el esfuerzo estimado del módulo). O un profesor (depende del profesor, claro) en menos de 25. Se supone que los profesores deberíamos ser muchos más productivos que un estudiante (hacerlo en menos tiempo).

Son proyectos que ya he hecho o que me gustaría hacer si tuviera una semana sabática ;-). Porque aunque una semana pueda tener 40 horas de trabajo, no es tan fácil tener 25 horas de trabajo real y trabajando con concentración.

En el caso del Proyecto de Fin de Ciclo (FAQ PFC) el currículum está muy orientado a una documentación extensa (generalmente burocrática y muy poco útil) de las fases típicas de un proyecto:

  • Diagnóstico. Encuentras un problema para el que propones una solución (tecnológica)

  • Análisis. Investigas las posibles alternativas que existen para resolver tu problema.

  • Diseño. Planteas un sistema informático que da una solución a tu problema

  • Implementación. Creas un prototipo y le vas añadiendo funcionalidad poco a poco

  • Pruebas. Ideal si lo pruebas con usuarios, monitoreas y vuelves a empezar

En la práctica puedes añadir documentación sencilla, pero útil y concreta. El objetivo sería que otra persona pudiera seguir tus pasos y realizar ese proyecto.

Algunos ejemplos:

WarDrive con Raspberry#

Quiero montar un sistema informático basado en Raspberry que me permita viajar por el coche durante 1h y que vaya recogiendo automáticamente todas las redes Wifi. Es decir, que haga un inventario Wifi de una zona.

El sistema ha de ser portátil o como mucho conectado al coche.

WLAN completa con Raspberry#

Montar un servicio de control de red y acceso con raspberry que además tenga instalado pi-hole, un sistema de eliminación de anuncios y cierto control de privacidad. Ideal para profundizar los conceptos de dhcp, dns y servicios.

Se le puede convertir en punto de acceso inalámbrico (Wifi) y tener un portal cautivo (acceso a Internet con cuentas autenticadas). Puede ser portátil (con batería) o no.

El equipo hace de Wireless AP, router, proxy-cache, dns, dhcp, filtrado de direcciones, etc.

Monitoreo IoT con Raspberry#

Montar un sistema de monitoreo IoT usando Raspberry. Hay multitud de sensores posibles: temperatura, humedad, CO2, etc. El monitoreo podría hacerse utilizando utilidades de visión de datos (tipo Grafana).

Por ejemplo montar un sistema de riego automático para mis plantas y que pueda controlar desde cualquier parte. O monitorear el consumo de luz (con watímetros). Hay un sinfín de posibilidades.

Servicios con Autenticación Externa#

Instalar y Administrar un servicio cualquiera (web, correo, web-cache, videoconferencia, webdav, etc, etc) que tenga una gestión de usuarios externa. Es decir que:

  • Usa un sistema de autenticación externa tipo AAA (radius, tacacs, ldap)

  • o usa una base de datos

Además, que permita que la gestión de usuarios sea a través de un servicio web sencillo. Es decir que permita: * Altas, bajas (admin) o modificación (user) de los datos de usuario. * Gestión de propiedades de la cuenta: uso (tiempo o cantidad), limites horarios, tipos de acceso, etc

Uso de herramientas para pruebas de seguridad#

Uso de herramientas especializadas de seguridad (por ejemplo Kali Linux) para realizar intentos de penetración en un equipo concreto (ideal por ejemplo uno de tu centro educativo).

También lo puedes usar sobre máquinas virtuales y se puede mezclar con máquinas virtuales infectadas (en plan reto de detección).

Implantación de sistemas DaaS#

Un sistema de DaaS (Desktop As A Service) permitiría que un estudiante se pudiera conectar desde cualquier parte (no sólo en el centro) a su escritorio. Y este escritorio estaría en un servidor (o varios). Es decir, el escritorio no está instalado en tu máquina, sino que está en un servidor.

Sistema de Monitoreo en tiempo real#

Un sistema de monitoreo en tiempo real (por ejemplo tipo Elastic Stack) para análisis de logs de servicios y/o máquinas. Para que sea realmente útil, tienes que probar con datos reales (miles de línes de log y varias máquinas).

Lo ideal es usar una herramienta de monitoreo de uno (o mejor varios) equipo servidor. Por ejemplo si te dejan acceso al aula virtual del centro.

Sistema de Inventario (y diagnóstico) Hardware#

Similar al anterior pero enfocado en los puestos de trabajo. El sistema tiene que monitorear los parámetros de hardware, sistema operativo y red de todos los equipos en una red. Cuantos más mejor, por ejemplo todo un instituto (o una clase).

Algo así como un sistema tipo Aida (diagnóstico hardware de un equipo) pero que se pudiera desplegar en toda una red LAN. El objetivo final es tener un panel de control de todos los equipos de la red, con un sistema de alarmas y detección.

Puedes explorar el uso de agentes SNMP sobre un servidor central de control.

Servicios Especializados en máquinas públicas#

Hay varios servicios que no se pueden ver con la suficiente profundidad en los módulos y que solo nos da tiempo a explicar en sistemas de simulación o en entornos muy controlados. Un proyecto típico para reforzar lo ya visto es coger un servicio y montarlo en un servidor público y en un entorno lo más real posible. Por ejemplo:

  • Servicio completo de Webmail

  • Servicio de hosting web automatizado con control de usuarios

  • Servicio de correo completo con dominio público, control de spam, antiviruso y gestión automatizada de cuentas (con webmail o no)

  • Servicio de proxy-cache con autenticación y control de contenidos automático

Análisis del funcionamiento de un virus (dañino)#

Usar una máquina virtual infectada con un virus para conocer cómo funciona, cómo se esconde en el sistema y como lo utiliza un atacante. Un ejemplo interesante es Dark Comet.

Sistemas de Control de Versiones y Flujo continuo de desarrollo#

Montar un sistema que uso un sistema de control de versiones (git) dentro de un sistema de desarrollo continuo (gitlab/github). Tiene diferentes aplicaciones, por ejemplo:

  • Montar un servicio de hosting sencillo (como GitHub Pages)

  • Usar gitlab para el despliegue de máquinas virtuales y/o contenedores (es decir, el control de los archivos de configuración y despliegue)

Datacenter en el Instituto#

Como cada día más, las máquinas virtuales se pueden desplegar por comandos, un proyecto muy interesante es, para un instituto, desarrollar un sistema que permita, de forma automática crear/borrar/modificar máquinas virtuales en diferentes SO.

Algo así como un Google Cloud/Azure/AWS, pero sobre una máquina propia. El usuario (alumno) no dependería de virtualizacion en local, sino que todas las máquinas estarían en un (o varios) servidores principales. El alcance del proyecto puede ser básico (estudiar y documentar el sistema), medio (hacer un prototipo sencillo), alto (montar sistema de despliegue automático con un servicio web).

AC Privada para acceso a los servicios#

Un instituto necesita montar un sistema de certificación propio, que además distinga los diferentes roles en el instituto (Personal Docente, No Docente y Estudiantes). Es un instituto con mucha rotación, y por eso es importante que el sistema de certificación sea lo más automático (sin intervencion humana) posible.

El usuario deberá presentar su DNI en Secretaría para finalizar la certificación.

Este certificado le permitirá al usuario acceder a los diferentes servicios del centro: acceso a su escritorio, a su ordenador, a la red (si trae su propio ordenador).

Sistema de Almacenamiento Cloud#

Un instituto necesita crear un sistema de almacenamiento online para sus empleados y estudiantes. Es decir, como un dropbox. Debe ser lo más fácil de usar y automático. Ideal que haya sincronización automática entre carpetas (estilo dropbox).

Control Sistema de Transporte#

La empresa Monbus se encarga del transporte de los estudiantes del IES Leliadoura y presenta muchísimos problemas porque periódiamente:

  1. Hay estudiantes que tienen que cambiar de bus (no van en el que tienen asignado)

  2. Algún bus llega tarde y retrasa la recogida de estudiantes

  3. Hay que gestionar la asignación del bus que falta

  4. Hay estudiantes que cogen el bus pero otros se van caminando

  5. Hay estudiantes que salen por la puerta de transporte, pero no

  6. El equipo directivo y los profesores de guardia no tienen un mecanismo sencillo de control

  7. Son tantas las reclamaciones que no es sencillo hacerlas de forma manual.

Seguro que hay algún sistema de control de transporte escolar para los centros educativos que permita mejorar la vida de los estudiantes, el personal de transporte y el personal del centro educativo. Hay varias formas de proponer un sistema tecnológico que permita un control automatizado de la salida del centro, la entrada a los autobuses y un control del sistema. Además debe permitir organizar las incidencias de forma automática.

Un problema extra podría ser el control de la privacidad del estudiante, aunque ahora mismo usan un tarjeta nominal, que en realidad sería el mismo problema

¿Alguno más?#

Seguiré añadiendo más ejemplos. Y si se te ocurre alguno, me lo puedes enviar también.