Desarrollo web seguro con Java. (THWI-3)

Intermedio


Descripción

Java es uno de los lenguajes de programación más utilizados en el mundo empresarial a la hora de desarrollar aplicaciones de gestión con buenos niveles de escalabilidad y desempeño. No es un lenguaje simple y requiere programadores con sólidos conocimientos en programación orientada a objetos y arquitectura de software. Desafortunadamente, dada su complejidad, es muy frecuente cometer errores de implementación que posteriormente se traducen en vulnerabilidades o fugas de información graves. En este curso se enseñan los principales criterios y buenas practicas a la hora de crear aplicaciones web seguras con Java. El contenido del curso es el siguiente.

Bloque 1: Introducción al desarrollo web seguro con Java.
- Conceptos básicos del desarrollo web.
- Arquitectura de Java EE para aplicaciones web.

Bloque 2: Controles de seguridad
- Gestión de usuarios autenticados.
- Gestión de usuarios autorizados.
- Gestión de cookies y elementos persistentes en el lado del cliente.
- Validaciones de datos de entrada.
- Gestión de errores y fugas de información.
- Gestión de sesiones
- Uso de algoritmos criptográficos seguros.

Bloque 3: Análisis estático de código.
- Buscando patrones de potenciales vulnerabilidades.
- Analizando los objetos de petición y respuesta HTTP.
- Analizando tags HTML y Cookies.
- Analizando instrucciones SQL.

Bloque 4: Buenas practicas de desarrollo en Java.
- Acceso e inicialización de clases y atributos.
- Serialización y Deserialización de objetos.
- Validación de entradas y consultas preparadas.
- Almacenamiento critpográfico seguro.
- Uso de ESAPI en programas Java.








Contenido
  • Sesión 0: Índice de contenidos.
  • Sesión 1 - Conceptos básicos del desarrollo web con Java
  • Sesión 1 - Conceptos básicos del desarrollo web con Java
  • Sesión 1 - Prueba de conocimientos.
  • Sesión 2 - Configuración del entorno
  • Sesión 2 - Configuración del entorno
  • Sesión 2 - Prueba de conocimientos.
  • Sesión 3 - Proyectos web con Maven.
  • Sesión 3 - Proyectos web con Maven.
  • Sesión 3 - Prueba de conocimientos.
  • Sesión 4 - Introducción a JSF.
  • Sesión 4 - Introducción a JSF.
  • Sesión 4 - Prueba de conocimientos.
  • Sesión 5 - Introducción a Spring Framework y JPA.
  • Sesión 5 - Introducción a Spring Framework y JPA.
  • Sesión 5 - Prueba de conocimientos.
  • Sesión 6 - Librerías para validación de datos de entrada.
  • Sesión 6 - Librerías para validación de datos de entrada.
  • Sesión 6 - Prueba de conocimientos.
  • Ejercicios Bloque 1.
  • Sesión 7 - Introducción a Spring Security
  • Sesión 7 - Introducción a Spring Security
  • Sesión 7 - Prueba de conocimientos.
  • Sesión 8 - Personalización de Spring Security
  • Sesión 8 - Personalización de Spring Security
  • Sesión 8 - Prueba de conocimientos.
  • Sesión 9 - Implementando Apache Shiro - Java Security Framework
  • Sesión 9 - Implementando Apache Shiro - Java Security Framework
  • Sesión 9 - Prueba de conocimientos.
  • Sesión 10 - Herramientas para el análisis de código estático
  • Sesión 10 - Herramientas para el análisis de código estático
  • Sesión 10 - Prueba de conocimientos.
  • Sesión 11 - Buenas practicas en desarrollo web con Java - Parte 1
  • Sesión 11 - Buenas practicas en desarrollo web con Java - Parte 1
  • Sesión 11 - Prueba de conocimientos.
  • Sesión 12: Buenas practicas en desarrollo web con Java - Parte 2
  • Sesión 12: Buenas practicas en desarrollo web con Java - Parte 2
  • Sesión 12 - Prueba de conocimientos.
  • Ejercicios Bloque 2.
  • Conclusiones y recomendaciones
  • Conclusiones y recomendaciones
  • Exámen de certificación.
  • Exámen de certificación.
Reglas de finalización
  • Todas las unidades deben ser completadas