Guías rápidas de Ciberseguridad
Objetivo: Proporcionar una comprensión de las 10 vulnerabilidades más críticas en aplicaciones web, ilustrando cómo funcionan y qué medidas de seguridad se pueden implementar para prevenirlas.
Ideal Para: Desarrolladores y principiantes en ciberseguridad interesados en aprender cómo identificar y mitigar vulnerabilidades en aplicaciones web.
Para disfrutar de este curso 100% gratuito tan sólo tienes que registrarte en #anixelo.
Temario del curso
Sesión 1: Introducción a OWASP y el Top 10
- Descripción de OWASP: ¿Qué es OWASP y su papel en la seguridad web?
- Importancia del OWASP Top 10: Por qué estas vulnerabilidades son fundamentales para desarrolladores y expertos en seguridad.
- Estructura del curso y metodología: Visión general de cada sesión y objetivos de aprendizaje.
Sesión 2: Inyección (Injection)
- Descripción: Qué es una inyección y cómo afecta a las aplicaciones.
- Tipos comunes de inyección: SQL, LDAP, NoSQL, comandos de sistema.
- Ejemplos de ataques de inyección: Cómo los atacantes manipulan las consultas para acceder o modificar datos.
- Medidas de mitigación: Uso de consultas preparadas, ORM, y validación/sanitización de datos.
Sesión 3: Autenticación Rota (Broken Authentication)
- Descripción: Problemas comunes en la autenticación que exponen a las aplicaciones a ataques.
- Métodos de ataque: Credential stuffing, ataques de fuerza bruta.
- Buenas prácticas de autenticación: Políticas de contraseñas, autenticación multifactor (MFA), y almacenamiento seguro de contraseñas.
- Práctica recomendada: Implementación básica de autenticación segura con hashing y MFA.
Sesión 4: Exposición de Datos Sensibles (Sensitive Data Exposure)
- Descripción: Cómo y por qué los datos sensibles son expuestos y las consecuencias de ello.
- Medidas de seguridad para proteger datos sensibles: Cifrado de datos en reposo y en tránsito (SSL/TLS), uso de hashing para contraseñas.
- Ejemplos de exposición de datos: Fugas en logs, direcciones URL, cookies.
- Práctica recomendada: Configuración de SSL/TLS y almacenamiento seguro de datos sensibles.
Sesión 5: Control de Acceso Roto (Broken Access Control)
- Descripción: Problemas de control de acceso que permiten a usuarios no autorizados acceder a funciones o datos restringidos.
- Ejemplos de vulnerabilidades: Escalación de privilegios, acceso a funciones administrativas.
- Prácticas de mitigación: Diseño de roles, permisos basados en necesidades mínimas, validación en el lado del servidor.
- Práctica recomendada: Implementación de control de acceso con roles y permisos en una aplicación básica.
Sesión 6: Configuración de Seguridad Incorrecta (Security Misconfiguration)
- Descripción: Cómo los errores de configuración abren puertas para ataques.
- Ejemplos comunes: Configuración predeterminada, exposición de mensajes de error detallados.
- Prácticas de configuración segura: Revisión de configuraciones, restricción de accesos predeterminados, gestión de entornos de desarrollo y producción.
- Práctica recomendada: Configuración básica de seguridad para un servidor de aplicaciones.
Sesión 7: XSS (Cross-Site Scripting)
- Descripción: Cómo los atacantes inyectan scripts en sitios web vulnerables.
- Tipos de XSS: Reflejado, almacenado, y basado en DOM.
- Ejemplos de ataques: Inyección de scripts en formularios y URLs.
- Prácticas de mitigación: Sanitización de entradas, uso de cabeceras de seguridad.
- Práctica recomendada: Configuración de medidas de protección contra XSS en un formulario de entrada.
Sesión 8: Deserialización Insegura (Insecure Deserialization)
- Descripción: Cómo la deserialización de datos no seguros permite ataques en las aplicaciones.
- Ejemplos de ataques de deserialización: Inyección de código, escalación de privilegios.
- Prácticas de mitigación: Validación de datos, uso de formatos de datos seguros.
- Práctica recomendada: Ejemplo práctico de uso seguro de datos deserializados.
Sesión 9: Uso de Componentes con Vulnerabilidades Conocidas
- Descripción: Riesgos de utilizar librerías y dependencias inseguras.
- Ejemplos comunes: Vulnerabilidades en bibliotecas, dependencias de terceros.
- Buenas prácticas de gestión de dependencias: Uso de herramientas de escaneo de vulnerabilidades y actualización de librerías.
- Práctica recomendada: Implementación de herramientas de análisis de vulnerabilidades en una aplicación.
Sesión 10: Registro y Monitoreo Insuficientes (Insufficient Logging and Monitoring)
- Descripción: Cómo la falta de monitoreo permite que los ataques pasen desapercibidos.
- Importancia de los logs de seguridad: Monitoreo de actividad, detección de anomalías.
- Prácticas recomendadas: Configuración de logs y alertas, uso de herramientas de monitoreo.
- Práctica recomendada: Configuración de logs de auditoría en una aplicación básica.
Sesión Final: Proyecto de Aplicación Web Segura
- Descripción del Proyecto: Construcción de una aplicación sencilla que implemente los principios de seguridad cubiertos.
- Objetivo: Aplicar los conocimientos adquiridos para asegurar una aplicación web.
- Componentes del Proyecto:
- Autenticación segura.
- Protección de datos sensibles.
- Configuración de control de acceso.
- Protección contra inyecciones y XSS.
- Monitoreo y logging básico.