Arquitetura
O Midaz foi projetado para funcionar em uma estrutura segura. Para criar um código e arquitetura seguros, o conceito de security by design e threat modeling foi usado na concepção e continua sendo usado para novas funcionalidades.
- Security by design: Controles de segurança são incorporados ao longo de todo o ciclo de vida — do design ao deployment — seguindo diretrizes OWASP como os padrões OWASP Top 10 e OWASP Application Security Verification Standard (ASVS).
- Threat Modeling: Processo estruturado usado para identificar, avaliar e mitigar potenciais riscos de segurança em um sistema antes que possam ser explorados. A metodologia utilizada no Midaz é chamada STRIDE, onde as ameaças são categorizadas em 6 tipos:
- Spoofing (ex.: autenticação falsa em uma API bancária).
- Tampering (ex.: alteração de dados de transação durante a requisição).
- Repudiation (ex.: falta de logs de auditoria para transações).
- Information Disclosure (ex.: vazamento de dados sensíveis via respostas da API).
- Denial of Service (ex.: sobrecarregar a API com requisições falsas).
- Elevation of Privilege (ex.: explorar um bug para obter acesso de administrador).
Modelo de responsabilidade compartilhada
O Midaz opera sob um modelo Bring Your Own Cloud (BYOC), onde a segurança é uma responsabilidade compartilhada entre a Lerian e o cliente.

O que a Lerian protege
A Lerian é responsável pela camada de aplicação. Isso inclui:- Construir serviços seguros por design.
- Endereçar vulnerabilidades de forma proativa.
- Lançar atualizações de segurança, incluindo upgrades de dependências, patches de segurança e melhorias contínuas.
O que o cliente protege
O cliente é responsável por proteger o ambiente onde o Midaz é executado. Isso inclui, mas não se limita às seguintes camadas:- Infraestrutura: Fortalecer imagens de SO e containers, gerenciar patches e aplicar configurações seguras na plataforma de hospedagem.
- Rede: Implementar segmentação, firewalls e sistemas IDS/IPS. Adotar princípios Zero Trust para proteger comunicações internas e externas.
- Banco de dados: Configurar backups, logs de auditoria e seguir as melhores práticas de segurança para armazenamento de dados.
- Identity & Access Management: Controlar o acesso ao ambiente e aproveitar as funcionalidades de RBAC do Midaz para aplicar políticas de menor privilégio dentro da plataforma.
- Criptografia: Criptografar dados sensíveis em repouso e em trânsito. Considerar tokenização ou anonimização quando apropriado.
- Dados do usuário: Todos os dados de usuário armazenados ou processados via Midaz permanecem totalmente sob o controle e responsabilidade do cliente.
- Monitoramento: Estabelecer ferramentas de monitoramento capazes de detectar padrões de acesso incomuns ou comportamentos suspeitos.
- Camadas de segurança adicionais: Reforçar defesas com Web Application Firewalls (WAF), mecanismos anti-DDoS e ferramentas de mitigação de bots.
Identity and Access Management
O Midaz é projetado para suportar OAuth 2.0 por padrão, dando aos clientes flexibilidade para escolher como gerenciam identidade e acesso. Você tem duas opções:
- Usar sua própria solução IAM (Identity and Access Management) externa.
- Usar o Plugin Access Manager nativo da Lerian — ideal para clientes sem um sistema IAM existente ou que buscam uma experiência totalmente integrada.
Opção 1: IAM Externo
Se você prefere integrar seu próprio provedor IAM, deve garantir que ele siga práticas modernas de segurança. Para manter o Midaz seguro, recomendamos fortemente:- Usar protocolos comprovados como OAuth 2.0 e OpenID Connect.
- Exigir Multi-Factor Authentication (MFA).
- Aplicar algoritmos fortes de hash de senha, como bcrypt ou argon2.
- Aplicar controles de acesso granulares via RBAC, ABAC ou modelos similares.
- Gerenciar sessões de forma segura, incluindo regras de expiração e políticas de refresh token.
- Proteger endpoints contra ataques de força bruta e replay.
- Habilitar e revisar logs de acesso regularmente.
Opção 2: Plugin Access Manager
Nosso Plugin Access Manager oferece uma forma integrada de gerenciar autenticação e autorização dentro do Midaz. Ele é totalmente integrado e ajuda a simplificar o deployment ao habilitar:- Gerenciamento do ciclo de vida do usuário
- Manipulação de tokens de sessão
- Rotação de refresh tokens
- Registro e gerenciamento de aplicações
Proteção de dados
O Midaz aplica princípios de partidas dobradas por design — toda transação deve ter débitos e créditos balanceados. Se um lançamento falhar nessa validação, ele é automaticamente rejeitado. Isso não apenas garante a integridade do ledger, mas também protege o sistema contra vulnerabilidades de race condition e discrepâncias de lançamento.
Proteções nativas
Para manter a consistência e prevenir erros de lógica, o Midaz aplica validação rigorosa em todos os fluxos de transação:- Saldos negativos são bloqueados a menos que explicitamente permitidos.
- O status da conta é verificado antes de permitir qualquer operação.
- Os assets devem estar registrados e válidos no momento do lançamento.
Conformidade com LGPD e GDPR
Enquanto o Midaz lida com validação transacional e comunicação segura (via TLS 1.2 e 1.3), os clientes são responsáveis por proteger informações pessoalmente identificáveis (PII). Para manter a conformidade com LGPD, GDPR e leis de proteção de dados similares, recomendamos:- Aplicar criptografia para dados sensíveis, tanto em repouso quanto em trânsito.
- Usar tokenização ou anonimização quando apropriado.
- Armazenar e gerenciar dados de clientes sob políticas de segurança claramente definidas.
Política de divulgação responsável
Acreditamos que a transparência constrói confiança. Por isso, todas as melhorias e correções de segurança conhecidas são compartilhadas abertamente no nosso GitHub Discussions. Isso permite que a comunidade se mantenha informada sobre patches e aprimoramentos de segurança em andamento. Se você identificar uma vulnerabilidade de segurança no Midaz, por favor reporte diretamente à nossa equipe antes de torná-la pública. Apoiamos totalmente a divulgação responsável e estamos comprometidos em investigar e resolver problemas de forma rápida e completa.
Por favor, evite divulgar publicamente qualquer descoberta até que tenhamos a chance de revisar e tratar o problema.
Reporte
Envie um e-mail para security@lerian.studio.

