Capítulo 41 – Autenticação Multifator (MFA – TOTP)
Introdução
A autenticação multifator (MFA) deixou de ser um diferencial de segurança e passou a ser um requisito essencial em qualquer ambiente com acessos expostos à Internet. No contexto do OPNsense, ela representa uma camada adicional de proteção para administradores e usuários de VPN, reduzindo drasticamente o risco de invasões mesmo em situações em que uma senha é comprometida.
A MFA baseada em TOTP (Time-Based One-Time Password) utiliza um código rotativo gerado a cada 30 segundos por um aplicativo autenticador, como o Google Authenticator, Microsoft Authenticator, FreeOTP ou Authy. Assim, o processo de autenticação passa a depender de algo que o usuário sabe (a senha) e algo que ele possui (o dispositivo com o token). Mesmo que um atacante descubra a senha, não conseguirá acessar o sistema sem o token válido — que muda constantemente.
Neste capítulo, veremos passo a passo como configurar o MFA no OPNsense, tanto para usuários locais quanto para usuários integrados ao Active Directory (LDAP), aplicando-o em acessos administrativos e conexões VPN.
Entendendo o Funcionamento
O processo de MFA no OPNsense baseia-se em códigos TOTP. Esses códigos são calculados com base em um segredo criptográfico (seed) gerado no firewall e compartilhado com o aplicativo autenticador do usuário. A cada 30 segundos, o app cria um novo código de seis dígitos, sincronizado com o relógio do firewall.
Por isso, é fundamental que o OPNsense esteja com o horário sincronizado via NTP (Network Time Protocol). Uma diferença de tempo entre o firewall e o dispositivo do usuário resultará em falhas de autenticação, mesmo que o token esteja correto.
Pré-Requisitos
Antes de iniciar a configuração da MFA, verifique os seguintes pontos:
- O firewall deve ter NTP configurado e funcionando corretamente.
- Caso use autenticação com Active Directory, o servidor LDAP já deve estar configurado (ver Capítulo 34 – Integração com LDAP).
- Os usuários devem possuir um aplicativo autenticador TOTP instalado (Google Authenticator, Authy, Microsoft Authenticator, FreeOTP, etc.).
- Em ambientes críticos, mantenha uma conta administrativa de contingência sem MFA, com controle rigoroso de uso.
Configurando MFA para Usuários Locais
1. Criar a Fonte de Autenticação Local + TOTP
-
Acesse o menu System → Access → Servers.
-
Clique em + Add para adicionar um novo servidor de autenticação.
-
Preencha os campos conforme o exemplo abaixo:
- Descriptive name:
LOCAL+MFA - Type:
Local + Timebased One Time Password - Marque a opção Reverse token order se desejar que o usuário digite o token antes da senha (opcional).
- Descriptive name:
-
Clique em Save.
Importante
Por padrão, o OPNsense espera que o usuário digite senha + token concatenados no mesmo campo de senha.
Exemplo: minhaSenhaAqui123456, onde 123456 é o token exibido no app autenticador.
2. Criar o Usuário e Gerar o QR Code do Token
No exemplo abaixo, iremos cadastrar um usuário com permissão de Admin, pois será um administrador do firewall.
-
Vá em System → Access → Users.
-
Clique em + Add.
-
Preencha os campos:
- Username:
luciano.rodrigues - Password: senha complexa
- Group membership:
admins
- Username:
-
Role até a seção OTP seed e clique em Show.
-
Clique no ícone de engrenagem (⚙) para gerar o QR Code.
-
No celular, abra o aplicativo autenticador e escaneie o QR Code exibido.
-
Clique em Save.
A partir desse momento, o usuário terá um token rotativo válido e sincronizado com o firewall.
Importante
Recomenda-se testar o acesso com pelo menos um usuário antes de ativar o MFA globalmente. Mantenha uma sessão administrativa aberta durante a configuração — caso algo dê errado, você poderá reverter facilmente.
3. Exigir MFA para Acesso à WebGUI
- Vá em System → Settings → Administration.
- No campo Authentication → Server, selecione LOCAL+MFA.
- Clique em Save.
-
Abra uma nova aba ou janela anônima e tente autenticar:
- Somente com login e senha → deve falhar.
- Com senha + token concatenados → deve autenticar com sucesso.
Caso não consiga autenticar
Volte à aba onde você ainda está logado, desfaça a alteração em Authentication Server, e revise cada etapa — especialmente a geração do QR Code e a sincronização de horário via NTP.
Usando MFA na VPN (OpenVPN)
A autenticação multifator também pode (e deve) ser aplicada aos acessos de VPN.
- Siga o processo de criação da VPN no Capítulo 26 – VPN Acesso Remoto OpenVPN.
- Na etapa de Autenticação, escolha LOCAL+MFA como método de autenticação.
- Salve e aplique as alterações.
Agora, cada usuário que possuir um token registrado deverá digitar sua senha seguida do token no campo de senha do cliente OpenVPN.
Exemplo:
LDAP + MFA (Integração com Active Directory)
O processo de criar um servidor de autenticação LDAP com suporte MFA/TOTP foi descrito no capítulo anterior (Capítulo 40 - Integração com LDAP).
Indicamos fielmente que use o método do capítulo 40 aliado com a permissão do próprio usuário gerar seu Token (Self-Service-QRCode).
Testando a MFA
Teste de Acesso à WebGUI
- Acesse o painel de login e tente entrar apenas com a senha → o acesso deve ser negado.
- Em seguida, tente novamente com senha + token concatenados → o acesso deve ser autorizado.
- Verifique se o token muda a cada 30 segundos e se a autenticação continua consistente.
Teste de Acesso via VPN
- Conecte o cliente OpenVPN usando o login e senha corretos + token válido.
- A conexão deve ser estabelecida com sucesso.
- Confirme em VPN → OpenVPN → Connection Status que a sessão está ativa e autenticada via MFA.
Considerações Importantes
- Concatenação: o OPNsense sempre processa senha e token no mesmo campo.
- Sincronização de tempo: o TOTP depende de relógio sincronizado; habilite o NTP em System → Settings → General.
- LDAP + MFA: mesmo com LDAP, o usuário precisa existir localmente para gerar o QR Code.
- Segurança do LDAP: use LDAPS (porta 636) em produção para evitar transmissão em texto claro.
- Suporte e recuperação: documente o procedimento de reemissão de tokens em caso de perda ou troca de aparelho celular.
- Monitoramento: habilite logs de autenticação e configure alertas de falhas consecutivas.
Boas Práticas
- Comece pelos administradores: implemente MFA primeiro na WebGUI e SSH.
- Implemente em fases: teste em um grupo piloto antes de expandir.
- Mantenha NTP redundante: use pelo menos dois servidores de hora confiáveis.
- Audite acessos: monitore logs de autenticação e identifique tentativas suspeitas.
- Senhas ainda importam: combine senhas fortes com MFA — um fator não substitui o outro.
- Tenha plano de contingência: mantenha uma conta de emergência sem MFA, controlada e auditada.
- Eduque os usuários: forneça instruções claras sobre como digitar senha + token e o que fazer em caso de perda do app autenticador.
Casos de Uso
1. Proteção da WebGUI e SSH de Administradores
Problema: Contas administrativas são alvo frequente de ataques de força bruta.
Solução: Criar o servidor LOCAL+MFA e exigir OTP para logins administrativos.
Benefício: Mesmo com uma senha comprometida, o acesso é bloqueado sem o token.
2. VPN Corporativa com MFA
Problema: VPNs são portas de entrada comuns para invasores.
Solução: Configurar LDAP + TOTP como servidor de autenticação para OpenVPN.
Benefício: O usuário mantém suas credenciais do AD, mas precisa do token adicional — sem precisar de logins duplicados.
3. MFA para Usuários de AD com Criação Automática
Problema: Adoção lenta por depender de criação manual de contas locais.
Solução: Habilitar Automatic user creation no LDAP+MFA, permitindo que o usuário gere seu token após o primeiro login.
Benefício: Integração fluida e sem necessidade de intervenção administrativa.
4. Proteção Contra Vazamento de Credenciais
Problema: Senhas podem ser reutilizadas ou vazadas em incidentes externos.
Solução: MFA com tokens TOTP rotativos.
Benefício: Mesmo com a senha comprometida, o acesso permanece protegido.
Conclusão
A implementação da autenticação multifator (MFA) no OPNsense é uma das medidas mais eficazes para proteger acessos administrativos e conexões VPN. Ela combina simplicidade de configuração com alta eficácia contra ataques de força bruta, phishing e reutilização de senhas.
Ao aplicar TOTP com NTP sincronizado, adotar LDAP + MFA em ambientes corporativos e manter procedimentos de contingência bem documentados, você estabelece uma base sólida para uma postura de segurança moderna, confiável e resiliente.