Unidad III: Proceso de seguridad e implementacion de la aplicacion web
La seguridad web es el conjunto de medidas, prácticas, herramientas y protocolos diseñados para proteger sitios web, aplicaciones web y servicios en línea contra amenazas cibernéticas. Su objetivo es garantizar tres pilares fundamentales:
En el contexto de nuestra aplicación de Gestión de Eventos Universitarios, la seguridad web implica proteger los datos de los usuarios registrados (estudiantes, profesores, administradores), las credenciales de acceso, la información de los eventos y las inscripciones.
' OR 1=1 --.| Herramienta / Mecanismo | Descripción | Aplicación en el Proyecto |
|---|---|---|
| Helmet.js | Middleware de Express que configura headers HTTP de seguridad | Protege contra XSS, clickjacking y sniffing de MIME type |
| CORS | Control de acceso de origen cruzado (Cross-Origin Resource Sharing) | Restringe qué dominios pueden acceder a la API |
| Rate Limiting | Limita el número de solicitudes por IP en un período de tiempo | Previene ataques de fuerza bruta en el login |
| Input Validation | Validación y sanitización de datos de entrada | Previene inyección SQL y XSS en formularios |
| Prepared Statements | Consultas parametrizadas a la base de datos | Previene inyección SQL en consultas MySQL |
| CSRF Tokens | Tokens únicos por sesión para verificar solicitudes legítimas | Protege acciones como inscripción y creación de eventos |
| WAF (Firewall) | Filtra tráfico malicioso antes de llegar a la aplicación | Protección a nivel de servidor/hosting |
En la aplicación de Gestión de Eventos Universitarios se implementan los siguientes mecanismos:
| Tipo | Algoritmo | Uso en el Proyecto | Características |
|---|---|---|---|
| Hash (unidireccional) | bcrypt | Almacenamiento de contraseñas | No se puede revertir. Salt aleatorio. Factor de costo configurable. |
| Simétrica | AES-256 | Cifrado de datos sensibles en BD | Misma clave para cifrar y descifrar. Rápido y eficiente. |
| Asimétrica | RSA / ECDSA | Certificados SSL/TLS (HTTPS) | Par de claves pública/privada. Base del HTTPS. |
| Firma digital | HMAC-SHA256 | Firma de tokens JWT | Verifica integridad y autenticidad del token. |
Un certificado de seguridad SSL/TLS es un archivo digital que:
| Tipo | Validación | Costo | Uso Recomendado | Tiempo de Emisión |
|---|---|---|---|---|
| DV (Domain Validation) | Solo verifica propiedad del dominio | Gratis (Let's Encrypt) o bajo costo | Blogs, sitios personales, proyectos académicos | Minutos |
| OV (Organization Validation) | Verifica dominio + organización | $50 - $200 USD/año | Sitios corporativos, portales institucionales | 1-3 días |
| EV (Extended Validation) | Verificación exhaustiva de la organización | $100 - $500+ USD/año | Bancos, e-commerce, gobierno | 1-2 semanas |
| Wildcard | Cubre dominio + todos los subdominios | $50 - $300 USD/año | Sitios con múltiples subdominios | Variable |
| Multi-Domain (SAN) | Cubre múltiples dominios diferentes | $100 - $400 USD/año | Organizaciones con varios dominios | Variable |
Para la aplicación de Gestión de Eventos Universitarios desplegada en eventosuniversitarios.eventyplanner.com, se utiliza:
| Servicio | Descripción | Puerto |
|---|---|---|
| Apache/Nginx | Servidor web que sirve los archivos HTML, CSS y JS | 80 (HTTP) / 443 (HTTPS) |
| Node.js | Runtime del backend (Express API) | 3000 (interno) |
| MySQL | Base de datos relacional | 3306 (solo local/interno) |
| SSH | Acceso remoto seguro al servidor | 65002 (personalizado) |
| SFTP | Transferencia segura de archivos | 65002 (sobre SSH) |
La secuencia de pasos para desplegar la aplicación:
Se seleccionó SFTP (SSH File Transfer Protocol) por las siguientes razones:
La aplicación implementa un sistema completo de autenticación y autorización: