Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Muciber05 Act3 Ppgy1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

Asignatura Datos del alumno Fecha

Seguridad en sistemas, Apellidos: Guamán Yucaza


2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

Proyecto de análisis y diseño de la seguridad de


una aplicación web

Objetivos

Entre los objetivos principales se encuentran el elaborar la lista de requisitos y


salvaguardas de seguridad de una aplicación web, abordar el diseño de seguridad
de un supuesto real de una aplicación web con tecnologías concretas e incorporar
un esquema de protección online.

Pautas de elaboración

Analizar y diseñar la seguridad de una aplicación web que utiliza Google Chrome
(última versión) y MEAN stack, que es un conjunto de tecnologías que comprende
JavaScript, Angular, NodeJS, Express y MongoDB, interactuando entre sí de manera
óptima para la completa operatividad de una aplicación web utilizando JavaScript.

© Universidad Internacional de La Rioja (UNIR)

Figura 1. Estructura mean. Fuente: página de Funnyfronted: https://funnyfrontend.com/introduccion-


stack-mean-parte-1/.

Actividades 1
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

MongoDB

En un motor de bases de datos de código abierto, con la característica de no ser


relacional, desarrollado en el lenguaje de programación C++, cuyo funcionamiento
es con archivo en formato JSON (JavaScript Object Notation), enfocada en brindar
rendimiento, escalabilidad, flexibilidad y alta disponibilidad.

Entre sus características se encuentra:

▸ No relacional: es un motor enfocado en big data, por lo cual no utiliza la


consulta habitual de los motores SQL para relacionar datos denominada
JOIN. MongoDB no tiene un esquema que indique un formato específico
para archivo que utiliza y se escala de manera horizontal.
▸ NoSQL: MongoDB sustituye en lenguaje de consulta SQL por funciones en
JavaScript para realizar las consultas en los archivos JSON, de esta manera,
brinda una escalabilidad intrínseca al depender de la capacidad del servidor
mas no del motor como tal.
▸ JSON (BSON): aunque a nivel de operatividad parece que se utiliza
solamente el formato JSON para almacenar y gestionar la información,
MongoDB internamente utiliza un formato denominado BSON, el cual es la
traducción binaria del archivo JSON.

© Universidad Internacional de La Rioja (UNIR)

Figura 2. Esquema MongoDB. Fuente: página de MonoDB. https://www.mongodb.com/es

Actividades 2
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

Express

Es un framework para NodeJS enfocado en la estructura de vistas, módulos y


controladores (MVC) que enruta las peticiones HTTP y procesa cada petición
realizada con los diferentes verbos HTTP en los directorios de una URL en cada
puerto, brindando facilidad en el momento de creación de una aplicación web y
despliegue de servicios.

Sus principales características son:

▸ Permite la parametrización de ajustes de las aplicaciones web tales como el


directorio de la aplicación, las plantillas de respuesta a las peticiones, el
puerto de publicación de la aplicación, entre otras configuraciones
fundamentales para la aplicación.
▸ Facilita la codificación de los controles de las diferentes peticiones HTTP y las
rutas de acceso a la aplicación.
▸ Brinda validación adicional en cualquiera de las partes del canal del flujo de
la petición, este procesamiento es denominado middleware, permitiendo
ingresar partes de código para ejecutar acciones antes de concretar la
respuesta o carga de la aplicación.

© Universidad Internacional de La Rioja (UNIR)

Figura 3. Estructura Middleware Express3. Fuente: Github. https://github.com/Fictizia/Master-en-


programacion-de-aplicaciones-con-JavaScript-y-Node.js_ed1/blob/master/teoria/dia75.md

Actividades 3
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

Angular

Es un framework para frontend con el cual se puede realizar aplicación web


utilizando JavaScript y HTML, permitiendo bajar parte de la lógica de la aplicación al
cliente, logrando mayor velocidad en el funcionamiento de las aplicaciones web y
menor cantidad de procesamiento en el servidor.

Angular implementa un paradigma novedoso para que las aplicaciones web tengan
mayor fluidez y brinden la sensación de utilizar una aplicación de escritorio, siendo
tan efectivo que se lleva a entornos móviles. Este paradigma son las aplicaciones de
una sola página o SPA, por sus siglas en inglés: Single Page Application, lo logra a
través de utilizar procesos asincrónicos y por la importancia que le brinda al uso de
los recursos del equipo.

Adicionalmente, este framework también permite el uso de TypeScript, un lenguaje


de programación publicado por Microsoft, el cual brinda a JavaScript características
que este no posee de manera nativa, siendo necesario traducir el código de
TypeScript a JavaScript en un proceso denominado transpiración y ejecutado por
Angular.

Los siguientes son los elementos utilizados por Angular para una aplicación web:

▸ Módulo: es un conjunto de componentes y templates con un objetivo en


específico.

© Universidad Internacional de La Rioja (UNIR)


▸ Componente: es un elemento que puede controlar un espacio dentro de la
pantalla, brindando la lógica y las funciones que se utilizarán. Adicionalmente,
define las propiedades y métodos que se utilizarán en el template.

Actividades 4
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

