Está en la página 1de 61

1

Análisis, Diseño, Desarrollo E Implementación Del sitio web SecureReg:

Plataforma de Registro y Control Seguro para Alumnos y Docentes

Tomas Felipe Navarrete Lozano y Manuel Fernando León Caballero

Universidad de Cundinamarca, Chía, Cundinamarca. Colombia

Universidad De Cundinamarca

Facultad de Ingeniería de Sistemas

Ingeniero: Luis Fernando Muñoz Pantoja

Chía Cundinamarca, Cundinamarca, Colombia


2

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

este ejercicio es desarrollar un sistema de software de gestión de registros y consultas de

tipo académico para una determinada institución académica orientado a Web que permita la

comunicación eficiente entre los miembros de la comunidad educativa.

Es así como el software diseñado busca satisfacer estas expectativas modelando en el

software los detalles de registro y seguimiento de la parte académica de los estudiantes de la

Institución académica, con proyección a convertirse en una herramienta comunicativa y de

enlace entre maestros y estudiantes.

Este Software es un sistema web desarrollado en Angula y C# bajo metodología

Linux aplicando en el diseño el Lenguaje Unificado de Modelado (UML), con conexión a

una base de datos creada en Sql Server.


3

Contenido
Contenido.............................................................................................................................3

INTRODUCCIÓN...............................................................................................................7

1. DEFINICIÓN DE LA APLICACIÓN.....................................................................8

2. ANÁLISIS Y DISEÑO UML................................................................................11

2.1 Diagramas estructurales.................................................................................11

2.1.1 Diagrama de clases........................................................................................12

2.1.2 Diagrama de componentes.............................................................................12

2.1.3 Diagrama de despliegue:...............................................................................13

2.1.4 Diagrama de objetos......................................................................................14

2.1.5 Diagrama de paquetes....................................................................................15

2.1.6 Diagrama de perfiles......................................................................................16

2.1.7 Diagrama de estructura compuesta................................................................17

2.1.8 Diagramas de comportamiento......................................................................17

2.1.9 Diagrama de actividades................................................................................18

2.1.9.1 Diagrama de actividad: actualizar usuario..................................................20

2.1.9.2 Diagrama de actividad: eliminar usuarios...................................................21

2.1.9.3 Diagrama de actividad: registrar curso.......................................................22

2.1.9.4 Diagrama de actividad: consultar curso......................................................23

2.1.10 Diagrama de casos de uso............................................................................24

2.1.10.1 Registrar usuario.......................................................................................26

2.1.10.1.1 Caso de uso: registrar estudiantes........................................................26

2.1.10.2 Actualizar usuario.....................................................................................29


4

2.1.10.2.1 Caso de uso: actualizar estado de estudiante o docente.........................29

2.1.10.3 Eliminar usuario........................................................................................31

2.1.10.3.1 Caso de uso: eliminar estudiantes, docentes..........................................31

2.1.10.4 Registrar curso..........................................................................................33

2.1.10.4.1 Caso de uso: eliminar estudiantes, docentes..........................................34

2.1.10.5 Consultar curso.........................................................................................35

2.1.10.5.1 Caso de uso: consulta curso...................................................................35

2.1.11 Diagrama de máquina de estados.................................................................37

2.1.12 Diagramas de interacción.............................................................................38

2.1.12.1 Actualizar Datos Alumno..........................................................................39

2.1.12.2 Actualizar Datos Docente.........................................................................39

2.1.13 Diagrama de secuencia.................................................................................40

2.1.13.1 Registrar un usuario (profesor o estudiante).............................................40

2.1.13.2 Actualizar un usuario (profesor o estudiante)...........................................41

2.1.13.3 Eliminar un usuario (profesor o estudiante)..............................................41

2.1.13.4 Registrar curso (docente).........................................................................42

2.1.13.5 Consultar curso (estudiante)....................................................................42

2.1.14 Diagrama de comunicación..........................................................................43

2.1.14.1 Registrar un usuario (profesor o estudiante).....................................43

2.1.14.2 Actualizar un usuario (profesor o estudiante)..........................................43

2.1.14.3 Eliminar un usuario (profesor o estudiante)..............................................44

2.1.14.4 Registrar Curso (docente).........................................................................45


5

2.1.14.5 Consultar curso (Estudiante).....................................................................45

2.1.15 Diagrama de tiempos...................................................................................46

2.1.16 Diagrama global de interacciones................................................................47

3. DISEÑO DE ESTRATEGIA DE SEGURIDAD..................................................47

3.1 Estrategia de Seguridad de la información:.......................................................47

4. DESARROLLO E IMPLEMENTACIÓN DE LA SOLUCIÓN...........................49

5. VALIDACIÓN DE LA INFORMACIÓN............................................................50

5.1 Requerimientos funcionales:.............................................................................50

5.2 Requerimientos de seguridad:............................................................................50

5.3 Requerimientos de usabilidad:...........................................................................51

5.4 Identificar los usuarios.......................................................................................51

5.5 Diseño y funcionalidad de la plataforma:..........................................................52

5.6 La Funcionalidad...............................................................................................52

5.7 Necesidades de los Usuarios:.............................................................................53

5.7.1 Alumnos:............................................................................................................53

5.7.2 Docentes:...........................................................................................................53

5.7.3 Administradores:................................................................................................53

5.7.4 Autenticación de usuarios:.................................................................................54

5.8 Auditorías de seguridad:....................................................................................54

5.8.1 Restricciones de acceso:....................................................................................54

5.8.2 Cumplimiento legal:..........................................................................................54

5.9 Control de roles y privilegios............................................................................55


6

6. AUDITORIA.........................................................................................................57

6.1 Pistas de auditoría..............................................................................................57

6.2 Gestión de sesiones............................................................................................58

6.3 Manejo apropiado de errores.............................................................................59

6.4 Tabla de codificación segura.............................................................................60

6.5 FASE DE PRUEBA..........................................................................................60

