Arquitectura
Midaz aplicó seguridad desde el diseño y modelado de amenazas desde el principio. Sigue aplicando ambos a cada nueva funcionalidad.
- Seguridad desde el diseño: Midaz integra controles de seguridad en todo el ciclo de vida, desde el diseño hasta el despliegue. Sigue las directrices de OWASP, como el OWASP Top 10 y el OWASP Application Security Verification Standard (ASVS).
- Modelado de amenazas: un proceso estructurado identifica, evalúa y reduce los riesgos de seguridad antes de que un atacante los explote. Midaz usa la metodología STRIDE. STRIDE agrupa las amenazas en seis tipos:
- Spoofing (por ejemplo, autenticación falsa en una API bancaria).
- Tampering (por ejemplo, alterar los datos de una transacción a mitad de la solicitud).
- Repudiation (por ejemplo, falta de registros de auditoría para las transacciones).
- Information Disclosure (por ejemplo, filtración de datos sensibles a través de las respuestas de la API).
- Denial of Service (por ejemplo, saturar la API con solicitudes falsas).
- Elevation of Privilege (por ejemplo, explotar un error para obtener acceso de administrador).
Modelo de responsabilidad compartida
La seguridad es una responsabilidad compartida entre Lerian y el cliente. La división exacta depende de tu modelo de despliegue.
En el modelo BYOC
En BYOC (Bring Your Own Cloud), despliegas Lerian en tu propia infraestructura. Lerian protege la capa de aplicación. Tú proteges el entorno. Lo que protege Lerian:- Servicios seguros desde el diseño.
- Correcciones proactivas de vulnerabilidades.
- Actualizaciones de seguridad: actualizaciones de dependencias, parches de seguridad y mejoras.
- Infraestructura: aplica hardening al sistema operativo y a las imágenes de contenedores, gestiona los parches y aplica configuraciones seguras en la plataforma de alojamiento.
- Red: implementa segmentación, firewalls y sistemas IDS/IPS. Adopta principios Zero Trust para proteger la comunicación interna y externa.
- Base de datos: configura copias de seguridad y registro de auditoría. Sigue las mejores prácticas de seguridad para el almacenamiento de datos.
- Gestión de identidad y acceso: controla el acceso al entorno. Usa Access Manager para aplicar políticas de privilegio mínimo dentro de la plataforma.
- Cifrado: cifra los datos sensibles en reposo y en tránsito. Considera la tokenización o la anonimización cuando corresponda.
- Datos del usuario: todos los datos de usuario que Midaz almacena o procesa permanecen bajo tu control y responsabilidad.
- Monitoreo: establece herramientas de monitoreo que detecten patrones de acceso inusuales o comportamientos sospechosos.
- Capas de seguridad adicionales: refuerza las defensas con firewalls de aplicaciones web (WAF), mecanismos anti-DDoS y herramientas de mitigación de bots.
En el modelo SaaS
En SaaS, Lerian gestiona toda la infraestructura. Lerian asume una mayor parte de la responsabilidad de seguridad. Lo que protege Lerian:- Todo lo de la capa de aplicación de BYOC, además de:
- Infraestructura en la nube, redes y entorno de cómputo.
- Aprovisionamiento de bases de datos, cifrado en reposo y copias de seguridad automatizadas.
- Aplicación de parches al sistema operativo y a los contenedores.
- Monitoreo, alertas y respuesta a incidentes.
- Alta disponibilidad y recuperación ante desastres.
- Control de acceso en el nivel de negocio: gestiona usuarios, roles y permisos dentro de la plataforma.
- Seguridad de la integración de API: protege la comunicación entre tus sistemas y las API de Lerian.
- Gobernanza de datos del usuario: define y aplica políticas de manejo de datos que cumplan con tus obligaciones regulatorias.
- Cumplimiento: confirma que el uso que haces de la plataforma se alinee con los requisitos regulatorios de tu institución.
Gestión de identidad y acceso
Con la autenticación activa, Midaz envía el bearer token de cada solicitud, junto con el producto, el recurso y la acción, al servicio de autorización configurado. Midaz atiende la solicitud solo cuando ese servicio responde que el llamador está autorizado. Access Manager proporciona ese servicio. La autenticación está activa cuando configuras
PLUGIN_AUTH_ENABLED=true. Con DEPLOYMENT_MODE=saas o MULTI_TENANT_ENABLED=true, Midaz se niega a iniciar sin ella. En cualquier otro modo, Midaz inicia sin autenticación y registra una advertencia. Midaz también se niega a iniciar cuando PLUGIN_AUTH_ENABLED tiene un valor distinto de true o false. Midaz obtiene la dirección del servicio de autorización de PLUGIN_AUTH_HOST o del service discovery, y las solicitudes protegidas fallan cuando ningún servicio de autorización está accesible.
Opción 1: IAM externo
Un servicio de autorización propio debe responder la misma solicitud de autorización que responde Access Manager.Opción 2: plugin Access Manager
El plugin Access Manager gestiona la autenticación y la autorización para Midaz. Ofrece:- 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
Aislamiento de tenants en Lerian Cloud
En Lerian Cloud, Midaz aísla todos los recursos por tenant en la capa de aplicación. Esto incluye organizaciones, ledgers, cuentas y transacciones. Tu token de acceso JWT lleva el contexto del tenant. En cada solicitud, el middleware de la plataforma resuelve el tenant a partir del claim
tenantId del token. Tus llamadas a la API nunca ven datos de otros tenants. Otros tenants nunca ven tus datos.
Este aislamiento funciona con independencia de la jerarquía de la organización. Dos tenants pueden crear estructuras de organización similares, y sus datos permanecen completamente separados.
Aislamiento de credenciales
Cada tenant tiene sus propias credenciales. Midaz nunca las comparte entre tenants. Un tenant nunca puede autenticarse en los datos de otro tenant. Lerian genera y gestiona estas credenciales. Nunca quedan en archivos de configuración ni en variables de entorno.Límites de recursos por tenant
Lerian Cloud aplica límites de recursos para que ningún tenant degrade a los demás. Este es el problema del vecino ruidoso:- Límites de recursos de Kubernetes: los límites de CPU y memoria en cada carga de trabajo limitan cuánto cómputo puede consumir. Esto acota el impacto de un pico o de una carga de trabajo descontrolada.
- Statement timeout de PostgreSQL: Midaz no configura uno por su cuenta. Configura
statement_timeouten tus roles o bases de datos de PostgreSQL para que ninguna consulta pueda retener recursos indefinidamente. - Pool de conexiones por servicio: cada servicio mantiene su propio pool de conexiones, con un pool por tenant activo. Esto acota la capacidad de conexión por tenant. Un tenant no puede agotar las conexiones de base de datos que otros necesitan.
Estos límites complementan el aislamiento de datos descrito arriba. El aislamiento de datos protege los datos de cada tenant frente a otros tenants. Los límites de recursos protegen el rendimiento y la disponibilidad de cada tenant frente a la carga de otros.
Protección de datos
Midaz aplica los principios de partida doble desde el diseño. Toda transacción debe tener débitos y créditos balanceados. Midaz rechaza cualquier asiento que no supere esta validación. Esto protege la integridad del ledger. También protege al sistema frente a discrepancias en los asientos.
Salvaguardas integradas
Midaz aplica una validación estricta en todos los flujos de transacciones para mantener los datos consistentes y prevenir errores de lógica:- Midaz rechaza una transacción que dejaría el saldo disponible de una cuenta interna por debajo de cero. Cuando el overdraft está activo en el saldo, Midaz registra la diferencia como uso de overdraft, dentro del límite de overdraft cuando hay uno. Las cuentas externas no tienen piso.
- Midaz verifica el estado de la cuenta antes de cualquier operación.
- Midaz requiere un activo registrado y válido antes de registrar un asiento.
Cumplimiento con LGPD y GDPR
Midaz cifra los campos de datos personales de holders e instrumentos del CRM antes de almacenarlos. Otros datos, como metadatos y descripciones, se almacenan tal como se envían. Midaz gestiona la validación de transacciones. Tú proteges la información de identificación personal (PII). Para cumplir con LGPD, GDPR y leyes de protección de datos similares, te recomendamos que:- Apliques cifrado a los datos sensibles, en reposo y en tránsito.
- Uses tokenización o anonimización cuando corresponda.
- Almacenes y gestiones los datos de los clientes bajo políticas de seguridad claramente definidas.
Política de divulgación responsable
Si encuentras una vulnerabilidad de seguridad en Midaz, repórtala directamente a nuestro equipo antes de hacerla pública. Apoyamos la divulgación responsable. Investigamos y resolvemos los problemas de forma rápida y minuciosa.
No divulgues ningún hallazgo públicamente hasta que lo revisemos y lo resolvamos.
1
Reportar
Escríbenos a security@lerian.studio.
2
Confirmación
Respondemos dentro de las 24 horas.
3
Verificación
Nuestro equipo valida el reporte.
4
Evaluación de impacto
Determinamos la gravedad y el impacto.
5
Resolución
Corregimos el problema y notificamos a quien lo reportó.
6
Divulgación pública
Coordinamos la divulgación con quien investigó.