▸ Template: construye la vista que utilizará un componente en la vista.

▸ Metadatos: permite la extensión de una funcionalidad por medio de una


función, sin afectar la función inicial.

▸ Data binding: es el encargo de permitir la comunicación de información


entre el template y el componente, resaltando dos tipos de data binding: Event
Binding: que ejecuta un método en el componente y Property Binding: que envío de
un objeto de un componente padre.

▸ Directiva: agrega dinamismo al comportamiento del documento HTML por


medio de etiquetas, controlando tanto el aspecto como el comportamiento del
DOM.

▸ Servicio: son funciones generales utilizados por los componentes.

▸ Inyector: adiciona elementos como servicios a los componentes, sin que el


componente como tal los defina.

© Universidad Internacional de La Rioja (UNIR)

Figura 4. Arquitectura Angular. Fuente: página de Angular Chile. https://medium.com/angular-chile/angular-


arquitectura-del-framework-e46204f38fef
Las siguientes son las características más relevantes de NodeJS:

Actividades 5
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

Orientado a eventos

Permite un óptimo uso de los recursos al mantenerse reactivo a la ejecución de un


evento, activando sus funciones solamente cuando es requerido y llamando a su vez
otras funciones que están a la espera.

Gestor de paquetes NPM

Es un repositorio de paquetes donde se puede encontrar librerías en JavaScript para


NodeJS como Express, permitiendo añadir funciones a NodeJS de una manera
sencilla y optimizar el tiempo de desarrollo.

Ejecución de librerías para navegador

Permite ejecutar librerías que se hayan desarrollado anteriormente para frontend


en el backend sin necesidad del navegador, logrando reutilizar código y reduciendo
el tiempo de entrega.

Procesos asincrónicos

Una de las características que hacen tan relevante a NodeJS son los procesos
asincrónicos, evitando que el flujo de procesos se detenga a esperar la respuesta de
una función y permitiendo ejecutar otras funciones mientras se está ejecutando
otra llamada anterior.
© Universidad Internacional de La Rioja (UNIR)

Actividades 6
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

Proponer los requisitos de seguridad que hay que implementar teniendo en


cuenta las dimensiones de seguridad de acuerdo con las tecnologías propuestas
Por ejemplo, proponer una librería de validación de entradas en el código fuente
concreta para SQLI o una guía de configuración segura para Google Chrome
resumiendo lo más importante en la memoria:

▸ Autenticación (varios factores).


▸ Autorización.
▸ Gestión de sesiones.
▸ Confidencialidad.
▸ Integridad.
▸ Logging y trazabilidad.
▸ Validación de entrada y salida en el código fuente.
▸ Manejo de errores y excepciones.
▸ Configuración segura del cliente.
▸ Configuración segura de servidor aplicaciones.
▸ Cabeceras de seguridad.
▸ Configuración segura servidor gestor de bases de datos.
▸ Esquema de protección online.
▸ Disponibilidad.
▸ Política de contraseñas.
▸ Etc.

Extensión y formato

© Universidad Internacional de La Rioja (UNIR)


Debes confeccionar una memoria en formato pdf, explicando el proceso y los
resultados obtenidos adjuntando el informe de la herramienta ZAP en formato
html. quince páginas en un documento de Word, la tipografía debe ser Georgia, el
tamaño 11 y el interlineado 1,5.

Actividades 7
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

Rúbrica:

Proyecto de
análisis y
diseño de la
Puntuación
seguridad de Peso
Descripción máxima
%
una aplicación (puntos)

web

Criterio 1 Completitud de requisitos 3 30%

Criterio 2 Adecuación de requisitos a las tecnologías 3 30%

Criterio 3 Esquema de protección online 3 30%

Criterio 4 Calidad de la memoria 1 10%


10 100 %

© Universidad Internacional de La Rioja (UNIR)

Actividades 8
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

SEGURIDAD EN SISTEMAS,
APLICACIONES Y EL BIG DATA D

Actividad:
Proyecto de análisis y diseño de la seguridad de
una aplicación web

© Universidad Internacional de La Rioja (UNIR)

Paulina Patricia Guamán Yucaza

Actividades 9
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

© Universidad Internacional de La Rioja (UNIR)

Actividades 10
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

1. Introducción

En esta actividad, se examinará el panorama actual de desarrollo de aplicaciones


web, la combinación de tecnologías conocida como MEAN stack la cual ha ganado
considerable popularidad por su capacidad de facilitar la creación de aplicaciones
dinámicas y escalables utilizando JavaScript en todos los niveles. Este conjunto de
tecnologías, que incluye MongoDB como base de datos NoSQL, Express y Node.js en
el lado del servidor, y Angular en el cliente, permite una integración fluida y eficiente
para desarrollar aplicaciones web modernas.

El objetivo de este trabajo es analizar y diseñar un enfoque integral de seguridad


para una aplicación web que utiliza la última versión de Google Chrome y la MEAN
stack. Este análisis abordará las diversas dimensiones de seguridad, desde la
autenticación y autorización hasta la gestión de sesiones, la confidencialidad de los
datos y la protección contra vulnerabilidades específicas como las inyecciones de
código y los ataques XSS. Además, se considerarán las configuraciones seguras tanto
del cliente (navegador) como del servidor (MEAN stack), así como las prácticas
recomendadas para asegurar la disponibilidad y la integridad de la aplicación.

