Clase magistral de seguridad de Angular 7 (con libro electrónico GRATUITO) Descarga gratuita de Udemy
- Solo algunos conocimientos previos de Angular y Typescript
Descripción
El curso es un Curso de Fundamentos de Seguridad de Aplicaciones Webdonde la aplicación usará la pila Angular/Node.
Este curso cubre Angular 6 y todo el código del servidor está en Typescript, pero los conceptos de seguridad explicados en él son aplicables a otras pilas de tecnología.
Este curso utiliza el lenguaje Typescript, y incluye un Ebook auxiliar – The Typescript Jumpstart Ebook
Usaremos varios Paquetes 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 la Administración de usuarios de la aplicación.
Es importante darse cuenta de 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 para mostrar cómo JWT simplifica la delegación de autenticación a un sistema de terceros, que podría desarrollarse internamente como bien.
Seguridad: un paso fundamental en una carrera de desarrollo de software
La seguridad es probablemente el tema avanzado número uno que se espera que los desarrolladores de software dominen cuando avancen en sus carreras de desarrollo de software.
El conocimiento de seguridad es difícil de conseguir, pero es esencial para avanzar a puestos de desarrollo de software más senior, como por ejemplo Arquitecto de aplicaciones o similar.
Aprendiendo Fundamentos de Seguridad Web, conociendo cómo diseñar una aplicación para la seguridady saber cómo reconocer y solucionar problemas de seguridad es una habilidad esencial para un desarrollador senior.
Pero el problema es que el conocimiento de seguridad es ortogonal a la mayoría de los otros temas y normalmente lleva años aprender.
La buena noticia es que una vez que lo tiene, el conocimiento de seguridad tiene una vida útil mucho más larga que la mayoría del conocimiento de desarrollo de software en general.
La mayoría de las vulnerabilidades y correcciones que aprenderá en este curso fueron útiles hace 10 años y (muy probablemente) seguirán siendo útiles dentro de 10 años: Angular y Node son solo un ejemplo de una pila, para que los ejemplos del curso sean más práctico.
La seguridad es vista como algo realmente difícil de dominar, este no es el caso! La seguridad de la aplicación es mucho más accesible de lo que piensas, dependiendo de cómo lo aprendas.
¿Cuál es la mejor manera de aprender seguridad de una manera práctica y divertida?
Esto es lo que haremos: vamos a tomar el esqueleto de una aplicación en ejecución que aún no tiene seguridad, y vamos a asegurar la aplicación paso a paso.
Usando un par de paquetes MIT de Auth0 (que podrías usar en cualquier proyecto), vamos a implementar el Regístrese e inicie sesión funcionalidad desde cero, y debido a que la seguridad no se puede aplicar solo en el lado del cliente, implementaremos tanto el frontend en Angular y backend en Node.
A medida que aseguramos la aplicación, vamos a atacar periódicamente la aplicación muchas veces durante el curso, ¡para demostrar que las vulnerabilidades son reales!
Al hacerlo, aprenderemos en el camino los fundamentos de la autenticación y la autorización, nos familiarizaremos con las vulnerabilidades comunes como los ataques de diccionario, CSRF y otros, y nos familiarizaremos con las herramientas criptográficas de uso común como Hashing, Salting, JWT, contraseña. recomendaciones de almacenamiento y más.
No se deje intimidar por estos conceptos: el enfoque de este curso no estará en los aspectos internos de cada una de las herramientas criptográficas que usaremos, sino en comprender a un alto nivel qué problemas resuelven estas herramientas, cuándo utilizar cada uno y por qué.
También aprenderemos cómo diseñar nuestra aplicación para la seguridad y aprenderemos cómo en muchas situaciones el diseño de la aplicación es la mejor defensa.
Descripción general de la carrera
Empezaremos por el principio: veremos la forma adecuada de hacer Gestión de usuarios y registro: aprenderemos a almacenar contraseñas en una base de datos y presentaremos hashes criptográficos de una manera accesible.
Una vez que tengamos la funcionalidad de registro en su lugar, implementaremos el inicio de sesión y comprenderemos la necesidad de un token de identidad temporal. Nuestra primera implementación será el inicio de sesión con estado, donde el token se mantiene a nivel del servidor.
Y en este punto podríamos pensar que tenemos la autenticación en su lugar, pero decidimos preparar nuestra aplicación para la escalabilidad, por lo que decidimos probar un JWT (tokens web JSON) basado en este enfoque, porque sabemos que esto es lo que usan servicios como Firebase y Auth0.
Usaremos un par de paquetes Auth0 para refactorizar rápidamente nuestro inicio de sesión para que esté basado en JWT, y aprenderemos las ventajas de usar JWT y también algunas desventajas potenciales.
Luego veremos cómo también es posible hacer la Autenticación usando un servicio de terceros basado en JWT como Auth0eliminando efectivamente toda la lógica de autenticación tanto de nuestro código base como de nuestra base de datos, y delegándola a un servicio de terceros.
Tenga en cuenta que esta parte específica de Auth0 es solo una pequeña parte del curso y su objetivo principal es mostrar cómo es posible a nivel empresarial delegar la autenticación a un servicio centralizadosin tener que introducir una comunicación directa entre las aplicaciones y el servicio de autenticación centralizado.
Esto significa que si no puede usar Auth0 en su empresa, puede aplicar los mismos principios de diseño y diseñar una solución JWT que delegue la autenticación a un servidor centralizado detrás del firewall.
Luego cubriremos cómo hacer una funcionalidad basada en roles a nivel de interfaz de usuario en Angular usando el Enrutador angulary una directiva personalizada para mostrar u ocultar ciertas partes de la interfaz de usuario según el rol del usuario. Aprenderemos por qué el enrutador no poder hacer cumplir la seguridad real.
También hablaremos de Autorización del lado del servidor, e implementaremos una funcionalidad de nivel de administrador relacionada con la seguridad comúnmente necesaria: el servicio Iniciar sesión como usuario, que permite que un administrador inicie sesión como cualquier usuario, para investigar un informe de problema. ¡Podemos ver por qué necesitaríamos asegurar esta funcionalidad!
¡Al final de todas estas vulnerabilidades y correcciones de seguridad, tendremos una aplicación bien protegida y habremos aprendido un montón de conceptos relacionados con la seguridad en el camino de una manera divertida y práctica!
¿Qué aprenderás en este curso?
Con este curso tendrás 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. ¡Lo habrás hecho realizando muchos de los ataques!
Habrá aprendido estos conceptos en el contexto de una aplicación Angular/Node, pero estos conceptos son aplicables a cualquier otra pila de tecnología.
Aprenderá qué mecanismos integrados proporciona Angular para defenderse de los problemas de seguridad y qué vulnerabilidades hace. NO defenderse y por qué.
Estará familiarizado con las mejores prácticas para el almacenamiento de contraseñas, el diseño y la implementación de servicios de autenticación personalizados, conocerá los conceptos básicos sobre 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 secuestro de tokens de identidad, la política del mismo origen del navegador, cómo combinar cookies con JWT y por qué, falsificación de solicitudes entre sitios o CSRF, vulnerabilidades de diseño comunes y más.
Conocerá soluciones prácticas comunes para proteger las aplicaciones de Internet públicas y empresariales, por ejemplo, cómo usar JWT para delegar la autenticación a un servicio centralizado, que podría ser Auth0 o un servicio desarrollado internamente que siga principios similares.
Sabrá cómo implementar la autorización a nivel de la interfaz de usuario y usar construcciones del lado del cliente, como protecciones de enrutadores, para implementarla e incluso crear sus propias directivas de interfaz de usuario relacionadas con la autorización.
También aprenderá sobre autorización del lado del servidory cómo implementar un servicio de back-end comúnmente necesario al que solo pueden acceder los administradores: iniciar sesión como usuario.
¿Qué serás capaz de hacer al final de este curso?
Este curso podría ayudarlo a llevar su carrera de desarrollo a un nivel superior, donde el conocimiento sobre la seguridad de las aplicaciones web es esencial y un factor clave de diferenciación.
Si es propietario de un negocio privado en Internet o está pensando en lanzar su propia plataforma, este curso contendrá la mayor parte de lo que necesita en la práctica para asegurar su propia plataforma en línea de una manera sólida y efectiva.
Con este curso, tendrá los conocimientos necesarios para evaluar muchas soluciones de seguridad de terceros y sabrá dónde buscar vulnerabilidades en su aplicación.
Podrá comprender la mayoría de los informes de vulnerabilidad a nivel de aplicación que surgen de las auditorías de seguridad realizadas por empresas de terceros, y podrá comprender y solucionar los problemas informados con mayor frecuencia.
Para quién es este curso:
- Desarrolladores angulares que buscan aprender en profundidad la seguridad de aplicaciones web en el contexto específico de una aplicación angular
Creado por la Universidad Angular
Última actualización 12/2022
inglés
español [Auto]
Tamaño: 2,96 GB
Enlaces de Google Drive
Descargar Parte 1 | Descargar Parte 2
Enlaces de torrents
Descargar ahora
https://www.udemy.com/angular-security/.