Segurança e identidade
O sistema mantém identidades administrativas e de clientes em domínios separados. Ambos usam cookies protegidos, mas possuem políticas, tabelas e permissões próprias.
Consulte contratos, decisões e comportamentos atuais do sistema com caminhos diretos para os detalhes relacionados.
Nesta página · 5 tópicos
Administração
- senha armazenada com hash forte;
- sessão persistida no PostgreSQL e cookie de produção com prefixo
__Host-,HttpOnly,SecureeSameSite=Strict; - validade absoluta de 8 horas e janela ociosa padrão de 30 minutos;
- verificação de user-agent, tentativas, bloqueio temporário e rate limit compartilhado no PostgreSQL;
- CSRF obrigatório em mutações autenticadas;
- recuperação e código de login por SMTP;
- páginas
/ecommpanel/admin/*sempre dinâmicas para avaliar a sessão atual; /auth/meretorna identidade e estado mínimo da sessão, sem despejar o conjunto de permissões;- troca ou redefinição de senha revoga sessões anteriores e rotaciona a sessão legítima quando aplicável;
- contas demonstrativas com credenciais conhecidas nunca são criadas e permanecem desativadas em produção.
Clientes
Cadastro, verificação, login, código temporário, recuperação, perfil, endereços e solicitações LGPD usam o domínio de conta do e-commerce. O storefront não reutiliza a sessão administrativa. A rota /account/me entrega somente identidade mínima; perfil completo, endereços e pedidos são carregados por /account/details apenas nas telas que realmente precisam desses dados. O administrador pode redefinir o acesso de um cliente, mas nunca consultar a senha: somente hash é persistido e a ação encerra sessões e códigos ativos.
Proteção contra abuso
- buckets de rate limit são atômicos e compartilhados entre processos PM2;
- chaves persistidas são hashes e não armazenam e-mail, IP ou token em texto puro;
- códigos de login e cadastro expiram, são de uso único e são invalidados após cinco erros;
- emissão de bearer para integrações também recebe limite por IP e key ID;
- o IP usa o último salto confiável informado pelo Nginx;
TRUSTED_PROXY_HOPSdocumenta essa fronteira; Origin,Referere Fetch Metadata compõem a validação de requisições do navegador.
RBAC
Papéis agregam permissões; exceções allow e deny refinam um usuário. Permissões de superusuário, conexão de banco, bootstrap, publicação de promoções e desconto integral são tratadas como operações críticas.
| Controle | Onde aplicar |
|---|---|
| sessão | toda rota administrativa |
| permissão | leitura ou mutação do módulo correspondente |
| CSRF | POST, PUT, PATCH e DELETE administrativos |
| origem confiável | login e mutações via navegador |
| rate limit | autenticação e operações suscetíveis a abuso |
| validação de payload | antes de acessar store ou banco |
| auditoria | autenticação, publicação, override, rotação e ações críticas |
Prévia e exportação de tabelas do Data Studio ocultam hashes, tokens, segredos e valores cifrados. Alterações de clientes ocorrem exclusivamente pelo módulo de Clientes, evitando que um CSV contorne criptografia e regras de sessão.
Responsabilidade operacional
Segredos pertencem ao ambiente do servidor. Não devem entrar em Git, documentação, payload de API ou log. O arquivo google-service-account.json é recusado pelo Git; use somente variáveis ou um cofre de segredos. Revogue sessões antigas após incidente, mantenha TLS e atualize dependências com revisão de impacto.
Consulte 03 - Permissoes e Papeis e 09 - Deploy Saude e Incidentes.