Saltar navegación

DEFENSA LAURA COBEÑO - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 15 de mayo de 2025 por M.pilar P.

1 visualizaciones

Descargar la transcripción

Bueno, sí, totalmente. Perfecto. ¿Puedes ver bien la pantalla que estoy compartiendo? Vale, fenomenal. Bueno, pues mi nombre es Laura Coveño y efectivamente voy a presentar el proyecto final del módulo de Administración de Sistemas Informáticos en Red. Yo lo he titulado Plataforma de Gestión de Contraseñas Seguras. 00:00:05
Un pequeño índice nada más a modo de resumen de lo que quiero presentar, hablaré un poquito de la introducción de por qué me planteo este proyecto, qué objetivos tengo con el proyecto, qué tecnología he usado para desarrollarlo, hablaré de la parte del desarrollo del proyecto, de las pruebas que he hecho y luego la parte final ya de producción o puesta en marcha, un poquito de la documentación que he considerado oportuna generar a raíz del proyecto y luego finalmente el contexto laboral, conclusiones, 00:01:08
y vías o caminos a seguir más adelante, porque bueno, esto lógicamente es un proyecto, un inicio, pero tiene, yo creo, mucha capacidad de desarrollo a largo plazo. 00:01:38
Entonces, problema o necesidad que he detectado yo, ciberseguridad, sabemos que hoy en día es un aspecto crítico, ataques, ciberataques, robos, phishing, etc. 00:01:52
CTC. Contraseña yo creo que es un poco la primera línea de defensa que tenemos en cualquier 00:02:08
sistema informático, en cualquier programa, en cualquier aplicación. La contraseña es 00:02:14
un poco la primera barrera a la hora de frenar estos ataques, este tema de ciberseguridad. 00:02:19
Yo me he dado cuenta, sobre todo desde que he empezado la formación en centros de trabajo, 00:02:25
que los usuarios cometemos muchísimos errores a la hora de gestionar, generar y sobre todo 00:02:30
almacenar contraseñas. Yo mi formación en centros de trabajo la he desarrollado haciendo 00:02:37
una instalación de un programa multiplataforma que funciona un poco como gestor de almacén, 00:02:43
facturación, proveedores. Lleva 200.000 contraseñas. Sí que es verdad que es un programa que tiene 00:02:49
muchísimas aplicaciones, pero también tiene muchas contraseñas. Entonces, desde el minuto 00:02:56
uno yo me di cuenta que yo, para empezar, yo como instaladora o como un poco desarrolladora 00:03:01
de esa parte de la tarea del programa, no era capaz de gestionar tantas contraseñas, 00:03:07
las almacenaba mal, las perdía, las tenía en un blog apuntadas y cuando luego he hecho 00:03:12
formación a clientes y he estado trabajando con los clientes me he dado cuenta que les 00:03:18
pasaba exactamente lo mismo, con lo cual dije, bueno, pues aquí tenemos una cosa importante 00:03:21
a trabajar y que voy a utilizar para mí y proyecto final de módulo porque creo que 00:03:27
es algo interesante. Sí que es verdad, como comento aquí en la diapositiva, que existen 00:03:32
muchas soluciones ya en el mercado, ¿vale? Pero la inmensa mayoría de ellas para empezar 00:03:36
son de pago y luego requieren una serie de instalaciones, mantenimientos, recursos que 00:03:41
en muchos casos no son necesarias o creo que no son necesarias. Hay empresas pequeñas 00:03:49
o proyectos pequeños que sí necesitan gestionar bien las contraseñas, pero que no requieren de una infraestructura como estas soluciones de pago. 00:03:53
Entonces, un poco aquí en este contexto, dime, la voy pasando, pues ya estamos, una vez por lo paso aquí ya está, vale, bueno, 00:04:01
Un poco poniendo en antecedentes de dónde he detectado yo el problema y por dónde quiero tirar. Seguimos desde aquí entonces, ¿vale? Nada, a ti, perdona, ¿eh? 00:04:37
Entonces, como te decía, la idea o lo que me propongo como objetivo general de este proyecto es mejorar la seguridad a los usuarios 00:04:49
ofreciéndoles una alternativa que sea sencilla y sobre todo gratuita, que les permita almacenar las contraseñas 00:04:59
sin tener que depender de estas aplicaciones o de estas soluciones que te digo que están en el mercado 00:05:05
pero que suelen ser privativas o de pago 00:05:09
Dentro de ese objetivo general me marco también unos objetivos específicos para el proyecto 00:05:11
Lo que quiero es que haya una autenticación con el tema del pass hash. Necesito o creo que necesitamos tener una interfaz web que nos permita que el usuario, de una manera muy sencillita, muy sencillita, pueda ir almacenando contraseñas. 00:05:17
Quiero también crear una base de datos que esté cifrada, que lleve sus medidas de seguridad y que sea muy básica para que no consuma ni requiera demasiado mantenimiento. 00:05:33
Y luego, por supuesto, que el acceso a esta interfaz web sea de forma, con protocolo SSL, para garantizar la seguridad de todos los datos. 00:05:45
Y siguiendo un poco una arquitectura más o menos modular, ¿vale? Dentro de las posibilidades... ¡Uy! Perdón. 00:05:54
Vale, entonces, en cuanto a la tecnología que he utilizado para desarrollar este proyecto 00:06:00
He trabajado todo con VirtualBox, he creado tres máquinas virtuales, ¿vale? 00:06:08
En un entorno LAN, una máquina que he llamado máquina de desarrollo 00:06:13
En la que llevo a cabo toda la creación de base de datos, toda la generación del backend 00:06:17
Un frontend un poquito así facilón, una aplicación que conecte ambos 00:06:23
Eso va todo en una máquina que he llamado de desarrollo 00:06:29
Una máquina de pruebas que es la que voy a utilizar para todo el tema de seguridad, de hacer pruebas de ciberataques, de pentesting y demás. Y finalmente una máquina de producción en la que ya voy a hacer, digamos, la gestión real de las contraseñas, voy a hacer la producción real de mi proyecto. 00:06:32
¿Vale? Todas van basadas en arquitectura cliente-servidor y todas en un entorno Linux con Apache, MySQL y PHP, menos en la máquina de producción en vez de Apache he utilizado otro servidor web que, bueno, ahora un poquito más adelante os cuento cuál y por qué. 00:06:51
Como decía, hay una primera máquina que es de desarrollo en la que llevo a cabo tanto el backend como la aplicación como el frontend 00:07:09
Dentro del backend, bueno es que esto claro debería ir saliendo una a una las imágenes, perdona 00:07:17
Pero como no va en presentación que lo he puesto aquí 00:07:23
Decía que hay como tres partes básicas dentro del backend 00:07:26
Por un lado la base de datos, el lenguaje PHP que es un poco el que configura y conecta 00:07:32
y Apache, que es con el que hacemos el servicio web. 00:07:38
Como base de datos, en vez de MySQL, me he decantado por SQL Edit, 00:07:42
una base de datos que es un poquito más ligera, que no necesita servidor, muy fácil de uso, 00:07:48
una única tabla relacional en la que ponemos usuario y contraseña, 00:07:53
y poco más, porque realmente la finalidad del gestor o de esta plataforma es almacenar contraseña. 00:07:57
Es usuario y contraseña, usuario y contraseña. 00:08:05
PHP, que es el lenguaje que utilizamos y cómo configuramos todo, vamos a utilizar tanto el password hash como el password verify, hash para el tema de revelación y subida de contraseñas, verify para tenerlas almacenadas y verificadas correctamente. 00:08:08
Apache también lo he utilizado no solamente como servidor web, sino para instaurar una serie de cabeceras de seguridad, intentando siempre mejorar. 00:08:26
Lógicamente es una plataforma que va a almacenar datos clave para la empresa o para el servicio o para la aplicación 00:08:34
Y quiero que tenga, pues, cuanta mayor seguridad, mejor 00:08:41
Por último, también me parecía correcto o creo que era necesario tener un backup diario, ¿vale? 00:08:45
Entonces he utilizado la aplicación de Chrome que funciona muy bien en Linux 00:08:51
Y que me permite configurar, pues bueno, en este caso ha sido diario, que se haga a medianoche 00:08:56
un backup todos los días para tener 00:09:01
esa información guardada 00:09:03
después necesitaba 00:09:05
generar o tener una 00:09:08
aplicación que un poco 00:09:09
gestionara todas estas contraseñas 00:09:11
y las tuviera almacenadas 00:09:13
para hacer un poco la comunicación 00:09:15
con la base de datos, pues bueno, tenemos 00:09:17
el archivo base database 00:09:19
PHP y luego 00:09:21
lo que he hecho ha sido, por eso decía 00:09:23
es una estructura modular 00:09:25
entre comillas, dentro de la 00:09:26
simplicidad del proyecto 00:09:29
Archivos independientes para cada una de las partes 00:09:30
Tengo un archivo para el registro de usuarios 00:09:34
Tengo un archivo para el acceso de usuarios 00:09:36
Tengo un archivo para actualizar los usuarios 00:09:39
Y otro archivo para que se eliminen los usuarios 00:09:41
De esta forma hacemos un poquito modular todo el tema de la base de datos y de la aplicación 00:09:45
Con respecto al frontend lo que yo quiero es que el usuario de forma intuitiva, facilona y rápida 00:09:51
pueda teclear su contraseña, guardarla y olvidarse, ¿vale? 00:10:01
Tener dentro de un mismo archivo o de un mismo login, un mismo role, 00:10:06
todas las contraseñas que necesite tener disponibles, ¿vale? 00:10:13
Para eso dentro del frontend lo que hemos hecho es una interfaz, como se ve ahí, muy facilona, 00:10:16
con un código HTML que, lo siento, está puesto en una de estas ventanitas. 00:10:21
Luego, cuando se ve la presentación una a una, es un código muy fácil, muy intuitivo, una hoja de estilo, pues eso, algo limpito, claro y accesible y Java para que haya una conexión entre datos y pueda funcionar, ¿vale? Esta sería la parte de desarrollo, ¿vale? Lo que es la base o lo que es la estructura del proyecto, del gestor de contraseñas. 00:10:27
Luego lo que decíamos, vamos a trabajar con contraseñas, es información muy delicada para la empresa o para el proyecto o para la aplicación y hice una segunda parte que era ver qué seguridad, qué usabilidad, qué escalabilidad tenía esa plataforma que habíamos creado. 00:10:55
Entonces, lo primero que hicimos fue realizar pruebas de seguridad, creamos la máquina pruebas, como he dicho al principio, para hacer como de atacante a nuestro sistema y luego, bueno, he desarrollado varios test, algunos que habíamos visto a lo largo del módulo, otros que, bueno, he visto yo que podían ser interesantes. 00:11:14
Por ejemplo, Nmap lo hemos usado en el curso para ver escaneo de puertos, ver qué servicios están activos y demás. 00:11:35
Nico también se mencionó en su momento para ver las vulnerabilidades que podía tener el servidor. 00:11:43
Y, bueno, OpenBAS sí que es un poco el más novedoso de todos los que he utilizado, como un escaneo así más avanzado que había que configurar 00:11:49
y que me daba mucha más información sobre las necesidades que podía tener a nivel de seguridad todo este proyecto. 00:11:57
Entonces, bueno, vale, voy a acelerar entonces. 00:12:04
como son la heurística, como son experiencias de usuario, encuestas y demás, pues siempre intentando mejorar y hacer más fácil el acceso. 00:12:34
Pruebas de carga y rendimiento. JMeter y Locus los hemos visto en el módulo, pues un poco ver si mi plataforma era capaz de soportar carga de trabajo y volumen de trabajo. 00:12:42
Una vez que habíamos visto todas esas técnicas y que habíamos mejorado todo eso, lo que hicimos fue, ya instalado en la máquina de producción, 00:12:52
utilizando, como decía al principio, en vez de Apache, NGINX como servidor web. 00:13:00
Un poquito porque me permitía más jugar, porque quería probar un servidor nuevo, 00:13:05
porque un poco como proxy inverso tiene más ventajas, pues bueno, de ahí la opción, ¿vale? 00:13:10
Copie el proyecto tal cual de la máquina de desarrollo a la máquina de producción, 00:13:15
se ve aquí cómo está funcionando, configuración del firewall y a funcionar con el proyecto, ¿vale? 00:13:19
En principio, le metimos también seguridad, ¿vale? 00:13:26
Con el tema de que en vez de acceso por HTTP, fuera por HTTPS. 00:13:30
Usando Cervo, hemos creado, es una aplicación que te permite certificados gratuitos. 00:13:35
Pues, bueno, garantiza un poquito más la confidencialidad y la seguridad de los datos en el sistema. 00:13:41
He generado una serie de guías, tanto para la instalación de esta plataforma, 00:13:47
como para la administración y como para los usuarios finales, con los pasos. 00:13:51
Muy sencillito, está todo adjunto en el proyecto para que lo puedan ver. En cuanto a contexto laboral, creo que tiene mucha utilidad para pequeñas empresas o empresas que quieren ahorrar costes o que quieren tener un mantenimiento muy sencillito, porque como habéis visto, todo esto se gestiona desde la misma plataforma, no necesita actualizaciones y es totalmente gratuito. 00:13:55
Con lo cual, pequeñas y medianas empresas, centros educativos, usuarios individuales o NGs, pues bueno, me parece una alternativa económica y funcional muy buena para todo lo que hay de pago. 00:14:16
Lo que decía, hemos desarrollado con PHP y SQLiter un cifrado robusto, una protección frente a inyecciones SQL, las pruebas de seguridad nos han dado información para mejorar un poquito la aplicación y de cara al futuro lo que me planteo para seguir, porque creo que tiene potencial y tiene capacidad para desarrollarse más, un poquito más, pues una autentificación multifactorial, pues bien por un código, por una SMS, por lo que sea. 00:14:28
hacer que se pueda directamente poner como una extensión en el navegador, incluso generar aplicaciones que bien en el móvil o bien en el escritorio me dejen guardar las contraseñas y bueno, ya a nivel un poquito más profesional, hacer un despliegue en la nube, pues convirtiéndola en una SaaS profesional y un poquito más escalable para si nos vamos a empresas más grandes que ya sí requieren otro tipo de gestión. 00:14:58
Pues cualquier cosa, cualquier duda 00:15:27
Estoy a vuestra disposición 00:15:30
00:15:32
Bueno, Java 00:15:59
La verdad que la API no me ha dado tanta guerra 00:16:47
Como me ha dado Java 00:16:50
Sí que es verdad que bueno 00:16:51
PHP es muy intuitivo 00:16:53
Muy facirón 00:16:56
Yo tengo algo de conocimientos en Python 00:16:56
Pero Java me ha supuesto un reto 00:16:59
Por eso, porque dentro de que 00:17:02
Sé que es el más utilizado 00:17:04
o en teoría es el más utilizado, sí que es verdad que el tema de programación en Java me ha costado bastante. 00:17:05
He tenido que leer mucho y empaparme mucho para algo, yo sé que esto es muy sencillito lo que he hecho, 00:17:11
pero bueno, me ha requerido sí que es verdad ponerme un poco de cero con Java. 00:17:17
He tenido dificultades porque al principio no conseguía la conexión entre el backend y el frontend, 00:17:31
Me daba errores, pero yo creo que era todo. Yo tengo un grave problema con el tema de puertos, de firewall y demás. Entonces, muchas veces intentando ser muy restrictiva e intentando que la API nos rompiera un poco la seguridad que tiene que haber entre los datos del backend y del frontend, sí que es verdad que esa parte, la parte de conexión entre la zona de administrador y la zona de usuario, sí que la API me lo puso un poco complicado. 00:17:37
Bueno, a ver, yo creo que ofrece, por ejemplo, todo el tema del password. No todas las aplicaciones lo llevan. A la hora de recopilar y de guardar las contraseñas hay aplicaciones que sí lo utilizan y otras que no. 00:18:18
Yo creo que es importante y sobre todo el cifrado SSL que permite, yo lo que he hecho ha sido recanalizar todo el tráfico HTTP al HTTPS para garantizar un extra más de seguridad. 00:18:42
Entonces yo creo que también las cabeceras que marqué en Apache al principio, una serie de puntos extra, que hay aplicaciones que tienen uno, tienen el otro, pero no tienen, yo estoy aplicando tres puntos que considero básicos de seguridad. 00:18:56
Entonces hay aplicaciones que llevan dos, aplicaciones que llevan también los tres, pero bueno, quizá utilizan Apache, que como proxy funciona, no que funcione peor, pero bueno, tiene un poquito más de ventajas en el GIMP. No lo sé, quizá por ahí sea el punto fuerte de mi plataforma. 00:19:12
Perfecto, Pilar, mil gracias a ti. Perdona un poco el problema técnico, ¿vale? 00:19:39
No, no, no. 00:19:58
Fenomenal, Pilar, pues muchísimas gracias. 00:20:00
Pues sí, hasta luego. 00:20:04
Gracias. 00:20:05
Materias:
Administración de Sistemas Informáticos en Red
Etiquetas:
Gestión de proyectos
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Subido por:
M.pilar P.
Licencia:
Reconocimiento - No comercial - Sin obra derivada
Visualizaciones:
1
Fecha:
15 de mayo de 2025 - 10:20
Visibilidad:
Clave
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
20′ 07″
Relación de aspecto:
1.88:1
Resolución:
1920x1020 píxeles
Tamaño:
1.36

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid