PRESENTACIÓN
El uso extendido de las aplicaciones web, ha traído consigo el reto de contrarrestar su exposición ante amenazas en la red. Con el fin de proteger la información, es necesario conocer las herramientas y los procedimientos para resguardar
una aplicación web. En el personal encargado del desarrollo recae la responsabilidad de configurar y dar mantenimiento a los servicios web, así como implantar controles y buenas prácticas para preservar un sitio ante amenazas.
PERFIL DE INGRESO
Este curso está dirigido a los desarrolladores de páginas y aplicaciones web, administradores de servicios web y estudiantes, interesados en el desarrollo seguro de aplicaciones, así como en la implantación y la configuración de
controles de seguridad en el servidor que hospeda un sitio. Se requiere haber acreditado o demostrar conocimientos equivalentes a los cursos Introducción a la seguridad en cómputo e Introducción a GNU/Linux.
OBJETIVO
El participante identificará las principales vulnerabilidades de un sistema web y aplicará los mecanismos necesarios para la protección de un sitio y las bases de datos que le dan servicio.
TEMARIO
1. |
PROTOCOLO HTTP
1.1 |
Conceptos básicos de HTTP |
1.2 |
Revisión de HTTP |
|
2. |
AUTENTICACIÓN HTTP
2.1 |
Autenticación Basic y Digest HTTP |
2.2 |
Certificados de autenticación |
2.3 |
Autenticación basada en formularios |
2.4 |
Autenticación con OAuth |
2.5 |
Autenticación con LDAP |
|
3. |
VALIDACIÓN
3.1 |
Contexto correcto |
3.2 |
Manejo de entradas HTML |
3.3 |
Funciones de filtrado con PHP |
3.4 |
Controles de validación con ASP.NET |
3.5 |
Validación en Java |
3.6 |
Manejo de la carga de archivos |
|
4. |
SESIONES
4.1 |
Establecimiento de sesión |
4.2 |
Seguimiento de sesión |
4.3 |
Cookies |
|
5. |
PROGRAMACIÓN POR CAPAS
5.1 |
Patrón MVC |
5.2 |
Defensa por capas |
5.3 |
Conceptos básicos
5.3.1 |
Firewall de Aplicaciones Web
5.3.1.1 |
Modo embebido |
5.3.1.2 |
Modo transparente |
5.3.1.3 |
Modo proxy inverso |
|
5.3.2 |
Defensa en el código fuente |
|
5.4 |
Bibliotecas de validación |
|
6. |
CARACTERÍSTICAS DE LAS BASES DE DATOS
6.1 |
Redundancia |
6.2 |
Consistencia |
6.3 |
Integridad |
6.4 |
Seguridad |
|
7. |
INTRODUCCIÓN A LA ADMINISTRACIÓN DE BASES DE DATOS
7.1 |
Sistema Manejador de Bases de Datos |
7.2 |
Componentes del RDBMS (DML, DDL, DCL) |
7.3 |
Configuración del manejador de bases de datos |
7.4 |
Gestión de usuarios y privilegios |
7.5 |
Generación de respaldos y recuperación |
|
8. |
SEGURIDAD EN BASES DE DATOS
8.1 |
Hardening del RDBMS (PostgreSQL) |
8.2 |
Integridad de los datos |
8.3 |
Confidencialidad de los datos |
8.4 |
Disponibilidad de los datos |
8.5 |
Auditoría de la base de datos |
8.6 |
Bloques transaccionales |
|
9. |
SERVIDOR DE APLICACIONES WEB
9.1 |
Funcionamiento del servicio |
9.2 |
Configuración del servicio |
9.3 |
Configuración de hosts virtuales
9.3.1 |
Host Virtual por IP |
9.3.2 |
Host Virtual por Dominio |
|
9.4 |
Hardening del servicio |
9.5 |
Implementación de HTTPS |
|
10. |
GESTORES DE CONTENIDO–CMS
10.1 |
Características de los gestores de contenido |
10.2 |
Instalación y configuración |
10.3 |
Hardening para gestores de contenido |
|
11. |
RIESGOS PARA LAS APLICACIONES WEB
11.1 |
Ataques más comunes |
11.2 |
Riesgos |
11.3 |
Vulnerabilidades |
11.4 |
Medidas de prevención |
11.5 |
Top Ten Project de OWASP |
11.6 |
Web Goat Project |
11.7 |
Herramientas automatizadas |
|
PERFIL DE EGRESO
Con los conocimientos adquiridos, el participante podrá realizar las configuraciones de seguridad necesarias para mejorar la seguridad en sus aplicaciones
web y la infraestructura que las soporta (servidor de aplicaciones y sistema manejador de base de datos relacionales). Además, podrá entender el funcionamiento
y llevará a cabo la identificación de los ataques más comunes, para tomar las medidas preventivas que considere necesarias para su mitigación.
REQUISITOS ACADÉMICOS
Estudios mínimos de licenciatura o equivalente.
DURACIÓN
20 hrs.
RECURSOS INFORMÁTICOS
HARDWARE:
- Espacio libre en disco duro de mínimo 30 GB.
- Mínimo 4 GB de memoria RAM.
SOFTWARE:
- Oracle VirtualBox 7.0 o superior.
- Distribución de GNU/Linux Debian 10 o superior.
- Servidor de aplicaciones web Apache HTTPD 2.4.
- Manejador de bases de datos PostgreSQL 12.0 o superior.
- PHP 8.1 o superior.
CONECTIVIDAD:
- Acceso a Internet con velocidad de 200 Mbps o superior.
BIBLIOGRAFÍA
- Basta, A. and Zgola M. (2011). Database Security. 1st Edition. Delmar Cengage Learning.
- Campolti, F. (2020). PostgreSQL for DBA: PostgreSQL 12. 1st Edition. Independently Published.
- Folini, C. and Ristić, I. (2017). Mod Security Handbook, 2nd Edition. Feisty Duck.
- Hanquing, W. and Zhao, L. (2015). Web Security: A WhiteHat Perspective. 1st Edition. Auerbach Publications.
- Hoffman A. (2020). Web Application Security: Exploitation and countermeasures for modern web applications. 1st Edition. O’Reilly.
- Laurie, B. and Laurie, P. (2009). Apache: The Definitive Guide, 3rd Edition. O’Reilly.
- LeBlanc, J. and Messerschmidt, T. (2016). Identity and Data Security for Web Development. 1st Edition. O'Reilly.
- Mueller, J. (2015). Security for Web Developers. 1st Edition. O'Reilly.
- Shaik, B. (2020). PostgreSQL Configuration. Best Practices for Performance and Security. 1st Edition. Apress.
- Sullivan, B. and Liu, V. (2011). Web Application Security, A Begginer’s guide. McGraw-Hill Education.
Diciembre 2023
101230/M