6.6 Fase de mantenimiento......................................................................................61

6.6.1 Prueba de caja blanca:.......................................................................................61

6.6.2 Prueba de caja negra:.........................................................................................61

INTRODUCCIÓN
7

La razón para desarrollar un software de registro académico se basa en


la necesidad de tener un sistema confiable, de fácil manipulación en tiempo real
que llegue a convertirse en una herramienta ágil y oportuna para la generación
de informes institucionales actualizada y en línea del desempeño académico y
normativo de los jóvenes estudiantes del instituto educativo

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

Con este trabajo se pretende dar solución a las dificultades que se


presentan por la falta de control de registros académicos docentes y alumnos
durante su proceso escolar y poder brindar todas las medidas respectivas de
seguridad en torno a esta plataforma, para sí brindar toda la confiabilidad de la
información en una forma eficaz y en todo momento.

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.

Para el desarrollo del software se utilizarán herramientas de uso libre


como son el lenguaje de programación Java, base de datos en MySQL y una
interfaz Web en HTML, ya que la misma estará orientada a entornos de
Internet e Intranet para consulta en tiempo real.
8

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

iCloud en muy poco tiempo y sin la necesidad de realizar un gran esfuerzo.

Docker es un proyecto Open Source que permite crear de forma fácil contenedores de

aplicaciones ligeros, portables y autosuficientes.

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.

Gracias al contenedor, la aplicación se ejecutará en cualquier otra máquina Linux,

independientemente de las configuraciones personalizadas que la máquina pueda tener y que

pueda diferir de la máquina utilizada para escribir y probar el código.

El desarrollo de aplicaciones requiere de procesos complejos en relación con la gestión

de dependencias, pero no solo a nivel de aplicación (vendors, bundles o librerías), sino también

a nivel del sistema operativo (mod_rewrite, imagemagick…) o a nivel de infraestructura (Sql

Server, Redis, Elasticsearch).


9

Docker proporciona la flexibilidad apropiada para trasladar las dependencias a las

diferentes situaciones necesarias durante el ciclo de desarrollo de una aplicación.

Gestionar esas dependencias en los diferentes pasos del ciclo de desarrollo de la

aplicación puede llegar a ser complicado e impactar directamente tanto en los tiempos de

desarrollo como en la calidad del resultado.

Cada contenedor de Docker apunta a una aplicación específica. Además, Docker

también incorpora soluciones de administración de contenedores para facilitar la creación de

scripts y la automatización (especialmente cuando el objetivo es reducir el tiempo de

ejecución). Un contenedor de Docker se enfoca en solo una aplicación a la vez, y el entorno

está controlado para impedir el acceso fuera del árbol de directorios del contenedor.

GITHub

Git es un sistema de control de versiones distribuido de código abierto desarrollado por

Linus Torvalds, el creador de Linux.

El control de versiones distribuido permite a los desarrolladores descargar un software,

realizar cambios y subir la versión que han modificado. Todas las modificaciones subidas se

guardan en versiones independientes, no sobrescribiendo en el archivo original.

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

proyecto, permitiendo la ramificación y fusión.

De esta forma todos los desarrolladores interesados en el proyecto podrán ver las

modificaciones realizadas y contribuir mejorando el código del Software.

Cuando nos referimos a la parte del hub hablamos de lo que hace especial a este Git, la

comunidad e interacción con otros usuarios.

Los servicios Docker cuentan con soporte por parte de proveedores cloud:
10

AWS soporta Docker de 3 maneras distintas de forma nativa ECS, Kubernetes y

Fargate de manera serverless.

Google con Google Container Engine (GKE).

Microsoft Azure con Azure Container Service (AKS).

2. ANÁLISIS Y DISEÑO UML

2.1 Diagramas estructurales

La plataforma SecureReg requiere de un diseño y funcionalidad bien definidos, que garanticen

la seguridad y privacidad de la información. Es importante realizar una investigación exhaustiva

para identificar los requerimientos específicos de los usuarios y de la institución educativa en la

que se implementará la plataforma, lo que incluye conocer los procesos de registro y control

actuales, las necesidades de los usuarios en cuanto a información y comunicación, y las

políticas de seguridad y privacidad de la institución. Además, es fundamental implementar

medidas de seguridad adecuadas, como autenticación de usuarios, encriptación de datos,


11

auditorías de seguridad y restricciones de acceso, para garantizar la seguridad de la

información y el cumplimiento legal. Para su diseño y desarrollo, se pueden utilizar diferentes

diagramas estructurales, como el diagrama de casos de uso, el diagrama de clases, el

diagrama de secuencia, el diagrama de estado, el diagrama de componentes y el diagrama de

despliegue, que ayuden a representar la estructura, funcionalidad y arquitectura de la

plataforma.:

2.1.1 Diagrama de clases

El diagrama de clases para SecureReg es una herramienta de modelado de objetos que

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

de la plataforma, lo que ayuda a los desarrolladores a comprender los requerimientos y la

arquitectura de la misma.

2.1.2 Diagrama de componentes


12

Se define tres componentes principales: el componente de presentación, el componente de

control y el componente de persistencia. El componente de presentación es la interfaz gráfica

de usuario de la plataforma, mientras que el componente de control se encarga de la lógica de

negocios y el manejo de solicitudes de los usuarios. Por último, el componente de persistencia

es la capa de almacenamiento de datos de la plataforma. Estos componentes se relacionan

entre sí mediante dependencias, como la necesidad del componente de control de acceder a la

capa de persistencia para manipular los datos almacenados. El diagrama de componentes es

útil para visualizar la arquitectura y el funcionamiento de la plataforma, así como para identificar

posibles puntos de fallo o mejora en la misma.

2.1.3 Diagrama de despliegue:

El diagrama de despliegue incluiría el servidor web que aloja la plataforma, el servidor de

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

servidor web y el servidor de base de datos. La representación gráfica de la arquitectura física de

