Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Universidad De Cundinamarca
RESUMEN
“Los datos entre más claros y concisos, son mucho mejor”, esta es la propuesta en
marcha que queremos hacer en el sistema de registro académico, que sea eficaz en la medida
en que genera informes versátiles y completos. Sin embargo, en el accionar diario del
desarrollo del servicio educativo de una institución, se requiere una herramienta de fácil
acceso con todas las medidas de seguridad vistas en el trascurso de la carrera. El objetivo de
tipo académico para una determinada institución académica orientado a Web que permita la
Contenido
Contenido.............................................................................................................................3
INTRODUCCIÓN...............................................................................................................7
1. DEFINICIÓN DE LA APLICACIÓN.....................................................................8
5. VALIDACIÓN DE LA INFORMACIÓN............................................................50
5.6 La Funcionalidad...............................................................................................52
5.7.1 Alumnos:............................................................................................................53
5.7.2 Docentes:...........................................................................................................53
5.7.3 Administradores:................................................................................................53
6. AUDITORIA.........................................................................................................57
INTRODUCCIÓN
7
Este trabajo tiene como objetivo crear una herramienta que satisfaga
diligentemente los requerimientos institucionales de las instituciones educativas
relacionados con registro y control de alumno y sus respectivos cursos,
incorporando la posibilidad de registrar de forma continua y actualizada las
observaciones de cada curso en el cual se encuentre registrado el alumno
Razón y fundamento del presente trabajo que busca mostrar los alcances
en el uso e implementación de las TICS, desarrollando un software para
administrar la información académica, llevar seguimiento actualizado del
desarrollo normativo de los estudiantes y establecer vías diversas, de tipo
digital.
1. DEFINICIÓN DE LA APLICACIÓN
Salida a internet por el puerto 443 por medio del Firewall llegando al servidor
donde encontramos dos contenedores uno que contiene el Forner y el baken el cual
estará en el IC 443 se toma el puerto 443 del doker y se lo pasa al puerto 443 del
servidor en el servidor se tendrán instalado un servicio apache con la integración en
C# y conexión a la base de datos SQL Server
Se cuenta con las aplicaciones de Python y Angular por medio de Git con un
servicio Linux el cual estará corriendo en docker
Facilidad y rapidez de uso
Azure es una solución muy rápida y sencilla de utilizar para crear entornos de trabajo
en la nube. Su alta velocidad de despliegue permite tener listas aplicaciones y otros servicios
Docker es un proyecto Open Source que permite crear de forma fácil contenedores de
Los contenedores permiten a los desarrolladores crear una aplicación con todas las
partes que necesita como bibliotecas y otras dependencias y distribuirla como un solo paquete.
de dependencias, pero no solo a nivel de aplicación (vendors, bundles o librerías), sino también
aplicación puede llegar a ser complicado e impactar directamente tanto en los tiempos de
está controlado para impedir el acceso fuera del árbol de directorios del contenedor.
GITHub
realizar cambios y subir la versión que han modificado. Todas las modificaciones subidas se
La diferencia entre el control de versiones y Git, es que en Git cada desarrollador tendrá
en el ordenador una copia del código fuente original y de las versiones disponibles del
De esta forma todos los desarrolladores interesados en el proyecto podrán ver las
Cuando nos referimos a la parte del hub hablamos de lo que hace especial a este Git, la
Los servicios Docker cuentan con soporte por parte de proveedores cloud:
10
que se implementará la plataforma, lo que incluye conocer los procesos de registro y control
plataforma.:
representa la estructura estática de la plataforma y las relaciones entre las clases que la
componen. Las clases que se pueden definir incluyen Usuario, Alumno, Docente, Curso,
Inscripción y Asignación, cada una con sus respectivos atributos y relaciones. Por ejemplo, la
clase Alumno puede heredar de la clase Usuario, mientras que la clase Docente se relaciona
con la clase Curso para indicar que un docente imparte varios cursos y que un curso es
impartido por un docente. Este diagrama es útil para visualizar la estructura y el funcionamiento
arquitectura de la misma.
útil para visualizar la arquitectura y el funcionamiento de la plataforma, así como para identificar
base de datos que almacena los datos y el firewall que protege la plataforma de ataques externos.
Los elementos se comunican entre sí mediante conexiones de red, como la conexión entre el
la plataforma es útil para identificar posibles cuellos de botella, puntos de fallo o áreas de mejora
en el sistema.
13
objetos como Alumno, Docente, Administrador, Registro, Clase y Notificación, cada uno con sus
atributos específicos. Además, se establecen relaciones entre estos objetos para mostrar cómo se
relacionan en el sistema. Por ejemplo, se puede establecer la relación entre el objeto Alumno y el
objeto Clase, que indica que un alumno puede asistir a varias clases y una clase puede tener
varios alumnos. El diagrama de objetos es útil para visualizar cómo funcionan los diferentes
elementos del sistema y cómo se relacionan entre sí, lo que ayuda a entender mejor la estructura
cada uno con sus respectivas clases y componentes. Se establecen las relaciones entre estos
paquetes para mostrar cómo se organizan en el sistema. Por ejemplo, se puede establecer la
relación entre el paquete Alumnos y el paquete Registro, que indica que el registro de los
para visualizar la organización y estructura del sistema, lo que facilita la identificación de los
15
con sus permisos y restricciones específicos. Por ejemplo, el perfil de Administrador puede
tener acceso a todas las funcionalidades del sistema, mientras que el perfil de Alumno puede
tener acceso solo a su información personal y registro de clases. El diagrama de perfiles es útil
para visualizar cómo se maneja el acceso y los permisos de los diferentes usuarios del sistema
perfil de usuario y la página de administración, cada una con sus propios elementos y relaciones
entre ellos. Por ejemplo, la página de inicio puede tener elementos como un formulario de inicio
organizan y relacionan los diferentes elementos de los componentes del sistema, lo que facilita el
el comportamiento dinámico del sistema, pueden identificar diferentes escenarios de uso, como
diferentes interacciones entre los diferentes componentes del sistema, como la interfaz de
cómo funciona el sistema en tiempo de ejecución y asegurarse de que se cumplen los requisitos
recuperación de contraseña. Cada uno de estos procesos implica diferentes actividades, como la
realiza cada proceso y qué acciones deben llevarse a cabo en cada etapa para cumplir los
2.1.9.2 D
iagr a
ma
de
20
El diagrama colabora en visualizar diferentes actores, como los alumnos, los docentes, los
administradores y los usuarios anónimos. Cada actor puede llevar a cabo diferentes casos de
diagrama de casos de uso es útil para entender qué acciones pueden llevar a cabo los
diferentes actores y cómo estas acciones se relacionan entre sí para cumplir los requisitos de
2.1.10.1Registrar usuario
momento de ingresar.
estudiante)
con el rol
clave.
9. Se completa el registro
FLUJO ALTERNATIVO 1:
1. El administrador abandona el nuevo registro sin
terminar el paso 4 del flujo normal.
2.1.10.2Actualizar usuario
29
PRIORIDAD: Alta
ESTABILIDAD: Alta
2.1.10.3Eliminar usuario
31
PRIORIDAD: Alta
ESTABILIDAD: Alta
2.1.10.4Registrar curso
33
Docente
PRIORIDAD: Media
34
ESTABILIDAD: Alta
2.1.10.5Consultar curso
PRIORIDAD: Alta
ESTABILIDAD: Alta
de edición de la información, entre otros. Cada estado está definido por un conjunto de
condiciones y acciones que se deben cumplir para pasar al siguiente estado. Las transiciones
entre estados están definidas por eventos, como la introducción de datos, el envío de
comunica el sistema y cómo se realizan las diferentes operaciones. Además, permite identificar
componentes, y puede incluir condiciones y bucles. Este diagrama es útil para entender cómo
1: ingresar datos ()
2: validar datos()
3: administrator no encontrado
4 : seleccionar accion()
5 : activar pantalla()
6 : registrar usuario()
7 : validar datos()
8 : campos nulos
9 : usuario existente
1 : ingresar datos()
3 : administrador no encontrado
2 : validar datos()
4 : seleccionar accion()
5
6 : activar pantalla()
actualizar usuario()
8 : campos nulos
9 : usuario no existente
7 : validar datos()
10 : confirmacion := actualizacion
exitosa()
1 : ingresar datos()
3 : administrador no encontrado
2 : validar datos()
5 : activar
4 : seleccionar accion()
pantalla()
6 : eliminar usuario()
7 : validar
datos()
8 : campos nulos
9 : usuario no existente
10 : confirmacion := eliminacion
exitosa()
41
1 : ingresar
datos()
2 : validar
datos()
3 : docente no
encontrado
4 : seleccionar
accion()
5 : activar
pantalla()
6 : registrar
observacion()
7 : validar
datos()
8 : usuario no existente
9 : observacion no
encontrada
10 : confirmacion := registro
existoso()
Acudiente o Estudiante Pantalla Ingreso Pantalla Usuarios Pantalla Curso Estudiante Sistema
1 : ingresar datos()
3 : usuario no encontrado
2 : validar datos()
6 : consultar curso()
7 : validar
datos()
8 : estudiante no encontrado
9 : consulta exitosa()
42
Este diagrama muestra las diferentes interacciones en un formato de tiempo real y puede
correspondientes. También muestra los diferentes estados del sistema a lo largo del tiempo y
3 : ad m in istrador n o en contrad o
2 : valid ar datos()
8 : cam po s nulos
9 : u su ario existente
5 : activar pantalla()
Pantalla U suarios Pantalla R egistro Usuarios
43
7 : validar datos()
5 : activar pantalla()
Pantalla U su arios Pantalla A ctualizar U suarios
9 : usuario no existente
5 : activar pantalla()
Pantalla Usuarios Pantalla Elim inar Usuarios
44
3 : docente no encontrado
2 : validar datos()
8 : usuario no existente
9 : curso no encontrada
Sistem a
10 : confirm ación := registro exitoso()
4 : seleccionar acción()
6 : registrar curso()
7 : validar datos()
5 : activar pantalla()
Pantalla D ocentes Pantalla Registrar C urso
1 : ingresar datos()
Estudiante Pantalla Ingreso
3 : usuario no encontrado
2 : valid ar datos()
8 : estudiante no encontrado
4 : seleccionar acción()
9 : consulta exitosa()
6 : consultar curso()
5 : activar p antalla()
Pantalla Estudiantes Pantalla Curso Es tudiante
45
almacenamiento y el acceso a la información. Este diagrama puede ser especialmente útil para
identificar los puntos críticos y los cuellos de botella en los procesos de registro y control de
tiempos puede ser muy detallado e incluir información sobre los tiempos de espera, los tiempos
Este diagrama incluye elementos como actores (usuarios y sistemas externos), objetos (datos y
lo tanto, es esencial diseñar una estrategia de seguridad robusta que garantice la integridad,
para el diseño de una estrategia de seguridad para SecureReg, una plataforma de Registro y
Control Seguro para Alumnos y Docentes. La primera estrategia se centra en cumplir con las
políticas requeridas de seguridad propuestas por la norma ISO 27001, mientras que la segunda
se centra en cumplir con las políticas de seguridad requeridas para satisfacer las necesidades de
considerar las políticas requeridas de seguridad propuestas por la normativa ISO 27001 y las
confidencialidad de los datos de los usuarios de la plataforma, asegurando que se sigan los
las vulnerabilidades a los que se enfrenta la plataforma. Para ello, se pueden llevar a cabo
débiles en la plataforma.
Una vez identificados los riesgos, se deben establecer medidas de seguridad adecuadas para
la plataforma.
usuarios. En este sentido, SecureReg, no es una excepción. Es por ello que se realizó una
investigación exhaustiva para identificar los riesgos y vulnerabilidades a los que se expone la
los resultados de esta investigación, los cuales servirán como base para diseñar una estrategia
web. Para hacerlo, se podría utilizar un paquete de autenticación JWT disponible en Node.js,
como "jsonwebtoken". El proceso implica generar un JWT firmado digitalmente que contiene
información del usuario, como el nombre de usuario y los permisos de acceso, y enviarlo en el
encabezado de una solicitud HTTP para identificar al usuario. El JWT se devuelve al cliente y
se verifica la firma del JWT para asegurarse de que no haya sido modificado y se extraen los
web. Además, RESTful API es una arquitectura de software que se utiliza comúnmente para
sistemas web distribuidos y servicios web, y se basa en el protocolo HTTP para permitir la
3. VALIDACIÓN DE LA INFORMACIÓN
solo los usuarios autorizados tengan acceso a los recursos del sistema. Los usuarios tienen la
capacidad de crear y administrar sus cuentas de usuario, lo que les permite tener un mayor control
contraseña seguro y confiable para ayudar a los usuarios a recuperar su acceso en caso de olvidar
sus credenciales.
El sistema también cuenta con un mecanismo para administrar y revocar permisos de usuario, lo
50
que permite restringir el acceso a ciertas funciones y datos a medida que sea necesario. Para
registra y almacena información sobre las actividades de inicio de sesión y autenticación de los
usuarios. Esto ayuda a detectar y prevenir posibles amenazas de seguridad y es una práctica
En primer lugar, se asegura que todas las contraseñas almacenadas en la base de datos estén
cifradas para garantizar la privacidad de los usuarios. Asimismo, se limita el número de intentos
de inicio de sesión fallidos para prevenir ataques de fuerza bruta. Además, el sistema cuenta con
adicionales, como autenticación de dos factores, si se requiere un nivel de seguridad más alto.
Todos estos requerimientos son esenciales para mantener la integridad del sistema y asegurar la
confidencialidad de la información.
ser intuitivo y fácil de usar para los usuarios. Además, es importante que el sistema proporcione
información clara y detallada sobre cualquier error de autenticación que ocurra, para que el
usuario pueda solucionarlo de manera efectiva. Otra funcionalidad importante es que el sistema
permita a los usuarios seleccionar sus propias preguntas de seguridad y respuestas para la
51
para los
uso de la plataforma.
diseñada para cumplir con políticas de seguridad de la información basadas en la normativa ISO
comunes, como Cross-Site Scripting (XSS) y Cross-Site Request Forgery (CSRF), y se han
3.6 La Funcionalidad
diferentes módulos según su rol, como alumnos o docentes. Los usuarios pueden actualizar su
recibir mensajes dentro de la plataforma. Además, la plataforma cuenta con una funcionalidad de
control de acceso, lo que permite a los administradores definir los permisos de los usuarios y
En resumen, Secureg es una plataforma diseñada para ofrecer un registro y control seguro
3.7.1 Alumnos:
Los alumnos necesitan una plataforma fácil de usar y navegar para acceder a información
También necesitan una forma segura de comunicarse con sus profesores y compañeros de clase.
La frecuencia de uso para los alumnos podría ser diaria o semanal, dependiendo del nivel
3.7.2 Docentes:
Los docentes necesitan una plataforma que les permita cargar y calificar tareas y exámenes,
registrar la asistencia de los alumnos y comunicarse con ellos de manera segura. También
53
necesitan acceso a información importante, como los horarios de sus clases y el calendario
escolar. La frecuencia de uso para los docentes podría ser diaria o semanal, dependiendo del nivel
3.7.3 Administradores:
Los administradores necesitan una plataforma que les permita acceder a información detallada
plataforma de manera segura y eficiente. La frecuencia de uso para los administradores podría ser
semanal o mensual, dependiendo del nivel educativo y la cantidad de alumnos y docentes que
manejen.
alumnos y docentes. Por lo tanto, es importante implementar medidas adecuadas para garantizar
que la información de los usuarios esté protegida. Algunas medidas que se pueden aplicar son:
asegurarse de que solo los usuarios autorizados tengan acceso a la información mediante
autorizados.
La plataforma debe contar con una interfaz de usuario clara y sencilla, fácil de entender,
iconos y gráficos intuitivos para ayudar a los usuarios a comprender la información de manera
visual y rápida. Además, la plataforma debe tener un motor de búsqueda que permita una
garantizar que solo los usuarios autorizados tengan acceso a la información, especialmente para
Por último, se debe cifrar los datos almacenados en la plataforma para proteger la información
Módulo de
Aplicación Descripción
Registro de
Usuarios Este módulo permite la creación de cuentas de usuario para acceder a Secureg.
Inicio de Sesión Este módulo permite a los usuarios iniciar sesión en Secureg para acceder a sus datos.
Gestión de
Permisos Este módulo permite la asignación y revocación de permisos y roles a los usuarios.
Gestión de
Privilegios Este módulo permite la asignación y revocación de privilegios a los usuarios y roles.
Módulo de
Aplicación Descripción
Secureg.
4. AUDITORIA
de Secureg, es necesario registrar una serie de actividades críticas para mantener un control
sesión. Esto permite detectar cualquier actividad sospechosa en las cuentas de usuario y tomar
por los usuarios, incluyendo el nombre del usuario, la fecha y la hora, la naturaleza de la
modificación y los datos afectados. Este registro es importante para garantizar la integridad de los
malintencionada.
El registro de actividades de acceso a recursos críticos registra todas las actividades de acceso a
recursos importantes como bases de datos, sistemas de archivos y recursos de administración, que
57
contienen información confidencial. Este registro es crucial para monitorear cualquier actividad
autorizados a los sistemas y recursos de Secureg, incluyendo intentos fallidos de inicio de sesión
y de acceso a recursos restringidos. Este registro es vital para detectar posibles intentos de
permite monitorear el acceso a los recursos y detectar cualquier actividad sospechosa o intento de
recursos. Este registro es importante para mantener un control adecuado sobre el sistema de
seguridad y garantizar que se cumplan los requisitos de seguridad necesarios en todo momento.
de los usuarios y garantice que solo los usuarios autorizados puedan acceder al sistema. Además,
se establecerán políticas de contraseñas seguras que exigirán una combinación de letras, números
y caracteres especiales, así como la renovación periódica de las contraseñas. También se planea
configurar el sistema para que cierre automáticamente las sesiones inactivas después de un cierto
período de tiempo, con el fin de evitar que los usuarios olviden cerrar la sesión de manera
58
manual.
autorizados y bloquear automáticamente los intentos que superen un cierto número de intentos
fallidos. Además, se planea monitorear activamente las sesiones de los usuarios para detectar
En la implementación futura del proyecto se planea manejar los errores mediante la identificación
y registro de los diferentes tipos de errores que puedan ocurrir, ya sea por parte de los usuarios o
del sistema en sí mismo. Además, se clasificarán los errores según su gravedad y el impacto que
puedan tener en el sistema y los usuarios, y se priorizará la solución de los errores críticos,
Asimismo, se registrará cada error y su solución para que los desarrolladores puedan identificar y
abordar patrones recurrentes. Se realizarán pruebas exhaustivas para verificar que la solución del
Finalmente, se comunicará a todo el equipo de desarrollo, usuarios y partes interesadas los errores
y sus soluciones para que puedan estar informados sobre el estado del sistema y las medidas
Interfaz de Usuario Sí Sí No No No
Base de Datos Sí Sí Sí Sí Sí
API de Terceros Sí Sí Sí Sí No
Módulo de
Procesamiento Sí Sí Sí Sí Sí
los recursos del sistema. También se establece una gestión de roles y permisos para restringir el
de información confidencial y sensible, como las credenciales de inicio de sesión y los datos de
los clientes. Esto puede incluir el uso de protocolos de cifrado, como SSL/TLS, y el cifrado de
datos en reposo.
eventos de seguridad críticos, y la revisión regular de los registros para identificar patrones y
tendencias.
negocio.
En la prueba de caja blanca, se tendría acceso al código fuente y se podrían evaluar aspectos
otros. Se podrían utilizar herramientas como análisis estático de código, análisis dinámico de
En la prueba de caja negra, no se tendría acceso al código fuente y se evaluaría el sistema desde el
punto de vista del usuario final. Se podría evaluar aspectos como la autenticación y autorización,
En ambas pruebas, se deberían seguir las guías de pruebas de seguridad de OWASP para