Está en la página 1de 15

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. (infranetworking.es)”

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

➢ https://blog.infranetworking.com/servidor-iis/#Que_es_IIS
➢ https://carlosazaustre.es/que-es-la-autenticacion-con-token
➢ https://www.oracle.com/technetwork/es/database/enterprise-
edition/documentation/seguridad-y-cumplimiento-normativo-2247283-esa.pdf
➢ https://www.acronis.com/es-mx/blog/posts/database-security/
➢ https://www.powerdata.es/seguridad-de-
datos#:~:text=En%20l%C3%ADneas%20generales%2C%20seguridad%20de,dat
os%20de%20una%20posible%20corrupci%C3%B3n.

También podría gustarte