la plataforma es útil para identificar posibles cuellos de botella, puntos de fallo o áreas de mejora

en el sistema.
13

2.1.4 Diagrama de objetos

El diagrama de objetos es una herramienta de modelado que permite representar los

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

del sistema y a identificar posibles mejoras o ajustes.


14

2.1.5 Diagrama de paquetes

El diagrama de paquetes es una herramienta de modelado que permite representar la

estructura de paquetes como Alumnos, Docentes, Administración, Registro y Notificaciones,

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

alumnos es parte de la funcionalidad del sistema de registro. El diagrama de paquetes es útil

para visualizar la organización y estructura del sistema, lo que facilita la identificación de los
15

componentes principales y sus interdependencias.

2.1.6 Diagrama de perfiles

El diagrama identifica perfiles como Alumnos, Docentes y Administradores, cada uno

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

y asegurarse de que se cumplan las políticas de seguridad y privacidad establecidas.


16

2.1.7 Diagrama de estructura compuesta

El diagrama de estructura compuesta es una herramienta de modelado que permite

comprender componentes complejos como la página de inicio, la página de registro, la página de

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

de sesión, enlaces a las páginas de registro y recuperación de contraseña, y una sección de

noticias e información. El diagrama de estructura compuesta es útil para visualizar cómo se

organizan y relacionan los diferentes elementos de los componentes del sistema, lo que facilita el

diseño y la implementación de la interfaz de usuario.

2.1.8 Diagramas de comportamiento

El diagrama de comportamiento es una herramienta de modelado que permite representar

el comportamiento dinámico del sistema, pueden identificar diferentes escenarios de uso, como

el registro de un nuevo usuario, el inicio de sesión, la recuperación de contraseña, la búsqueda de

información y la gestión de la información personal. Cada uno de estos escenarios implica

diferentes interacciones entre los diferentes componentes del sistema, como la interfaz de

usuario, la base de datos y el servidor. El diagrama de comportamiento es útil para entender

cómo funciona el sistema en tiempo de ejecución y asegurarse de que se cumplen los requisitos

de funcionalidad y usabilidad establecidos.


17

2.1.9 Diagrama de actividades

El diagrama ayuda a los procesos, como el registro de un nuevo usuario, la gestión de la

información personal, la gestión de la información académica, la búsqueda de información y la

recuperación de contraseña. Cada uno de estos procesos implica diferentes actividades, como la

recopilación de información, la validación de datos, la actualización de la base de datos y la

presentación de información al usuario. El diagrama de actividades es útil para entender cómo se

realiza cada proceso y qué acciones deben llevarse a cabo en cada etapa para cumplir los

requisitos de funcionalidad y usabilidad establecidos.


18
19

2.1.9.1 Diagrama de actividad: actualizar usuario

2.1.9.2 D

iagr a

ma

de
20

actividad: eliminar usuarios


21

2.1.9.3 Diagrama de actividad: registrar curso


22

2.1.9.4 Diagrama de actividad: consultar curso


23

2.1.10 Diagrama de casos de uso

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

uso, como el registro de un nuevo usuario, el inicio de sesión, la gestión de la información

personal y académica, la búsqueda de información y la recuperación de contraseña. El

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

funcionalidad y usabilidad establecidos. Además, es una herramienta importante para la

definición de los requerimientos del sistema y la validación de su funcionalidad.


24
25

2.1.10.1Registrar usuario

2.1.10.1.1 Caso de uso: registrar estudiantes

ACTORES Administrador del Sistemas

DESCRIPCIÓN El administrador procede a realizar el registro de


docentes, y estudiantes
ALCANCE: Solo se podrán realizar registro de Estudiantes y
Docentes
ACTOR PRINCIPAL: Personal administrativo

PRECONDICIÓN:  El administrador de sistema debe estar registrado


 El docente o alumno no debe existir en el sistema
CONDICIÓN FINAL CON Se completa el registro asignando usuario y clave de
ÉXITO: accesos de acuerdo con el rol del usuario.

CONDICIÓN FINAL CON El estudiante o profesor ya se encuentra registrado


FRACASO:
FLUJO NORMAL: 1. El administrador de sistema se debe loguear.
26

2. El sistema valida los datos del administrador al

momento de ingresar.

3. Procede a solicitar la creación de un usuario

nuevo (profesor o estudiante)

4. El sistema solicita el rol a registrar (profesor o

estudiante)

5. El sistema muestra los datos a ingresar de acuerdo

con el rol

6. El administrador completa los campos

7. El sistema valida los datos

8. El sistema muestra el resultado, asignando usuario y

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. Se pregunta al administrador si desea abandonar

3. Si el administrador responde de manera positiva, el


sistema cancelara y abandonara el nuevo registro.

4. El sistema retorna al flujo normal en el paso 2.

FLUJO ALTERNO 2: 1. El sistema muestra que el usuario a registrar ya se


encuentra en el sistema y pregunta al administrador
si desea actualizar.
2. Si la respuesta del administrador es positiva, se
retorna al administrador al caso de uso
actualización de estado flujo normal.
3. El sistema no reconoce al administrador al
momento de ingresar en el mismo.
27

3.1. El sistema indica que hay un error en la


validación
3.2. Retorna al flujo normal paso 1.

5. No se completaron los datos requeridos


5.1. El sistema informa que hay campos sin
completar en el registro.
5.2. Retorna al flujo normal paso 4.
EXCEPCIONES: 1. La información en los campos requeridos no es
válida.
1.1. El sistema muestra al administrador la
información de los campos que fueron
completados de forma incorrecta.
1.2. Retorna al flujo normal paso 5.

2. Ya se encuentra el usuario registrado


2.1. El sistema indica que ya existe un
administrador con la misma información.
2.2. Retorna al flujo normar paso 3 dando la
opción al administrador de abandonar o
corregir campos.
RELACIONES: Caso de uso: Actualizar estado de, estudiante o
docente
FRECUENCIA DE USO: Alta
PRIORIDAD: Alta
ESTABILIDAD: Alta
COMENTARIOS: * : El dato es obligatorio
28

