> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Recomendações de segurança

> Aplique o modelo de responsabilidade compartilhada de segurança da Lerian: hardening de infraestrutura, segmentação de rede, TLS e padrões de Zero Trust.

Leia este guia antes de instalar e fazer o deploy do Midaz.

Na Lerian, trabalhamos sob um **Modelo de Responsabilidade Compartilhada de Segurança**. Nós protegemos a camada de aplicação: o Midaz e todos os plugins da Lerian. Você protege a infraestrutura onde eles rodam. Este guia ajuda sua equipe a construir e manter uma postura de segurança forte em todo o ecossistema Lerian, do Midaz a cada plugin integrado.

Estas recomendações não são exaustivas. Elas complementam suas práticas de segurança existentes, seja você rodando na nuvem ou on-premises.

## Segurança de infraestrutura e rede

***

O Midaz e todos os plugins da Lerian são cloud-native. Eles rodam em ambientes distribuídos e containerizados. Para fortalecer a segurança da sua infraestrutura e rede:

* Estabeleça um **processo de gestão de patches** que atualize o SO e os serviços com patches de segurança em um cronograma regular.
* Aplique procedimentos de **hardening** às suas imagens de sistema operacional antes do deploy.
* Use as **imagens Docker do Midaz e dos plugins**, que seguem o **princípio do menor privilégio**. Reforce isso no nível do cluster com os controles certos.
* Para o **Kubernetes**, aplique baselines de segurança com ferramentas de **policy-as-code** como **Kyverno** ou **OPA Gatekeeper**.
* Execute **varreduras de vulnerabilidade rotineiras** em todas as camadas da sua infraestrutura, incluindo as camadas que hospedam plugins.
* Use **segmentação de rede** para restringir o acesso aos componentes do Midaz e aos plugins apenas aos sistemas que precisam dele.
* Configure **firewalls** para gerenciar o fluxo de tráfego e prevenir acesso não autorizado.
* Quando possível, implemente **Intrusion Detection Systems (IDS)** e **Intrusion Prevention Systems (IPS)** para analisar o comportamento da rede e bloquear anomalias.
* Adote uma **Zero Trust Architecture** para sistemas sensíveis e fluxos de dados.
* Aplique **TLS 1.2 ou superior** para toda a comunicação entre o Midaz e os serviços de plugin.

## Configurações gerais de segurança

***

Você deve proteger segredos, armazenamento e dados em todos os componentes da Lerian, incluindo o Midaz e seus plugins. Siga estas práticas:

* Use soluções confiáveis como **AWS Secrets Manager**, **Azure Key Vault**, **Google Secret Manager** ou **HashiCorp Vault** para armazenar segredos e dados de configuração com segurança.
* **Rotacione credenciais e segredos** em um cronograma regular. Siga o princípio do menor privilégio ao conceder acesso.
* Habilite o **registro de auditoria**. Configure **backups automatizados** para todos os bancos de dados que o Midaz e os plugins usam.
* Aplique **criptografia em repouso** a todos os dados persistentes, incluindo os dados que plugins como o Access Manager processam.
* Aplique **restrições de acesso** a dados sensíveis. Use **tokenização**, **criptografia** ou **anonimização** quando apropriado.
* Atualize o Midaz e todos os plugins da Lerian para as **versões mais recentes**, incluindo patches e melhorias de segurança.

## Gestão de Identidade e Acesso (IAM)

***

Aplique uma abordagem unificada de IAM em duas camadas: o ambiente onde você faz o deploy do Midaz e dos plugins, e os próprios serviços. Siga estas práticas:

* Implemente um processo de IAM centralizado para gerenciar o acesso à infraestrutura que hospeda os produtos da Lerian.
* Aplique **autenticação multifator (MFA)** em todas as contas de usuário e administrador.
* Monitore e audite o acesso a **contas de serviço** em um cronograma regular, especialmente as contas que os plugins usam.
* Defina modelos de controle de acesso que sigam o **princípio do menor privilégio** com **RBAC**, **ABAC** ou estratégias personalizadas.
* Use **credenciais temporárias** e acesso por tempo limitado para operações de alta sensibilidade.
* Revise todos os privilégios de acesso em um cronograma regular, incluindo o acesso ao Midaz, Access Manager, Reporter e outros produtos.

