Arquitectura
Midaz fue proyectado para funcionar en una estructura segura. Para crear un código y arquitectura seguros, se utilizó el concepto de security by design (seguridad por diseño) y threat modeling (modelado de amenazas) en la concepción y aún se usa para nuevas funciones.
- Security by design: Los controles de seguridad están integrados a lo largo del ciclo de vida, desde el diseño hasta el despliegue, siguiendo las directrices de OWASP como los estándares OWASP Top 10 y OWASP Application Security Verification Standard (ASVS).
- Threat Modeling: Proceso estructurado utilizado para identificar, evaluar y mitigar riesgos potenciales de seguridad en un sistema antes de que puedan ser explotados. La metodología utilizada en Midaz se llama STRIDE donde las amenazas se categorizan en 6 tipos:
- Spoofing/Suplantación (ej., autenticación falsa en una API bancaria).
- Tampering/Manipulación (ej., alterar datos de transacción a mitad de solicitud).
- Repudiation/Repudio (ej., falta de registros de auditoría para transacciones).
- Information Disclosure/Divulgación de información (ej., filtración de datos sensibles a través de respuestas API).
- Denial of Service/Denegación de servicio (ej., abrumar la API con solicitudes falsas).
- Elevation of Privilege/Elevación de privilegios (ej., explotar un error para obtener acceso de administrador).
Modelo de responsabilidad compartida
Midaz opera bajo un modelo Bring Your Own Cloud (BYOC), donde la seguridad es una responsabilidad compartida entre Lerian y el cliente.

Figura 1. Modelo de Responsabilidad Compartida de Seguridad.
Lo que Lerian asegura
Lerian es responsable de la capa de aplicación. Esto incluye:- Construir servicios seguros por diseño.
- Abordar vulnerabilidades de manera proactiva.
- Publicar actualizaciones de seguridad, incluyendo actualizaciones de dependencias, parches de seguridad y mejoras continuas.
Lo que el cliente asegura
El cliente es responsable de asegurar el entorno donde se ejecuta Midaz. Esto incluye, entre otros, las siguientes capas:- Infraestructura: Endurecer el SO y las imágenes de contenedor, gestionar parches y aplicar configuraciones seguras en la plataforma de hosting.
- Red: Implementar segmentación, firewalls y sistemas IDS/IPS. Adoptar principios de Zero Trust para proteger la comunicación interna y externa.
- Base de datos: Configurar copias de seguridad, registro de auditoría y seguir las mejores prácticas de seguridad para el almacenamiento de datos.
- Gestión de Identidad y Acceso: Controlar el acceso al entorno y aprovechar las funciones RBAC de Midaz para aplicar políticas de mínimo privilegio dentro de la plataforma.
- Cifrado: Cifrar datos sensibles en reposo y en tránsito. Considerar tokenización o anonimización cuando sea apropiado.
- Datos de usuario: Todos los datos de usuario almacenados o procesados a través de Midaz permanecen totalmente bajo el control y responsabilidad del cliente.
- Monitoreo: Establecer herramientas de monitoreo capaces de detectar patrones de acceso inusuales o comportamiento sospechoso.
- Capas de seguridad adicionales: Reforzar defensas con Web Application Firewalls (WAF), mecanismos anti-DDoS y herramientas de mitigación de bots.
¿Quieres orientación práctica sobre este tema? Consulta nuestras Recomendaciones de seguridad en la sección de Instalación y Despliegue.
Gestión de identidad y acceso
Midaz está diseñado para soportar OAuth 2.0 por defecto, brindando a los clientes flexibilidad para elegir cómo gestionan la identidad y el acceso. Tienes dos opciones:
- Usar tu propia solución IAM externa (Identity and Access Management).
- Usar el Plugin Access Manager nativo de Lerian: ideal para clientes sin un sistema IAM existente o aquellos que buscan una experiencia completamente integrada.
Opción 1: IAM externo
Si prefieres integrar tu propio proveedor de IAM, debes asegurarte de que siga prácticas modernas de seguridad. Para mantener Midaz seguro, recomendamos encarecidamente:- Usar protocolos probados como OAuth 2.0 y OpenID Connect.
- Requerir Autenticación Multifactor (MFA).
- Aplicar algoritmos de hashing de contraseñas robustos, como bcrypt o argon2.
- Aplicar controles de acceso detallados mediante RBAC, ABAC o modelos similares.
- Gestionar sesiones de forma segura, incluyendo reglas de expiración y políticas de refresh tokens.
- Proteger endpoints de ataques de fuerza bruta y replay.
- Habilitar y revisar registros de acceso regularmente.
Opción 2: Plugin Access Manager
Nuestro Plugin Access Manager ofrece una forma fluida de gestionar autenticación y autorización dentro de Midaz. Está completamente integrado y ayuda a simplificar el despliegue al habilitar:- Gestión del ciclo de vida del usuario
- Manejo de tokens de sesión
- Rotación de refresh tokens
- Registro y gestión de aplicaciones
Protección de datos
Midaz aplica principios de partida doble por diseño: cada transacción debe tener débitos y créditos balanceados. Si una entrada falla esta validación, se rechaza automáticamente. Esto no solo garantiza la integridad del libro mayor, sino que también protege el sistema contra vulnerabilidades de condición de carrera y discrepancias de registro.
Salvaguardas integradas
Para mantener la consistencia y prevenir errores lógicos, Midaz aplica validación estricta en todos los flujos de transacciones:- Los saldos negativos están bloqueados a menos que se permitan explícitamente.
- El estado de la cuenta se verifica antes de permitir cualquier operación.
- Los activos deben estar registrados y válidos al momento del registro.
Cumplimiento con LGPD y GDPR
Mientras que Midaz maneja la validación transaccional y comunicación segura (mediante TLS 1.2 y 1.3), los clientes son responsables de proteger la información de identificación personal (PII). Para mantenerse en cumplimiento con LGPD, GDPR y leyes de protección de datos similares, recomendamos:- Aplicar cifrado para datos sensibles, tanto en reposo como en tránsito.
- Usar tokenización o anonimización cuando sea apropiado.
- Almacenar y gestionar datos de clientes bajo políticas de seguridad claramente definidas.
Política de divulgación responsable
Creemos que la transparencia genera confianza. Por eso, todas las mejoras y correcciones de seguridad conocidas se comparten abiertamente en nuestras GitHub Discussions. Esto permite a la comunidad mantenerse informada sobre parches de seguridad y mejoras en curso. Si identificas una vulnerabilidad de seguridad en Midaz, repórtala directamente a nuestro equipo antes de hacerla pública. Apoyamos completamente la divulgación responsable y estamos comprometidos a investigar y resolver problemas rápida y exhaustivamente.
Por favor, abstente de divulgar públicamente cualquier hallazgo hasta que hayamos tenido la oportunidad de revisarlo y abordarlo.
1
Reportar
Envíanos un correo a security@lerian.studio.
2
Reconocimiento
Respondemos dentro de 24 horas.
3
Verificación
Nuestro equipo valida el reporte.
4
Evaluación de impacto
Determinamos la severidad e impacto.
5
Resolución
El problema se corrige y se notifica al reportero.
6
Divulgación pública
Coordinamos la divulgación con el investigador.
Usa una clave PGP para comunicaciones seguras. Priorizamos la confidencialidad y resolución rápida de todos los reportes de seguridad.