Micro-Frontend Security Guide

Rate this content
Bookmark

Los Micro Frontends están en todas partes: en el cliente, en el servidor y en el edge. Muy a menudo, la escalabilidad de los micro frontends está determinada por la libertad e independencia de los equipos que los utilizan. Esto puede llevar a problemas ya que potencialmente código arbitrario entra en las aplicaciones en tiempo de ejecución, planteando la pregunta de qué vulnerabilidades potenciales existen y cómo mitigarlas.


En esta sesión, escucharás sobre algunas de las vulnerabilidades más frecuentes que aparecen en proyectos del mundo real que utilizan micro frontends. Verás qué puedes hacer para deshacerte de ellas y evitar errores que conduzcan a problemas de seguridad. La misión de esta charla es entregar a velocidad y escala, pero hacerlo sin comprometer la seguridad.

This talk has been presented at JSNation US 2024, check out the latest edition of this JavaScript Conference.

Florian Rappl
Florian Rappl
23 min
21 Nov, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Bienvenido a una sesión sobre micro-frontends y seguridad. Esta charla discute las vulnerabilidades en los sistemas de micro-frontend, incluyendo inyecciones, diseño inseguro y configuración de seguridad incorrecta. También explora fallos de identificación y autenticación, y sugiere estrategias de mitigación como el uso de cookies de sesión y canales HTTP seguros. La charla destaca la importancia de implementar un gateway para mejorar la seguridad y aborda preocupaciones sobre el diseño inseguro. Enfatiza la verificación de la integridad de los archivos JavaScript y la prevención de inyecciones de código. También se discute el uso de variables de entorno y la mala gestión de la configuración, junto con la importancia del escaneo y prueba de vulnerabilidades. La charla concluye enfatizando la necesidad de autenticidad y monitoreo en el desarrollo de micro-frontend.
Available in English: Micro Frontends and Security

1. Introduction to Micro-Frontends and Security

Short description:

Bienvenidos a la sesión sobre micro-frontends y seguridad. Proporcionaré información sobre el desarrollo de soluciones de micro-frontend con la seguridad en mente. Comencemos observando el OWASP top 10, una lista de vulnerabilidades críticas de seguridad en aplicaciones web. Discutiré cuatro temas de esta lista y explicaré cómo mitigar las vulnerabilidades y vectores de ataque.

Hola a todos, y bienvenidos a la sesión sobre micro-frontends y seguridad. Espero que hayan tenido una gran conferencia hasta ahora, y espero también traerles ahora algunas ideas sobre cómo desarrollar su solución de micro-frontend con la seguridad en mente.

Antes de comenzar, solo unas pocas palabras sobre mi persona. Soy Florian, o en resumen, simplemente Flo. Soy un arquitecto de soluciones que trabaja para una empresa más pequeña aquí en el área de Múnich en Alemania. Estamos especializados en la creación de plataformas IoT y aplicaciones web distribuidas en general. También realizamos algunas masterclass y revisiones. Así que si tienen, digamos, cualquier tipo de demanda en esas áreas, quieren alguna consultoría general o están pensando en adentrarse en los micro-frontends, entonces siempre siéntanse libres de contactarme o enviarme un mensaje en LinkedIn. Ahora, suficientes palabras sobre mí. Vamos a sumergirnos directamente en el tema.

Y una cosa que siempre me gusta, por supuesto, mostrar, y esto será, digamos, la guía también para la sesión de hoy, es echar un vistazo al OWASP top 10. Así que esta es una lista de las vulnerabilidades de seguridad más, digamos, críticas y más utilizadas en el sector de aplicaciones web. Y actualizan esta lista con bastante regularidad. Y lo que pueden ver aquí es la lista más reciente disponible. Y he traído cuatro temas de esta lista donde podemos, digamos, identificar lo que generalmente sale mal en las soluciones de micro-frontend y lo que podemos hacer para mitigar esas vulnerabilidades y vectores de ataque que naturalmente ocurren.

