DEFENSA LAURA COBEÑO - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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
Sí
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
- Ciclo formativo de grado básico
- 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