2.1.10.2Actualizar usuario
29

2.1.10.2.1 Caso de uso: actualizar estado de estudiante o docente

ACTORES Administrador de Sistema

DESCRIPCIÓN Actualizaciones de usuarios

ALCANCE: Se procederá a cambiar los datos de los usuarios

ACTOR PRINCIPAL: Personal administrativo

PRECONDICIÓN:  El administrador de sistema debe estar registrado


 El sistema debe tener registrado al usuario a
actualizar.
CONDICIÓN FINAL CON Se hace cambios de información y/o estado del usuario a
ÉXITO: actualizar.
CONDICIÓN FINAL CON El usuario para actualizar no se encuentra registrado.
FRACASO:
FLUJO NORMAL: 1. El administrador de sistema se debe loguear.
2. El sistema valida los datos del administrador al
momento de ingresar.
3. El administrador ingresa la consulta en un buscador
(profesor o estudiante).
4. El sistema muestra los datos del usuario a
actualizar.
5. El administrador procede a actualizar los datos del
usuario (profesor o estudiante).
6. El sistema valida los datos y muestra el
resultado
7. Se completa la actualización de estado.
FLUJO ALTERNATIVO 1: 1. El usuario busca o enlista el usuario (profesor o
estudiante) a actualizar.
2. El sistema notifica al administrador que no se
encuentra y no está enlistado el usuario a
actualizar.
3. El sistema pregunta al usuario si desea registrarlo
4. Si el usuario responde de manera positiva, el
sistema retorna al usuario al caso de uso registro
flujo normal.
EXCEPCIONES: 1 El sistema no reconoce al usuario al momento de
ingresar en el mismo.
1.1. El sistema indica que hay un error en la validación
1.2. Retorna al flujo normal paso 1.
2 El usuario para actualizar no se encuentra registrado.
2.1. El sistema informa que el usuario a actualizar no
se encuentra registrado
2.2. El sistema retorna al flujo normal paso 3.
3 El usuario abandona la actualización a realizar.
3.1. El sistema retorna al flujo normal paso 3.
30

RELACIONES: Caso de uso: Registrar estudiantes y docentes

FRECUENCIA DE USO: Alta

PRIORIDAD: Alta

ESTABILIDAD: Alta

COMENTARIOS: * : El dato es obligatorio

2.1.10.3Eliminar usuario
31

2.1.10.3.1 Caso de uso: eliminar estudiantes, docentes

ACTORES Administrador del Sistemas


DESCRIPCIÓN El administrador procede a realizar la eliminación de
docentes y (o) estudiantes.
ALCANCE: Solo se podrán realizar registro de Estudiantes y
Docentes
ACTOR PRINCIPAL: Personal administrativo
PRECONDICIÓN:  El administrador de sistema debe estar registrado
 El docente o alumno no debe existir en el sistema
CONDICIÓN FINAL CON Se completa el registro asignando usuario y clave de
ÉXITO: accesos de acuerdo con el rol del usuario.

CONDICIÓN FINAL CON El estudiante o profesor ya se encuentra registrado


FRACASO:
FLUJO NORMAL: 1. El administrador de sistema se debe loguear.
2. El sistema valida los datos del administrador al
momento de ingresar.
3. El sistema solicita el rol a eliminar (acudiente,
profesor o estudiante)
4. El administrador ingresa la consulta en un
buscador (acudiente, profesor o estudiante).
5. El sistema muestra los datos del usuario a
eliminar. El sistema solicita confirmación del
proceso.
6. El sistema muestra el resultado.
FLUJO ALTERNATIVO 1: 1. El administrador abandona el nuevo
registro sin terminar el paso 4 del flujo
normal.
2. Se pregunta al administrador si desea
abandonar
3. Si el administrador responde de manera
positiva, el sistema cancelara y abandonara
el proceso de eliminación.
4. El sistema retorna al flujo normal en el paso

FLUJO ALTERNO 2: 1. El sistema muestra que el usuario a


eliminar no se encuentra en el sistema y
pregunta al administrador si desea
actualizar.
2. Si la respuesta del administrador es
positiva, se retorna al administrador al caso
de uso actualización de estado flujo normal.
EXCEPCIONES: 1. La información en los campos requeridos no es
válida.
1.1. El sistema muestra al administrador la
información de los campos que fueron
32

completados de forma incorrecta.


2.2. Retorna al flujo normal paso
2. Ya se encuentra el usuario registrado
2.1. El sistema indica que ya existe un
administrador con la misma información.
2.2. Retorna al flujo normar paso 3 dando la
opción al administrador de abandonar o
corregir campos.
RELACIONES: Caso de uso: Actualizar estado de, estudiante y
docente
FRECUENCIA DE USO: Alta

PRIORIDAD: Alta

ESTABILIDAD: Alta

COMENTARIOS: *: El dato es obligatorio

2.1.10.4Registrar curso
33

2.1.10.4.1 Caso de uso: eliminar estudiantes, docentes

Docente

DESCRIPCIÓN Se registran el curso que le corresponde al alumno

ALCANCE: Solo se podrán realizar registran códigos del curso