2. Vulnerabilities in Micro-Frontend Systems

Short description:

Hablemos de inyecciones, diseño inseguro y configuración incorrecta de seguridad en sistemas de micro-frontend. Las inyecciones son una vulnerabilidad común debido a la composición dinámica de micro-frontends en tiempo de ejecución. El diseño inseguro permite la ejecución de código no autorizado, mientras que la configuración incorrecta de seguridad se refiere a configuraciones del sistema que pueden llevar a ataques o modificaciones no autorizadas durante la transmisión de datos.

Así que comencemos ahora mismo con el tercero, que son las inyecciones. Los sistemas de micro-frontend son muy a menudo muy abiertos a ataques de inyección porque esto es de lo que se tratan los micro-frontends. Estamos inyectando código que, digamos, no está directamente compuesto en tiempo de construcción, sino que se compondrá en tiempo de ejecución. Muy naturalmente, tendrás que enfrentar ataques de inyección o vectores de ataque que necesitas mitigar. Y vamos a echar un vistazo a eso.

El otro área es mirar el diseño inseguro porque muy a menudo, por supuesto, te abres con estas, digamos, composiciones en tiempo de ejecución a un diseño inseguro, lo que significa que de repente permites tal vez a otros ejecutar su código, lo cual al principio parece bien. Pero, ¿cómo puedes asegurar que el código que fue publicado por alguien ahora es realmente el código que fue publicado por esta, sí, persona de confianza? Y muy similar, pero por supuesto, ligeramente diferente, es la configuración incorrecta de seguridad. Así que aquí tratamos en un área donde decimos, ¿cómo podemos configurar el sistema de tal manera que aunque necesitábamos abrir la puerta en algunas áreas, no esté tan abierta como, bueno, potencialmente puede estar, de modo que, por ejemplo, puedan ocurrir ataques de intermediarios, o que pueda haber algunas modificaciones en el camino desde, digamos, un servidor al navegador del usuario, por ejemplo.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Enrutamiento en React 18 y más allá
React Summit 2022React Summit 2022
20 min
Enrutamiento en React 18 y más allá
Top Content
Routing in React 18 brings a native app-like user experience and allows applications to transition between different environments. React Router and Next.js have different approaches to routing, with React Router using component-based routing and Next.js using file system-based routing. React server components provide the primitives to address the disadvantages of multipage applications while maintaining the same user experience. Improving navigation and routing in React involves including loading UI, pre-rendering parts of the screen, and using server components for more performant experiences. Next.js and Remix are moving towards a converging solution by combining component-based routing with file system routing.
Entendiendo la Arquitectura Fiber de React
React Advanced 2022React Advanced 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
This Talk explores React's internal jargon, specifically fiber, which is an internal unit of work for rendering and committing. Fibers facilitate efficient updates to elements and play a crucial role in the reconciliation process. The work loop, complete work, and commit phase are essential steps in the rendering process. Understanding React's internals can help with optimizing code and pull request reviews. React 18 introduces the work loop sync and async functions for concurrent features and prioritization. Fiber brings benefits like async rendering and the ability to discard work-in-progress trees, improving user experience.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Node Congress 2022Node Congress 2022
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
The talk discusses the importance of supply chain security in the open source ecosystem, highlighting the risks of relying on open source code without proper code review. It explores the trend of supply chain attacks and the need for a new approach to detect and block malicious dependencies. The talk also introduces Socket, a tool that assesses the security of packages and provides automation and analysis to protect against malware and supply chain attacks. It emphasizes the need to prioritize security in software development and offers insights into potential solutions such as realms and Deno's command line flags.
El estado de la autenticación sin contraseña en la web
JSNation 2023JSNation 2023
30 min
El estado de la autenticación sin contraseña en la web
Passwords are terrible and easily hacked, with most people not using password managers. The credential management API and autocomplete attribute can improve user experience and security. Two-factor authentication enhances security but regresses user experience. Passkeys offer a seamless and secure login experience, but browser support may be limited. Recommendations include detecting Passkey support and offering fallbacks to passwords and two-factor authentication.