## Monitoramento e resposta a incidentes

***

Para incorporar observabilidade e preparo para incidentes em como você faz o deploy do Midaz e dos plugins:

* Implante ferramentas de monitoramento de segurança para rastrear o comportamento em todos os serviços da Lerian, incluindo a atividade dos plugins.
* Habilite logs e traces em toda a sua infraestrutura e em cada componente do Midaz e de seus plugins.
* **Integre logs** dos serviços do Midaz e dos plugins com ferramentas de detecção de fraude ou monitoramento de anomalias.
* Centralize os logs em uma **plataforma SIEM** para uma detecção de ameaças mais eficiente.
* Mantenha um **plano de resposta a incidentes** atualizado, com playbooks específicos para serviços como Access Manager ou Fees Engine.

## Camadas adicionais de proteção

***

Para ambientes críticos de produção ou de alta conformidade, adicione estas camadas de proteção:

* Aplique **procedimentos de hardening** de SO e de serviços em toda a sua stack.
* Mantenha **ciclos regulares de patch** para todos os ambientes de runtime, incluindo serviços e dependências de terceiros.
* Realize **testes de penetração manuais** para validar suas defesas, incluindo as defesas em torno de plugins e integrações.
* Implante **Web Application Firewalls (WAFs)** para proteger as APIs de plugins e os endpoints do Midaz contra ataques de Camada 7.
* Use **serviços Anti-DDoS** e **ferramentas de mitigação de bots** para bloquear ataques automatizados ou em massa contra componentes expostos.

<Tip>
  Combine proteções no nível de infraestrutura com as validações de segurança integradas do **Midaz e de seus plugins**.
</Tip>

## Configurações de segurança do Midaz

***

Revise e ajuste todas as credenciais e certificados antes de entrar em produção, seja você rodando o Midaz localmente ou fazendo o deploy dele em um cluster gerenciado.

### Credenciais e segredos

O Midaz roda como um serviço de ledger consolidado. Para desenvolvimento local, seu template de ambiente é `components/ledger/.env.example`. Use seu orquestrador ou os values do Helm para fornecer a configuração de produção.

<Danger>
  Nunca implante o Midaz com credenciais padrão. Atualize todos os valores de segredo no seu ambiente antes de entrar em produção.
</Danger>

Mantenha credenciais de banco de dados, chaves de criptografia e tokens de API fora do repositório. Injete-os no momento do deploy por meio do seu secret manager e dos values do release do Ledger.

Armazene segredos como credenciais de banco de dados, chaves de criptografia e tokens de API com segurança. Rotacione-os em um cronograma regular.

### Configuração de certificado TLS

Quando você expõe serviços do Midaz por meio de ingress controllers, use certificados TLS válidos. Um certificado configurado no ingress protege o tráfego de clientes externos apenas até o ponto de terminação TLS do ingress. Ele não criptografa um salto em texto plano do ingress para o serviço. Configure TLS upstream ou mTLS quando você também precisar proteger esse salto interno.

Para o Midaz v4, configure o ingress do **Ledger** por meio de `ledger.ingress`. `crm.ingress` pertence à carga de trabalho legada de compatibilidade com o CRM do chart.

Para configurar um certificado TLS personalizado:

<Steps>
  <Step>
    **Gere** um certificado válido com um provedor confiável (por exemplo, Let’s Encrypt ou GoDaddy).
  </Step>

  <Step>
    **Armazene** a cadeia completa do certificado como um secret do Kubernetes ou em um vault externo (por exemplo, AWS Secrets Manager).
  </Step>

  <Step>
    **Referencie** o secret no seu arquivo `values.yaml`:

    <CodeGroup>
      ```bash YAML theme={null}
      ledger:
        ingress:
          # class, host, annotations, etc.
          tls:
            - secretName: certificate-tls
              hosts:
                - midaz.example.com
      ```
    </CodeGroup>
  </Step>
</Steps>

<Tip>
  Sempre aplique TLS 1.2 ou superior. Para clusters internos, emita certificados de curta duração automaticamente com um service mesh ou cert manager.
</Tip>