ACTOR PRINCIPAL: Personal administrativo
PRECONDICIÓN: 1. El Docente debe estar registrado.
2. El estudiante debe existir en el sistema.
CONDICIÓN FINAL CON Se realiza el registro con campos especificados por el
ÉXITO: Docente.
CONDICIÓN FINAL CON El alumno al cual se le desea registrar la clase
FRACASO: no se encuentra registrado.
FLUJO NORMAL: 1. El docente se debe loguer.
2. El sistema valida los datos del docente al
momento de ingresar.
3. El docente debe llenar el campo de consulta
requerido por el sistema, para encontrar el
estudiante al cual se le va a realizar el registro de
la clase
4. El docente realiza la consulta del código de la
respectiva de la clase a registrar.
5. El docente procede a digitar el código de la
nueva clase.
6. El sistema valida los datos que el docente
registró
7. El sistema completa el registro.
8. El sistema muestra el resultado.
FLUJO ALTERNATIVO 1: 1. El usuario busca o enlista el usuario (profesor o
estudiante) a registrar la clase.
2. El sistema notifica al usuario que no se
encuentra y no está enlistado el usuario a
registrar.
3. El sistema envía una notificación al
administrador.
FLUJO ALTERNO 2: 1. El sistema valida el código de la case digitado
por el docente.
3. Si el código no existe se informa al usuario
docente que este no existe.
4. El sistema retorna al flujo normal paso 7.
RELACIONES: Caso de uso: Actualizar estado de, estudiante y
docente
FRECUENCIA DE USO: Media

PRIORIDAD: Media
34

ESTABILIDAD: Alta

COMENTARIOS: El docente debe completar de forma correcta los


campos creados por el mismo

2.1.10.5Consultar curso

2.1.10.5.1 Caso de uso: consulta curso

ACTORES Usuarios (Estudiante o Docente)


DESCRIPCIÓN Los usuarios podrán consultar los cursos que tiene
registrado el estudiante.
ALCANCE: En cualquier momento los usuarios podrán acceder a
consultar el(los) cursos de un estudiante específico y se
mostrara una breve descripción del curso, así como un
temario detallado del mismo
ACTOR PRINCIPAL: Usuarios (Estudiante o Docente)

PRECONDICIÓN: El sistema debe tener registrados tanto al usuario que


consulta como al estudiante que se desea consultar
CONDICIÓN FINAL CON Se listan de forma ordenada clases de los estudiantes
35

ÉXITO: de forma secuencial e histórica.


CONDICIÓN FINAL CON El estudiante no se encuentra registrado.
FRACASO:
FLUJO NORMAL: 1. El usuario se debe loguear.
2. El sistema valida los datos del usuario al
momento de ingresar.

3. El usuario ingresa la consulta en un buscador


(Id del estudiante).
4. El sistema muestra los datos del usuario
(estudiante) consultado con la clase que tiene
registrado.
FLUJO ALTERNATIVO 1: 1. El usuario (profesor o estudiante) busca o
enlista el usuario (estudiante) que se desea
consultar.
2. El sistema notifica al usuario (profesor o
estudiante) que no se encuentra y no está enlistado
el usuario buscado (estudiante).
3. El sistema envía una notificación al
administrador
EXCEPCIONES: 1. El sistema no reconoce al docente al momento de
ingresar en el mismo.
1.1 El sistema indica que hay un error en la
validación
1.2 Retorna al flujo normal paso 1.
2. El estudiante no se encuentra registrado.
2.1 El sistema indica que el estudiante consultado
no existe.
2.2 El sistema retorna al usuario al flujo normal
paso 3.
RELACIONES: NO APLICA

FRECUENCIA DE USO: Alta

PRIORIDAD: Alta

ESTABILIDAD: Alta

COMENTARIOS: *: El dato es obligatorio


36

2.1.11 Diagrama de máquina de estados

El Diagrama identifica diferentes estados de la plataforma, como el estado de inicio, el estado

de registro, el estado de autenticación, el estado de visualización de la información, el estado

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

formularios o el inicio de sesión. El diagrama de máquinas de estado es útil para entender

cómo se comporta el sistema en diferentes situaciones y cómo se relacionan los diferentes

estados y transiciones. Además, es una herramienta importante para la definición de la lógica

de funcionamiento del sistema y para la validación de su comportamiento.


37

2.1.12 Diagramas de interacción.

Identifica diferentes componentes, como la interfaz de usuario, la base de datos, el

servidor y los algoritmos de seguridad. El diagrama de interacción muestra cómo estos

componentes interactúan entre sí para realizar las diferentes operaciones de la plataforma,

como el registro de usuarios, la autenticación, la edición de información y la visualización de

datos. Se pueden representar diferentes tipos de interacciones, como llamadas a métodos,

intercambio de mensajes y eventos. El diagrama de interacción es útil para entender cómo se

comunica el sistema y cómo se realizan las diferentes operaciones. Además, permite identificar

posibles errores o cuellos de botella en el sistema y optimizar su funcionamiento.:


38

2.1.12.1Actualizar Datos Alumno

2.1.12.2Actualizar Datos Docente


39

2.1.13 Diagrama de secuencia

Asemeja diferentes secuencias de interacciones, como el registro de usuarios, la

autenticación, la edición de información y la visualización de datos. El diagrama de secuencia

muestra la secuencia de mensajes y llamadas a métodos entre los diferentes objetos o

componentes, y puede incluir condiciones y bucles. Este diagrama es útil para entender cómo

se realizan las diferentes operaciones en SecureReg y cómo se comunican los diferentes

componentes del sistema. Además, permite identificar posibles problemas de sincronización o

comunicación entre los diferentes componentes y optimizar el funcionamiento del sistema.:

2.1.13.1Registrar un usuario (profesor o estudiante)


Administrador Pantalla Ingreso Pantalla Usuarios Pantalla Registro Usuarios Sistema

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

10 : usuario, clave := registro exitoso()


40

2.1.13.2Actualizar un usuario (profesor o estudiante)

Administrador Pantalla Ingreso Pantalla Usuarios Pantalla Actualizar Sistema


Usuarios

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()

2.1.13.3Eliminar un usuario (profesor o estudiante)


Administrad Pantalla Pantalla Pantalla Eliminar Sistema
or Ingreso Usuarios Usuarios

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

2.1.13.4Registrar curso (docente)

Docent Pantalla Pantalla REGACAD Pantalla Registrar Curso Sistem


e Ingreso Docentes a

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()

2.1.13.5Consultar curso (estudiante)