Workshops on related topic

Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
React Patterns Made Simple
React Day Berlin 2024React Day Berlin 2024
62 min
React Patterns Made Simple
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Aprende patrones de React ampliamente utilizados, incluyendo HOCs, Compound Components, Provider Patterns, Functions as Child, y Portals, para escribir código más limpio y eficiente y crear aplicaciones escalables y mantenibles.Visión general En esta masterclass, los espectadores aprenderán sobre patrones clave de React que pueden hacer su código más eficiente, legible y mantenible. Presentaremos cada patrón, explicaremos cómo funciona y demostraremos ejemplos prácticos. Al final de la sesión, los participantes tendrán una comprensión sólida de cómo usar estos patrones en sus proyectos.Objetivos de aprendizajeHOCs Compound Components Provider Patterns Functions as Child Portals Modularidad Mantenibilidad Aplicación en el mundo real.
Masterclass Práctica: Introducción a Pentesting para Aplicaciones Web / APIs Web
JSNation US 2024JSNation US 2024
148 min
Masterclass Práctica: Introducción a Pentesting para Aplicaciones Web / APIs Web
Featured Workshop
Gregor Biswanger
Gregor Biswanger
En esta masterclass práctica, estarás equipado con las herramientas para probar efectivamente la seguridad de las aplicaciones web. Este curso está diseñado tanto para principiantes como para aquellos que ya están familiarizados con las pruebas de seguridad de aplicaciones web y desean ampliar su conocimiento. En un mundo donde los sitios web juegan un papel cada vez más central, asegurar la seguridad de estas tecnologías es crucial. Comprender la perspectiva del atacante y conocer los mecanismos de defensa apropiados se han convertido en habilidades esenciales para los profesionales de TI.Esta masterclass, dirigida por el renombrado entrenador Gregor Biswanger, te guiará a través del uso de herramientas de pentesting estándar de la industria como Burp Suite, OWASP ZAP y el marco profesional de pentesting Metasploit. Aprenderás a identificar y explotar vulnerabilidades comunes en aplicaciones web. A través de ejercicios prácticos y desafíos, podrás poner en práctica tu conocimiento teórico y expandirlo. En este curso, adquirirás las habilidades fundamentales necesarias para proteger tus sitios web de ataques y mejorar la seguridad de tus sistemas.
De 0 a Autenticación en una hora con ReactJS
React Summit 2023React Summit 2023
56 min
De 0 a Autenticación en una hora con ReactJS
WorkshopFree
Kevin Gao
Kevin Gao
La autenticación sin contraseña puede parecer compleja, pero es simple de agregar a cualquier aplicación utilizando la herramienta adecuada. Hay múltiples alternativas que son mucho mejores que las contraseñas para identificar y autenticar a tus usuarios, incluyendo SSO, SAML, OAuth, Magic Links, One-Time Passwords y Authenticator Apps.
Mientras abordamos los aspectos de seguridad y evitamos errores comunes, mejoraremos una aplicación JS de pila completa (backend Node.js + frontend React) para autenticar a los usuarios con OAuth (inicio de sesión social) y One Time Passwords (correo electrónico), incluyendo:- Autenticación de usuarios - Gestión de interacciones de usuarios, devolviendo JWTs de sesión / actualización- Gestión y validación de sesiones - Almacenamiento seguro de la sesión para solicitudes de cliente posteriores, validación / actualización de sesiones- Autorización básica - extracción y validación de reclamaciones del token JWT de sesión y manejo de autorización en flujos del backend
Al final del masterclass, también exploraremos otros enfoques de implementación de autenticación con Descope, utilizando SDKs de frontend o backend.