El estudio de seguridad propuesto no solo se enfocará en las características técnicas


y arquitectónicas de la MEAN stack y Google Chrome, sino que también destacará la
importancia de la educación y la concientización sobre la seguridad para todos los
actores involucrados en el ciclo de vida de desarrollo y operación de la aplicación
web.

A través de este enfoque integral, se pretende proporcionar un marco robusto y


actualizado para la implementación segura de aplicaciones web, asegurando así la
protección continua de los datos y la privacidad de los usuarios en un entorno digital
cada vez más interconectado y dinámico.

© Universidad Internacional de La Rioja (UNIR)

Actividades 11
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

2. Objetivo

Adquirir conocimientos más profundos sobre la arquitectura de las Aplicaciones


Web Ricas en Internet (RIA) que emplean la tecnología AJAX, explorando también
las vulnerabilidades de seguridad más relevantes y los métodos de protección
correspondientes.

© Universidad Internacional de La Rioja (UNIR)

Actividades 12
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

Para proponer requisitos de seguridad teniendo en cuenta las dimensiones


mencionadas y las tecnologías específicas, aquí tienes algunas recomendaciones
concretas:

1. Autenticación (varios factores):


o Implementación de autenticación multifactor (MFA) para todos los
usuarios.
o Uso de estándares robustos como OAuth 2.0 para aplicaciones web y
servicios API.
2. Autorización:
o Implementación de control de acceso basado en roles (RBAC) o
políticas de autorización basadas en atributos (ABAC).
o Validación y control exhaustivo de los permisos de acceso a recursos
sensibles.
3. Gestión de sesiones:
o Utilización de tokens de sesión seguros y renovables.
o Implementación de timeouts de sesión adecuados y gestión de tokens
inválidos.
4. Confidencialidad:
o Uso de cifrado fuerte para datos en reposo (por ejemplo, AES-256).
o Cifrado de datos sensibles durante su transmisión (TLS/SSL).
5. Integridad:
o Implementación de firmas digitales y validación de integridad de
datos críticos.
o Uso de hashes seguros para garantizar la integridad de los datos
almacenados.
6. Logging y trazabilidad:
o Registro de eventos de seguridad relevantes con timestamp y
contexto.
o Implementación de auditorías periódicas y análisis de registros para
detectar anomalías.
7. Validación de entrada y salida en el código fuente:
o Implementación de librerías de validación específicas para prevenir
ataques como SQL Injection (por ejemplo, OWASP ESAPI).
o Validación estricta de todos los datos de entrada y salida para evitar
ataques XSS, CSRF, etc.
8. Manejo de errores y excepciones:
© Universidad Internacional de La Rioja
o (UNIR)
Implementación de manejo de errores seguro que no revele
información sensible.
o Registro adecuado de errores para análisis y resolución de problemas
sin comprometer la seguridad.
9. Configuración segura del cliente:

Actividades 13
Asignatura Datos del alumno Fecha
Seguridad en sistemas, Apellidos: Guamán Yucaza
2024-06-20
aplicaciones y el big data Nombre: Paulina Patricia

o Guías de configuración segura para navegadores (como Google


Chrome) para deshabilitar extensiones no seguras, habilitar
actualizaciones automáticas, etc.
10. Configuración segura del servidor de aplicaciones:
o Configuración segura de servidores web (ej. Apache, Nginx) con
SSL/TLS adecuado, configuraciones de headers HTTP seguras (ej.
CSP, HSTS).
o Uso de firewalls y filtrado de tráfico para proteger el servidor de
aplicaciones.
11. Cabeceras de seguridad:
o Configuración de cabeceras HTTP como Content Security Policy
(CSP), HTTP Strict Transport Security (HSTS), etc., para mitigar
ataques específicos.
12. Configuración segura del servidor gestor de bases de datos:
o Aplicación de parches y actualizaciones regulares.
o Configuración segura de privilegios de acceso y acceso remoto.
13. Esquema de protección online:
o Implementación de sistemas de detección y prevención de intrusiones
(IDS/IPS).
o Monitorización continua del tráfico y análisis de comportamiento para
detectar actividades sospechosas.
14. Disponibilidad:
o Implementación de planes de continuidad del negocio y recuperación
ante desastres.
o Uso de balanceadores de carga y redundancia de servidores para
mantener alta disponibilidad.
15. Política de contraseñas:
o Implementación de políticas de contraseñas robustas (longitud
mínima, complejidad, caducidad).
o Uso de hashing y salting adecuados para almacenar contraseñas de
forma segura.

Estos requisitos de seguridad abarcan diversas dimensiones y tecnologías específicas


para garantizar una implementación segura y robusta de sistemas y aplicaciones. Es
fundamental adaptar estas recomendaciones según el contexto y las necesidades
específicas del proyecto o sistema en cuestión.

© Universidad Internacional de La Rioja (UNIR)

Actividades 14

También podría gustarte