Autenticação e controle de acesso
Controle de acesso quebrado é a primeira categoria do OWASP Top 10 desde 2021 e continuou em primeiro na edição de 2025. Na prática, quase sempre é uma rota que confere se a pessoa está logada, mas não confere se aquele registro pertence a ela.
Trabalhamos nas duas pontas. Na entrada, com login, segundo fator e sessão. Depois da entrada, com permissões por papel na aplicação e, como última barreira, políticas no próprio banco de dados que impedem a leitura de dado de outro cliente mesmo que a aplicação tenha um erro.
Quando faz sentido
- O sistema atende várias empresas ou clientes na mesma base de dados.
- Há perfis diferentes (administrador, gestor, operador, cliente) e ninguém sabe ao certo o que cada um consegue fazer.
- Um cliente corporativo exigiu login com o provedor de identidade dele (SSO).
- A empresa quer ativar MFA sem aumentar o volume de chamados de suporte.
O que fazemos
- Login e recuperação de senha
- Limite de tentativas, mensagem que não revela se o e-mail existe, link de recuperação de uso único e com validade curta, invalidação das sessões antigas após troca de senha. Senhas seguem a revisão 4 do NIST SP 800-63B: comprimento mínimo, comparação com listas de senhas vazadas e nenhuma troca periódica forçada.
- MFA
- Segundo fator por aplicativo autenticador (TOTP) ou chave de acesso (passkey), com códigos de recuperação e política de quais perfis são obrigados a usar.
- OAuth2, OpenID Connect e SSO
- Integração com Google, Microsoft Entra ID e outros provedores, com validação correta de state, redirect e assinatura do token.
- Sessão e tokens
- Cookies HttpOnly e Secure, expiração e renovação de JWT, algoritmo de assinatura fixado no servidor e revogação no logout.
- RBAC
- Matriz de permissões desenhada a partir da operação real da empresa e aplicada em cada rota do servidor, com teste automatizado para cada papel.
- RLS e multi-tenant
- Políticas de segurança por linha no PostgreSQL, incluindo Supabase. Se a aplicação errar o filtro, o banco ainda assim devolve apenas as linhas do cliente certo. Revisamos também com qual papel a aplicação se conecta, porque superusuários e papéis com BYPASSRLS ignoram as políticas.
O que você recebe
- Matriz de permissões documentada: quem pode ler, criar, alterar e excluir cada tipo de dado.
- Implementação ou correção do fluxo de autenticação.
- Políticas de banco versionadas junto com o código.
- Testes automatizados que falham se um papel ganhar acesso que não deveria.
Referências
- OWASP Top 10:2025, A01 e A07
- OWASP ASVS 5.0, capítulos de autenticação, sessão e controle de acesso
- RFC 6749 (OAuth 2.0) e OpenID Connect Core
- NIST SP 800-63B, revisão 4 (2025)
Perguntas frequentes
Nosso sistema já tem login. Por que revisar?
Porque o login costuma estar certo e o problema aparece depois dele. Nos testes que fazemos, a falha mais frequente é uma rota que recebe o identificador da empresa como parâmetro e confia nele, em vez de usar a empresa do usuário autenticado. Controle de acesso quebrado é a primeira categoria do OWASP Top 10:2025.
Qual a diferença entre RBAC e RLS? Precisamos dos dois?
O RBAC define na aplicação o que cada papel pode fazer: quem aprova, quem exclui, quem só consulta. O RLS age no banco de dados e define quais linhas cada usuário ou empresa consegue ler e alterar. Em sistemas multi-tenant, os dois se completam: se uma rota da aplicação errar o filtro, o banco ainda assim bloqueia o dado de outro cliente.
Ativar RLS no banco já resolve o isolamento entre clientes?
Sozinho, não. No PostgreSQL, superusuários, papéis com o atributo BYPASSRLS e, em regra, o dono da tabela ignoram as políticas por linha. Uma aplicação que se conecta com um desses usuários passa por cima de todo o RLS. Por isso revisamos com qual papel cada parte do sistema acessa o banco e testamos as políticas com usuários reais de empresas diferentes.
MFA vai atrapalhar os usuários?
Depende de como é implantado. É comum exigir MFA só para perfis administrativos e oferecer como opção para os demais, lembrar o dispositivo por um período e usar passkey, que é mais rápida que digitar um código. Códigos de recuperação e um processo claro para troca de celular evitam boa parte dos chamados de suporte.
Código por SMS serve como segundo fator?
Serve, mas é a opção mais fraca. As diretrizes de autenticação do NIST (SP 800-63B, revisão 4, de 2025) classificam o SMS como autenticador restrito, por riscos como a clonagem de chip, e pedem avaliação de risco antes de adotá-lo. Aplicativo autenticador ou passkey são alternativas melhores, e a passkey também resiste a páginas falsas de login.
Devemos obrigar a troca de senha a cada 90 dias?
A recomendação atual vai no sentido oposto. O NIST SP 800-63B proíbe exigir troca periódica e regras de composição, como misturar maiúsculas, números e símbolos, e manda forçar a troca só quando houver indício de comprometimento. Em compensação, pede senha de pelo menos 15 caracteres quando ela é o único fator (8 quando há MFA) e comparação com listas de senhas vazadas ou muito comuns.
Funciona com o provedor de identidade que já usamos?
Na maioria dos casos, sim. Provedores que seguem OpenID Connect ou SAML, como Microsoft Entra ID e Google Workspace, podem ser integrados sem trocar o login atual dos usuários. A revisão confere os pontos onde essas integrações costumam falhar: validação do parâmetro state, lista de endereços de retorno e verificação da assinatura do token.
Os usuários atuais serão afetados durante a mudança?
A migração pode ser gradual. É possível manter a senha atual válida enquanto o usuário cadastra o segundo fator no próximo acesso, ou liberar o SSO primeiro para uma empresa piloto. Mudanças de permissão entram com testes automatizados por papel, para que ninguém perca um acesso de que precisa nem ganhe um que não deveria ter.
Setores e serviços relacionados
- Financeiro e cooperativas de créditoCooperativas de crédito, fintechs e empresas de pagamento, sujeitas às normas de segurança cibernética do Banco Central.
- IndústriaPortais de fornecedores, sistemas de pedidos e integrações com ERP em empresas onde um incidente para a produção.
- PentestTeste de invasão autorizado em aplicações web, APIs e aplicativos, com relatório de cada falha comprovada e reteste após a correção.
- Hardening e OWASP Top 10Correção das vulnerabilidades do OWASP Top 10:2025 e revisão de configuração de aplicação, servidor, banco e dependências.
- Adequação técnica à LGPDMapeamento do dado pessoal nos sistemas, minimização, retenção, direitos do titular e preparação para comunicar incidentes à ANPD.
- Segurança de IATeste de chatbots e agentes de IA contra prompt injection, vazamento de dados e ações indevidas, com base no OWASP Top 10 para aplicações LLM.
Artigos sobre o tema
- Resolução CMN nº 5.274/2025: o que muda na segurança cibernética das instituições autorizadas pelo Banco CentralA Resolução CMN nº 5.274/2025 alterou a 4.893 e passou a exigir controles mínimos detalhados, teste de intrusão anual feito por profissional ou empresa independente e requisitos específicos para os ambientes Pix e STR. O prazo de adequação terminou em 1º de março de 2026.
- Isolamento de dados em SaaS multi-tenant: onde o vazamento entre clientes aconteceEm um SaaS, o dado de um cliente aparecer para outro costuma vir de uma consulta sem filtro, de uma chave que ignora as regras do banco ou de um relatório gerado fora do fluxo normal. Veja os pontos de falha mais comuns, como testar e o que a LGPD exige do operador.
Fale com a Tox
Conte o que precisa. Respondemos com uma proposta de escopo, prazo e preço.