2.7 KiB
2.7 KiB
🛡️ Política & Arquitetura de Segurança de Dados - MicrotecFlix
Este documento detalha o armazenamento de credenciais, tokenização PCI-DSS, proteção de APIs e arquitetura de segurança da plataforma MicrotecFlix.
1. Armazenamento da API Key do Asaas
- Localização: Exclusivamente no banco de dados do servidor (
db.settings.asaasApiKey/ PostgreSQL em produção). - Proteção Frontend: A API Key do Asaas NUNCA é trafegada ou enviada ao navegador do aluno.
- Acesso Restrito: A leitura e atualização da chave ocorrem apenas através da rota autenticada
POST /api/admin/settings, exigindo Token JWT válido e papel de Administrador (role === 'admin'). - Comunicação Criptografada: Toda requisição à API do Asaas ocorre de Servidor-para-Servidor (Server-to-Server) utilizando rotas HTTPS criptografadas com TLS 1.3.
2. Nível de Segurança & Proteção de Dados (PCI-DSS & LGPD)
| Camada de Segurança | Tecnologia / Mecanismo | Nível de Proteção | Descrição Técnica |
|---|---|---|---|
| Tokenização de Cartões (PCI-DSS) | API /creditCard/tokenize (Asaas) |
Máximo | Número completo do cartão, código CVV e validade NUNCA são gravados no banco de dados. Salva-se apenas o creditCardToken e os últimos 4 dígitos (•••• 4321). |
| Criptografia em Trânsito | HTTPS / TLS 1.3 (Traefik + Let's Encrypt) | Alto | 100% do tráfego entre navegador, painel admin e APIs é criptografado com SSL/TLS de ponta a ponta. |
| Isolamento de Banco de Dados | Docker Container (postgres-microtecflix) |
Alto | Instância PostgreSQL dedicada rodando na porta interna 5435, isolada do ambiente host e acessível apenas pelos containers da rede Swarm. |
| Segurança do Webhook | Token asaas-token no Header |
Alto | Notificações de pagamento enviadas ao endpoint /api/webhooks/asaas sem o token configurado são rejeitadas imediatamente com HTTP 401 Unauthorized. |
| Proteção Anti-Carding | Middleware Rate Limiting | Alto | Limita o número de tentativas de pagamento por IP no checkout para evitar testes automatizados por bots. |
| Proteção Anti-Crash (DOM) | React ErrorBoundary + Encapsulamento <span> |
Alto | Previne travamentos de tela branca causados por extensões do navegador ou tradução automática do Google Chrome. |
3. Conformidade e Boas Práticas
- Senhas de Usuários: Armazenadas utilizando algoritmo de hash seguro
bcryptcom salt. - Sessões de Usuário: Autenticação via JSON Web Token (JWT) assinado com segredo forte e expiração de 7 dias.
- Controle de Acesso (RBAC): Separação estrita entre rotas de Aluno (
/api/...) e Administrador (/api/admin/...).