Definir las políticas de seguridad
David Felipe Quesada Palencia
José Bladimir Benavides Ocampo
Angie Paola Gallego Marín
Kevin Julián Arias Rogeles.
Noviembre, 2022.
Fundación universitaria del Areandina.
Ingeniería de sistemas.
Modelos de programación II.
ii
Contenido iii
Introducción .................................................................................................................................... 1
Objetivo........................................................................................................................................... 2
Instrucciones ................................................................................................................................... 3
Cuerpo del trabajo ........................................................................................................................... 4
Seguridad en base de datos. ........................................................................................................ 4
Monitoreo. ............................................................................................................................... 4
Control de accesos. ................................................................................................................. 5
Cifrado de datos. ..................................................................................................................... 6
Backups y mantenimientos. .................................................................................................... 6
Protección de rutas y autenticación............................................................................................. 7
Estructura. ............................................................................................................................... 7
Consumo de servicios. ................................................................................................................ 9
Alojamiento del aplicativo. ....................................................................................................... 10
Conclusión .................................................................................................................................... 11
Referencias .................................................................................................................................... 12
1
Introducción
El presente taller tiene como objetivo la definición de los conceptos que hacen de
las aplicaciones soluciones más seguras no solo a nivel de software sino a nivel de
hardware (infraestructura y dispositivos). De igual manera, se indaga acerca de los
componentes que se podrían incluir en el proyecto que posiblemente no se vieron
directamente en el curso. Se debe formular un problema para que sea desarrollado con la
ayuda de los conceptos trabajados a lo largo del curso.
2
Objetivo
Incursionar en los conceptos de seguridad en el desarrollo de aplicaciones
orientadas a la web, definiendo los respectivos ítems que hagan de ellas soluciones más
seguras, además de poner en práctica el trabajo colaborativo y los conceptos adquiridos a
lo largo del curso.
3
Instrucciones
1. Conformar grupos de 3 estudiantes.
2. Una cooperativa desea crear una aplicación web para que sus usuarios puedan
realizar sus transacciones online (consultas, aportes, retiros, actualizaciones,
descarga de certificados, extractos, etc.). Usted ha sido la persona seleccionada
para crear una estrategia que pueda brindar las técnicas, herramientas, políticas y
protocolos que le garanticen la seguridad necesaria para su buen funcionamiento.
Por lo tanto, debe enviar un documento en el que explique qué acciones aplicaría
con el fin de obtener este nivel de seguridad.
3. Entregar en formato PDF el desarrollo del taller, debe contener introducción,
objetivos, conclusiones y bibliografía.
4
Cuerpo del trabajo
Seguridad en base de datos.
A nivel de arquitectura, en dado caso de que no se haya definido el motor de base
de datos, se debe recomendar una base de datos relacional, ya que, por lo general, al
mantener más ordenada la información por tablas, columnas y filas, lo que permite tener
mas control sobre la misma, ya que al tener la información ordenada y clasificada permite
un monitoreo periódico más eficaz.
Monitoreo.
Realizar monitoreos manuales por parte del DBA e implementar plugin de
auditoria en la base de datos relacional, con el fin de determinar la actividad que ha
presentado la base de datos, ya sea ingreso de usuarios, movimientos en el flujo de
información, realizando la generación de informes de estos procesos.
Requerimos mantener un historial de información de los movimientos que se
realizan en nuestra Cooperativa, por lo que, crearemos una tabla de log, la cual,
llamaremos posteriormente desde nuestro código fuente para realizar el guardado de
procesos. Los campos de esta tabla guardaran un Id, nombre del proceso, usuario el cual
realizó el proceso, fecha del movimiento, información del proceso. Con esto, podremos
determinar persona, información y momento del movimiento en el aplicativo.
5
Control de accesos.
En nuestra base de datos relacional, tendremos distintos niveles de seguridad, en
este caso definiremos nuestra “primera línea de seguridad” de nuestra base de datos, la
cual refiere a accesos y permisos. Dicha estructura será gestionada e implementada por el
DBA del proyecto, por lo general, estas restricciones y permisos son más comunes en
bases de datos relacionales, por lo que es requerido tener este tipo de motor de base de
datos para gestionar este nivel de seguridad.
Roles.
Definiremos los distintos roles los cuales van a tener acceso a nuestra base de
datos, ya sean, roles de administrador, el cual va a ser manejado por el DBA del
aplicativo, dicho rol podrá realizar modificaciones tanto de datos como de estructura en
las tablas y en general en nuestra instancia.
Adicionalmente, contaremos con el Rol DEV, dicho rol solo será facilitado a los
desarrolladores del aplicativo, este rol no permite modificar estructuras de nuestra
instancia de base de datos, ya que para esto el encargado y por buenas prácticas,
únicamente debe ser manipulado por el DBA, sin embargo, se tendrá acceso a la
información de las tablas y a los distintos procesos que permita la instancia.
El rol de terceros permitirá únicamente mostrar las tablas las cuales no contengan
información sensible, dicho rol será suministrado a usuarios/personas que sean externas a
la organización, adicionalmente, no se permitirá la modificación de información de
ninguna tabla, únicamente facilitará la consulta de datos.
6
Usuarios.
Realizaremos la creación de los usuarios en base a la información de las personas
las cuales vayan a realizar el acceso a la base de datos, estos usuarios estarán enlazados a
un distinto rol, dependiendo de las necesidades que el administrador del proyecto
determine.
Cifrado de datos.
Definiremos en nuestra base de datos cuales son las tablas las cuales contienen
datos o información sensible, una vez identificadas, realizaremos un update a las
columnas que manejen información de alta sensibilidad, tales como, tarjetas de crédito,
contraseñas y todo tipo de información personal privada, además, para mantener una
buena estructura y manejar buenas prácticas, en todas las tablas, las llaves primarias
también deberán ser cifradas.
Backups y mantenimientos.
Semanalmente, por buenas practicas y recomendaciones generales, se deben
depurar las tablas realizando limpieza de información obsoleta, ya que la sobrecarga de
datos puede generar una caída en la misma, también realizando reinicios y aplicando
índices para mejorar el funcionamiento y velocidad de procesos. Adicionalmente, una vez
hecho este mantenimiento, realizar copias de seguridad en los servidores privados, ya
que se debe mantener una línea de reportes para monitoreo y como parametrización de
buenas prácticas en nuestra base de datos.
7
Protección de rutas y autenticación
Las rutas determinan la dirección del sitio el cual estamos navegando, dicha ruta
puede referenciar componentes/módulos los cuales contengan procesos o información
sensible para usuarios los cuales no estén autorizados, por lo que, requerimos
parametrizar dichas direcciones en base a roles y permisos de nuestro aplicativo.
Por situaciones provocadas por la pandemia el sector financiero y sus clientes
fueron obligados a utilizar de una manera urgente las plataformas digitales para realizar
las actividades cotidianas y diferentes que tienen las entidades bancarias.
Así mismo se evidencia la presencia de ciberdelincuentes que se dirigen al sector
financiero tratando de aprovechar el aumento del riesgo para comprometer as cuentas
bancarias.
(Teniendo esto en cuenta nuestra cooperativa quiere implementar buenas prácticas
y utilizar herramientas de alta calidad para la seguridad y privacidad de la información de
los clientes como de la cooperativa en general a la hora de crear la aplicación web.
Estructura.
Se desarrollará la aplicación web con el lenguaje de PHP ya que es un lenguaje de
programación interpretado que no compila su código al servidor, se escribirá el código de
manera sencilla y segura. Este lenguaje se ejecuta desde el lado del servidor, el usuario
no tendrá acceso al código fuente, el código estará oculto solo será disponible para el
programador. Adicionalmente el middleware en Laravel.
El middleware es el que nos proporciona un enlace entre dos aplicaciones,
sistemas o proyectos, para así conectarnos de un lado a otro ya que su función es pasar
8
datos entre ellas de un lado para otro de manera segura. Por ejemplo, de cómo se hace la
configuración para la protección de las rutas del sistema.
Laravel es un archivo que filtran las peticiones HTTP en un sistema, es el archivo
que va en el medio de peticiones las cuales se van a ver como resultado final.
El middleware nos ayudará alterar el flujo, el cual devolverá la respuesta deseada al
usuario o una redirección a una página erros, mensaje o estado HTTP si se tiene alguna
sospecha de una mala acción o ingreso a la aplicación.
Uso del middleware.
9
El middleware es una manera muy acertada para la protección de nuestras rutas,
definiendo lo que queremos proteger y crear la lógica necesaria para el archivo. Como
vimos los ejemplos anteriores podemos ver cómo nos servirá este middleware de manera
acertada ya que cada regla requiere una clase, también no se puede crear clases para
colocar directamente el acceso para usuarios suscritos.
Y por último y más importante nos mostrará un Estado 403, cuando un cliente no
cuenta con los permisos o privilegios para entrar al sistema al no estar suscrito, la
solicitud será legal pero el servidor no la responderá debido a lo anteriormente
mencionado.
Consumo de servicios.
Antes de ejecutar cualquier tipo de petición desde nuestro aplicativo, se requerirá
de una autenticación basada en Token, por lo que, requerimos que este usuario antes de
realizar un proceso dentro de nuestro aplicativo se autentique en nuestro backend. Por lo
que, por medio de una parametrización con las credenciales del usuario en sesión.
Dicho token de autenticación para consumo de servicios se encuentra en formato
JWT, es decir, un token cifrado.
10
Alojamiento del aplicativo.
Al momento de realizar el paso a producción de nuestro aplicativo, debemos tener
encuentra en ambiente en el cual lo vamos a hacer. En este caso, realizaremos el
alojamiento tanto del aplicativo como de la base de datos en un servidor remoto el cual va
a estar alojado en una red privada.
“IIS son las iniciales de Internet Information Services y si bien es más conocido como
servidor web en realidad son un conjuntos de servicios que transforman un sistema
Microsoft Windows en un servidor capaz de ofrecer servicios Web, FTP y SMTP entre
otros. ([Link])”
En el servidor remoto se parametrizará un IIS, en el cual montaremos nuestro
artefacto de publicación, una vez realizado este proceso, un usuario externo podrá
ingresar a nuestro aplicativo cooperativa, realizando el apuntamiento al puerto del
servidor, seguido de la ruta de ingreso al aplicativo, concluyendo de esta forma, la
estructuración de seguridad de nuestro aplicativo en distintos niveles.
11
Conclusión
They are currently on the market, in this case, we implement a "layered security",
which is quite effective regarding data protection, information encryption, third-party
management and blocking, database security and application hosting.
12
Referencias
➢ [Link]
➢ [Link]
➢ [Link]
edition/documentation/[Link]
➢ [Link]
➢ [Link]
datos#:~:text=En%20l%C3%ADneas%20generales%2C%20seguridad%20de,dat
os%20de%20una%20posible%20corrupci%C3%B3n.
➢