Acudiente o Estudiante Pantalla Ingreso Pantalla Usuarios Pantalla Curso Estudiante Sistema

1 : ingresar datos()

3 : usuario no encontrado
2 : validar datos()

4 : seleccionar accion() 5 : activar


pantalla()

6 : consultar curso()

7 : validar
datos()

8 : estudiante no encontrado

9 : consulta exitosa()
42

2.1.14 Diagrama de comunicación

Este diagrama muestra las diferentes interacciones en un formato de tiempo real y puede

incluir información detallada sobre el contenido de los mensajes y las respuestas

correspondientes. También muestra los diferentes estados del sistema a lo largo del tiempo y

permitir la identificación de posibles problemas de comunicación o de sincronización entre los

diferentes componentes. El diagrama de comunicación es útil para entender el funcionamiento

detallado de SecureReg y para optimizar su rendimiento y eficiencia en la gestión de la

información y los procesos de registro y control de seguridad

2.1.14.1 Registrar un usuario (profesor o estudiante)

1 : ing resar datos()


Administrador Pantalla Ing reso

3 : ad m in istrador n o en contrad o
2 : valid ar datos()
8 : cam po s nulos

9 : u su ario existente

10 : clave, usuario := reg istro exitoso() Sistema


4 : seleccionar accion()
6 : registrar usuario()

5 : activar pantalla()
Pantalla U suarios Pantalla R egistro Usuarios
43

2.1.14.2 Actualizar un usuario (profesor o estudiante)

1 : ing resar datos()


Adm in istrador Pantalla Ingreso

3 : adm inistrad or no encon trad o


2 : validar datos()
8 : cam pos nulos

9 : usu ario no existente

10 : confirm acion := actualizacion exitosa() Siste m a


4 : seleccionar accion()
6 : actualizar usuario()

7 : validar datos()

5 : activar pantalla()
Pantalla U su arios Pantalla A ctualizar U suarios

2.1.14.3Eliminar un usuario (profesor o estudiante)


1 : ingresar datos()
Adm inistrador Pantalla Ingreso

3 : adm inistrador no enco ntrado


2 : validar datos()
8 : cam pos nulos

9 : usuario no existente

10 : confirm acion := elim inacion exitosa() Sistema


4 : seleccionar accion()
6 : elim inar usuario()

5 : activar pantalla()
Pantalla Usuarios Pantalla Elim inar Usuarios
44

2.1.14.4Registrar Curso (docente)


1 : ingresar datos()
D ocente Pantalla Ingreso

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

2.1.14.5Consultar curso (Estudiante)

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

2.1.15 Diagrama de tiempos

El diagrama de tiempos utilizar la secuencia temporal de las diferentes actividades y

procesos que ocurren en la plataforma, como el registro de usuarios, la autenticación, el

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

seguridad, y para optimizar el rendimiento y la eficiencia de la plataforma. El diagrama de

tiempos puede ser muy detallado e incluir información sobre los tiempos de espera, los tiempos

de procesamiento y otros detalles relevantes para el funcionamiento del sistema. En general, el

diagrama de tiempos es una herramienta importante para comprender la secuencia temporal de

las actividades y procesos en SecureReg, y para identificar oportunidades de mejora y


46

optimización en la gestión de la información y los procesos de seguridad.

2.1.16 Diagrama global de interacciones

El DGI en el software representar la interacción entre los diferentes módulos y

componentes de la plataforma durante el proceso de registro y control de alumnos y docentes.

Este diagrama incluye elementos como actores (usuarios y sistemas externos), objetos (datos y

componentes de la plataforma). El DGI ayudara a identificar posibles problemas en la

interacción entre los componentes de la plataforma, y a diseñar soluciones para mejorar la

eficiencia y seguridad del sistema.


47

1. DISEÑO DE ESTRATEGIA DE SEGURIDAD

La seguridad de la información es un aspecto crítico para cualquier organización que maneje

datos confidenciales, especialmente cuando se trata de información de alumnos y docentes. Por

lo tanto, es esencial diseñar una estrategia de seguridad robusta que garantice la integridad,

confidencialidad y disponibilidad de los datos. En este documento, se presentan dos enfoques

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

la empresa y las especificaciones OWASP.

1.1 Estrategia de Seguridad de la información:

Para el diseño de un plan estratégico de seguridad de la información para SecureReg, se deben

considerar las políticas requeridas de seguridad propuestas por la normativa ISO 27001 y las

especificaciones de seguridad de OWASP. El objetivo es garantizar la protección y

confidencialidad de los datos de los usuarios de la plataforma, asegurando que se sigan los

estándares de seguridad más altos en la industria. La estrategia debe incluir medidas de

seguridad física, lógica y organizacional, tales como la implementación de políticas de acceso y

control de datos, el cifrado de la información sensible y la implementación de un plan de

continuidad del negocio en caso de incidentes de seguridad. Asimismo, se debe establecer un

proceso de evaluación y mejora continua de la estrategia para asegurar la eficacia y eficiencia

de las medidas de seguridad implementadas en la plataforma. Para diseñar un plan estratégico

de seguridad de la información para SecureReg, es importante identificar primero los riesgos y


48

las vulnerabilidades a los que se enfrenta la plataforma. Para ello, se pueden llevar a cabo

evaluaciones de seguridad periódicas y pruebas de penetración para detectar posibles puntos

débiles en la plataforma.

Una vez identificados los riesgos, se deben establecer medidas de seguridad adecuadas para

minimizar el impacto de estos. Estas medidas pueden incluir la implementación de controles de

acceso y autenticación, la encriptación de datos sensibles, la realización de copias de seguridad

periódicas, la monitorización continua de la actividad en la plataforma, entre otras.

Además, es importante que todo el personal involucrado en el manejo de la plataforma esté

debidamente capacitado en prácticas de seguridad de la información y se les proporcione

información y capacitación continua en cuanto a las políticas y procedimientos de seguridad de

la plataforma.

Finalmente, es importante mantener actualizado el plan estratégico de seguridad de la

información para adaptarse a los cambios en el entorno de amenazas y asegurar la continuidad

del negocio en caso de algún incidente de seguridad.

La seguridad informática es un tema crítico para las organizaciones en la actualidad,

especialmente cuando se trata de plataformas que manejan información confidencial de los

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

plataforma y las posibles consecuencias de estos incidentes. En la siguiente tabla se presentan

los resultados de esta investigación, los cuales servirán como base para diseñar una estrategia

de seguridad efectiva para SecureReg.

2. DESARROLLO E IMPLEMENTACIÓN DE LA SOLUCIÓN

En el contexto de SecureReg, se podría implementar JSON Web Token (JWT) como un


49

mecanismo seguro y eficiente de autenticación y autorización para los usuarios en la aplicación

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 almacena en una cookie o en el almacenamiento local del navegador. En cada solicitud

subsiguiente, el cliente incluye el JWT en el encabezado de la solicitud HTTP, y en el servidor

se verifica la firma del JWT para asegurarse de que no haya sido modificado y se extraen los

datos de usuario. Al utilizar JWT, se puede evitar el almacenamiento de información de sesión

en el servidor y reducir la carga del servidor, lo que mejora la escalabilidad de la aplicación

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

comunicación entre diferentes sistemas de manera eficiente.

3. VALIDACIÓN DE LA INFORMACIÓN

3.1 Requerimientos funcionales:

El sistema implementa un mecanismo de autenticación seguro y confiable para garantizar que

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

sobre su seguridad y privacidad. Además, el sistema cuenta con un proceso de recuperación de

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

garantizar la integridad del sistema, se implementa un registro de auditoría de autenticación, que

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

recomendada en cualquier sistema seguro y confiable.

3.2 Requerimientos de seguridad:

El sistema de seguridad del software tiene varios requerimientos importantes a cumplir.

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

mecanismos para detectar y prevenir ataques de phishing y de suplantación de identidad, lo que

aumenta aún más su nivel de seguridad. El sistema implementa medidas de seguridad

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.

3.3 Requerimientos de usabilidad:

El proceso de autenticación es un aspecto clave en cualquier sistema de software y debe

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

recuperación de contraseña, lo que proporciona una capa adicional de seguridad y comodidad

para los

Dado a lo anterior se deben tener en consideración los siguientes factores.

3.4 Identificar los usuarios

La identidad de sus necesidades específicas: Es fundamental identificar a los usuarios de

la plataforma (alumnos, docentes, administradores) y comprender sus necesidades específicas en

cuanto a registro y control. Es importante considerar la cantidad de usuarios y la frecuencia de

uso de la plataforma.

Implementar medidas de seguridad: Para garantizar la seguridad de la información, es

necesario implementar medidas de seguridad adecuadas, como autenticación de usuarios,

encriptación de datos, auditorías de seguridad y restricciones de acceso. Se deben seguir las

normativas y regulaciones de privacidad de datos para garantizar el cumplimiento legal.

3.5 Diseño y funcionalidad de la plataforma:

Secureg es una plataforma de Registro y Control Seguro para Alumnos y Docentes,

diseñada para cumplir con políticas de seguridad de la información basadas en la normativa ISO

27001 y las especificaciones OWASP.

Para garantizar la seguridad de la plataforma, se han implementado medidas de

seguridad, como la autenticación mediante JSON Web Token (JWT) y la validación de

contraseñas mediante un algoritmo de hash seguro. Además, se han considerado vulnerabilidades

comunes, como Cross-Site Scripting (XSS) y Cross-Site Request Forgery (CSRF), y se han

establecido medidas para mitigar los riesgos asociados a estas vulnerabilidades.


52

3.6 La Funcionalidad

En cuanto a su funcionalidad, la plataforma permite a los usuarios registrarse y acceder a

diferentes módulos según su rol, como alumnos o docentes. Los usuarios pueden actualizar su

información personal, consultar notas, asistencias y calificaciones, y también pueden enviar y

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

restringir el acceso a ciertos módulos o funcionalidades.

En resumen, Secureg es una plataforma diseñada para ofrecer un registro y control seguro

de información para alumnos y docentes, implementando medidas de seguridad y

funcionalidades que permiten un acceso controlado y seguro a la información de los usuarios.

3.7 Necesidades de los Usuarios:

3.7.1 Alumnos:

Los alumnos necesitan una plataforma fácil de usar y navegar para acceder a información

importante, como sus horarios de clase, calificaciones, tareas y actividades extracurriculares.

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

educativo y las actividades escolares.

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

educativo y la cantidad de cursos que enseñen.

3.7.3 Administradores:

Los administradores necesitan una plataforma que les permita acceder a información detallada

sobre el desempeño de los alumnos y docentes, como el registro de calificaciones, la asistencia y

el rendimiento académico. También necesitan una forma de monitorear y administrar la

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.

La seguridad de la información es crucial en cualquier sistema de registro y control seguro para

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:

3.7.4 Autenticación de usuarios:

asegurarse de que solo los usuarios autorizados tengan acceso a la información mediante

contraseñas o códigos de acceso.

Encriptación de datos: proteger la información mediante la conversión en un código que solo el

usuario autorizado puede leer, en archivos, comunicaciones y datos almacenados.

3.8 Auditorías de seguridad:

monitorear la plataforma para detectar posibles vulnerabilidades o intentos de acceso no

autorizados.

3.8.1 Restricciones de acceso:

aplicar restricciones basadas en roles de usuario para acceder a información confidencial.


54

3.8.2 Cumplimiento legal:

seguir las normativas y regulaciones de privacidad de datos.

La plataforma debe contar con una interfaz de usuario clara y sencilla, fácil de entender,

independientemente del nivel de conocimiento tecnológico de los usuarios. Se deben utilizar

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

