Seguridad en Angular 14 FrontEnd

Categorías: , Etiquetas: ,

Descripción

El curso es una actividad de fundamentos de seguridad de aplicaciones web, desarrolladas con angular donde la aplicación utilizará el stack Angular/Node.
El alumno debe entender y tomar en cuenta que el código de este curso está en Typescript, pero los conceptos de seguridad explicados en él son aplicables a otros stack de tecnología.
En este curso se usan varios paquetes de angular y node con licencia mit de Auth0 (que podría usar en su aplicación) y también incluiremos una demostración de cómo usar Auth0 para realizar administración de usuarios de aplicaciones.
El participante debe considerar que este NO es un curso específico de Auth0. Auth0 será la fuente de un par de paquetes de código abierto que usaremos, y haremos una demostración rápida de él para mostrar cómo JWT hace que sea fácil delegar la autenticación en un sistema de terceros, que también podría desarrollarse internamente.

Objetivos

Con este curso, el alumno tendrá una base sólida sobre fundamentos de seguridad de aplicaciones web, y habrá adquirido la experiencia práctica de aplicar esos conceptos defendiendo una aplicación de una serie de ataques de seguridad.
Habrá aprendido estos conceptos en el contexto de una aplicación Angular/Node, pero estos conceptos son aplicables a cualquier otra stack de tecnología.
Aprenderás qué mecanismos integrados proporciona Angular para defenderse de los problemas de seguridad, y qué vulnerabilidades no defiende y por qué.
Estará familiarizado con las prácticas recomendadas para el almacenamiento de contraseñas, el diseño e implementación de servicios de autenticación personalizados, sabrá lo esencial sobre los hashes criptográficos, estará familiarizado con JWT y varios paquetes Auth0 de código abierto de uso común.
Estará familiarizado con las siguientes vulnerabilidades de seguridad:ataques de diccionario, técnicas de highjacking de tokens de identidad, la política del mismo origen del navegador, cómo combinar cookies con JWT y por qué, Cross-Site Request Forgery o CSRF, vulnerabilidades de diseño comunes y más.
Conocerá soluciones prácticas comunes para proteger aplicaciones de Internet tanto empresariales como públicas, como cómo usar JWT para delegar la autenticación en un servicio centralizado, que podría ser Auth0 o un servicio desarrollado internamente que sigue principios similares.
Sabrá cómo implementar la autorización de nivel de interfaz de usuario y usar construcciones del lado cliente como enrutadores para implementarla e incluso crear sus propias directivas de interfaz de usuario relacionadas con la autorización.
También aprenderá acerca de la autorización del lado del servidor y cómo implementar un servicio back-end comúnmente necesario.

Requisitos

Amplio conocimiento de TypeScript, angular 6 o superior y Oauth2.

Dirigido a

Este curso está orientado ingenieros y desarrollador de buen grado de conocimiento de Angular 6 o superior.

Temario

• Introduction
• Installing Git, Node, NPM and Choosing an IDE
• Installing The Course Lessons Code
• How To Run Node In TypeScript With Hot Reloading
• Client Side Authentication Service
• The New Angular HTTP Client – Doing a POST Call To The Server
• User Sign Up Server-Side Implementation in Express
• Introduction To Cryptographic Hashes
• Some Interesting Properties Of Hashing Functions – Validating Passwords
• Learn Offline Dictionary Attacks – Why Use Cryptographic Salting?
• Password Key Derivation Functions and The Node Crypto Module
• Using the Argon 2 Hashing Function In Our Sign Up Backend Service
• How To Implement a Password Policy
• Displaying Client-Side Password Validation Errors – What’s Next?
• Switch Branches And User Session Management Section Introduction
• Node Util Promisify – How to Convert Callback Based APIs to Promise-based
• Introduction To Node Async Await – Creating a User Session Id
• Modeling a User Session – Classes Or Interfaces?
• Attack Scenario – User Identity Theft Attack Using A Third-Party Server
• How To Better Protect The Session Id Using HTTP Only Cookies
• HTTPS Secure Cookies – Running the Angular CLI in HTTPS Mode
• Client-Side User Session Management – Retrieve User Data From Session
• An Ancient Vulnerability – JSON Hijacking, Securing a REST Endpoint
• Implementing Logout – Destroying The User Session
• User Login – Step-by-Step Implementation
• Finish Login Functionality and Section Conclusion
• JSON Web Tokens – Section Introduction
• Creating Your First JWT – What Does It Look Like?
• JSON Web Tokens In a Nutshell
• JSON Web Tokens In Detail – The Header and the Payload
• JWT Signature With HS256 – How Does It Work?
• JWT Signature With RS256 – Learn The Advantages Compared to HS256
• Creating a JWT User Session – Setting Subject and Expiration
• User Sign Up With JWT – Learn How To Combine Cookies and JWTs
• JWT-Based User Identification Via a Custom Express Middleware
• Retrieve User Info From JWT With Express Middleware
• Backend JWT-based Security Using an Express Middleware
• JWT-based Authentication – Section Conclusion and What’s Next
• Understanding CSRF – Step-by-Step Attack Simulation
• CSRF In Detail – Understanding Attack Limitations
• Implementing the CSRF Double Submit Cookie Defense – Server Implementation
• How To Defend Our Application Against CSRF – Client And Server Defenses
• Auth0 Section Introduction – Using JWTs to Delegate Authentication To 3rd Party
• How To Setup an Auth0 Hosted Login Page local_parking
• Integrating a 3rd Party Authentication Provider – Auth0
• Setting Up an Auth0 Externally Hosted Login Page
• How does Auth0 Authentication Work? Logging In a User
• Receiving The Auth0 JWT at Application Startup with parseHash
• Storing the Auth0 JWT In Local Storage
• Adapting the UI To the User Login Status
• Angular HTTP Interceptor – Build an Authentication Interceptor
• JWT Authentication with express-jwt and JSON Web Key Set – Backend Design
• Auth0 JWT-based Authentication – Backend Implementation
• User Sign Up – Requesting Permission to Use Users Email
• User Signup and User Preferences
• RBAC Role-Based Authorization – Section Introduction
• Setting Up The RBAC Solution – Adding Roles to our JWT
• Angular RBAC Authorization – Solution Overview
• Backend Express Authorization Route
• The rbacAllow Structural Directive
• Authorization Router Guard

Descargar Temario

Información adicional

Fecha

25/08/2022

Duración

21 horas