Seguridad Web con Spring Security (CTSPR03)


Spring ofrece un grupo de tecnologías para implementar autenticación, autorización, filtrado de peticiones y otras funciones de seguridad que son indispensables en una aplicación o API web.

Descripción General

Este programa enseña cómo incorporar en aplicaciones y APIs Web, los componentes de seguridad proveídos por Spring Security, el módulo de Spring especializado en seguridad Web. Así mismo explica la arquitectura del framework y las mecánicas para extenderlo, por ejemplo, al usar tokens JWT.


Dirigido a:

  • Desarrolladores de Back-ends y APIs Web
  • Arquitectos de software
  • Supervisores de desarrollos Web

Objetivo

Que el alumno comprenda y sea capaz de implementar, a nivel aplicación Web o API web, distintas mecánicas de autenticación (formularios de login, Web tokens y OAuth 2), autorización y filtrado de amenazas conocidas, por medio de Spring Security.


Se recomienda cuando:

Se desee implementar, con poco esfuerzo y de manera no intrusiva, la seguridad básica en un API o aplicación Web


Contenido: Temas principales

  1. Fundamentos de Spring Security
    • Arquitectura general usada por Spring Security
    • Configuración básica
    • Fundamentos de Autenticación
    • Fundamentos de Autorización
  2. Uso de bases de datos de Usuarios
    • Fuente de usuarios desde JDBC
    • Acceso a usuarios con JPA y UserDetails
  3. Cadena de Filtros de seguridad
    • Arquitectura
    • Ataques CSRF
    • Personalización de login y log out
    • Control de sesiones concurrentes
  4. Contraseñas y cifrado
    • Evolución
    • Qué es el cifrado
    • Algoritmos de cifrado soportados en Spring Security
    • Validación de contraseñas
  5. Autenticación por medio de tokens
    1. Fundamentos de Tokens JWT
    2. Firmado de tokens
    3. Inclusión de declaraciones en tokens
    4. Lectura de tokens
    5. Implementación de la autenticación
    6. Filtrado de peticiones no autenticadas
    7. Cadenas de filtrado múltiples (API web + Aplicación Web convencional)
  6. OAuth 2
    1. Qué es el OAuth 2 Authorization Framework
    2. Configuración de clientes de autenticación OAuth 2
    3. Personalización de formulario de login
  7. Personalización de páginas de error

Duración

40 horas

Prerrequisitos

El alumno debe dominar la programación en Java y debe manejar los fundamentos de Spring