búsqueda rápida de la información y un proceso de registro y autenticación sencillo y fácil de

entender, con retroalimentación inmediata sobre el éxito o el fracaso del proceso.

En cuanto a la autenticación, es importante implementar la autenticación de dos factores para

garantizar que solo los usuarios autorizados tengan acceso a la información, especialmente para

información confidencial. Es importante tener en cuenta la selección del segundo factor de

autenticación y la integración con el proceso de inicio de sesión existente. También se debe

contar con un proceso de acceso de emergencia en caso de problemas de autenticación.

Por último, se debe cifrar los datos almacenados en la plataforma para proteger la información

personal y confidencial de los usuarios. Se debe seleccionar un algoritmo de cifrado seguro y

capaz de cifrar todos los tipos de datos que se manejan.


55

3.9 Control de roles y privilegios

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.

Este módulo permite la creación, modificación y eliminación de roles de usuario, y la


Gestión de Roles asignación de permisos a estos roles.

Gestión de
Privilegios Este módulo permite la asignación y revocación de privilegios a los usuarios y roles.

Este módulo permite la creación, modificación y eliminación de perfiles de usuario, y


Gestión de Perfiles la asignación de roles y privilegios a estos perfiles.

Auditoría Este módulo permite la visualización de registros de actividades de los usuarios en


56

Módulo de
Aplicación Descripción

Secureg.

4. AUDITORIA

4.1 Pistas de auditoría.

El registro de actividades es una parte fundamental de cualquier sistema de seguridad. En el caso

de Secureg, es necesario registrar una serie de actividades críticas para mantener un control

adecuado y tomar medidas oportunas en caso de detectarse algún problema. El registro de

actividades de inicio de sesión incluye el nombre de usuario, la hora y la fecha de inicio de

sesión. Esto permite detectar cualquier actividad sospechosa en las cuentas de usuario y tomar

medidas para evitar intrusiones no autorizadas.

El registro de actividades de modificación de datos registra todas las modificaciones realizadas

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

datos almacenados en Secureg y detectar cualquier intento de modificarlos de manera

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

sospechosa en estos recursos y tomar medidas preventivas.

El registro de intentos de acceso no autorizados registra todos los intentos de acceso no

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

vulneración de la seguridad y tomar medidas inmediatas.

El registro de actividades de administración de usuarios registra todas las actividades

relacionadas con la creación, modificación y desbloqueo de cuentas de usuario y permisos. Esto

permite monitorear el acceso a los recursos y detectar cualquier actividad sospechosa o intento de

manipulación de las cuentas.

Por último, el registro de actualizaciones y cambios en las políticas de seguridad de Secureg

registra cualquier modificación en la configuración de seguridad y las políticas de acceso a

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.

4.2 Gestión de sesiones

Se tiene previsto implementar un mecanismo de autenticación robusto que verifique la identidad

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.

Para el control de accesos, se prevé realizar un seguimiento de los intentos de acceso no

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

cualquier actividad sospechosa o inusual y notificar al administrador del sistema en caso de un

posible compromiso de seguridad.

En cuanto a la protección de la transmisión de datos confidenciales y sensibles, como las

credenciales de inicio de sesión, se tiene previsto implementar el uso de certificados SSL/TLS.

4.3 Manejo apropiado de errores

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,

importantes y menores en orden de importancia.

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

error no genere nuevos problemas en el sistema, y se monitoreará constantemente el sistema para

detectar cualquier problema que pueda surgir en el futuro.

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

tomadas para garantizar la seguridad y el rendimiento del proyecto.


59

4.4 Tabla de codificación segura

Validación de Validación de Controles Manejo de Manejo de


Interfaz Entradas Salidas Criptográficos Archivos Memoria

Interfaz de Usuario Sí Sí No No No

Interfaz del Servidor Sí Sí Sí Sí Sí

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í

4.5 FASE DE PRUEBA

Para garantizar la seguridad en el proyecto, se establecen diversos controles de seguridad. En

primer lugar, se implementa un sistema de autenticación y autorización para controlar el acceso a


60

los recursos del sistema. También se establece una gestión de roles y permisos para restringir el

acceso a ciertas funciones y datos.

Además, se implementan controles criptográficos para proteger la transmisión y almacenamiento

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.

Para detectar y responder a posibles ataques y amenazas, se establece un sistema de monitoreo y

registro de actividad. Esto puede incluir la implementación de alertas y notificaciones para

eventos de seguridad críticos, y la revisión regular de los registros para identificar patrones y

tendencias.

Asimismo, se mantiene el sistema actualizado con las últimas actualizaciones y parches de

seguridad para proteger contra las últimas amenazas de seguridad y vulnerabilidades.

Finalmente, se realizan pruebas de penetración regulares para identificar posibles

vulnerabilidades y probar la efectividad de los controles de seguridad implementados. Con estos

controles de seguridad, se busca garantizar la protección de la información y la continuidad del

negocio.

4.6 Fase de mantenimiento

4.6.1 Prueba de caja blanca:

En la prueba de caja blanca, se tendría acceso al código fuente y se podrían evaluar aspectos

como la implementación de los controles de seguridad, la validación de entradas y salidas, el

manejo de excepciones, el manejo de errores, la implementación de controles criptográficos, entre


61

otros. Se podrían utilizar herramientas como análisis estático de código, análisis dinámico de

código y revisión manual de código para evaluar la seguridad del sistema.

4.6.2 Prueba de caja negra:

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,

la validación de entradas y salidas, la protección contra ataques comunes, el manejo de

excepciones, el manejo de errores, la implementación de controles criptográficos, entre otros. Se

podrían utilizar herramientas como escaneo de vulnerabilidades, pruebas de penetración y

pruebas de estrés para evaluar la seguridad del sistema.

En ambas pruebas, se deberían seguir las guías de pruebas de seguridad de OWASP para

garantizar una evaluación completa y rigurosa de la seguridad del sistema.

También podría gustarte