Configurando usuários no VPN2fa
Todo usuário do VPN2fa já deve estar cadastrado previamente nas "bases de consultas de usuários". Em outras palavras, antes de criar um perfil no VPN2fa, o respectivo usuário precisa existir na base local do pfSense® ou então no seu servidor Active Directory (quando autenticados no AD, claro), por exemplo.
Cada perfil no VPN2fa pode utilizar uma base de consulta de usuários diferente. Você pode utilizar tanto usuários locais, quanto usuários de AD para criar perfis no pacote VPN2fa.
Acesse as configurações do VPN2fa clicando no menu "VPN->OpenVPN2fa". Na guia “Users and Keys”, deverão ser adicionados os usuários VPN (client-to-site) que irão utilizar o duplo fator de autenticação daqui em diante.
Informações básicas dos usuários no VPN2fa
Regras de acesso
Na opção "Access", você pode informar um alias que contenha IPs internos com objetivo de restringir os acessos do respectivo usuário VPN2fa a estes destinos. O VPN2fa cria automaticamente a respectiva regra de firewall na interface em questão.
Tempo de acesso
Com relação a segmento de tempo, a ferramenta possibilita a configuração de uma data de expiração daquele perfil, ou seja, até quando aquela VPN irá conseguir se autenticar no servidor pfSense®.
Já a opção “cache time” refere-se ao tempo em que o token será válido caso utilizado em conjunto com algum outro mecanismo de autenticação (Google Authenticator/Microsoft Authenticator), por exemplo.
Integração com ferramentas externas de 2fa
Para utilizar ferramentas externas de Duplo Fator de Autenticação (2fa) é necessário criarmos uma chave única para cada usuário. Isso é feito geralmente pelo próprio VPN2fa ao criarmos um perfil de usuário na ferramenta.
Formas de autenticação da VPN
Para cada usuário criado no VPN2fa podemos utilizar uma combinação diferente de métodos de autenticação, variando entre credenciais locais e tokens dinâmicos/estáticos de diferentes plataformas.
-
Time based 6 digits token only: Somente token de 6 dígitos utilizando plataformas do Google e Microsoft Authenticator.
-
Telegram token Only: Utilizando bot de Telegram (token é enviado para o Telegram do usuário)
-
Local/Ldap Only: Credenciais locais ou base LDAP (Active Directory)
-
Local/Ldap + Telegram Token: Será aplicado primeiramente as credenciais de usuário local ou LDAP e em seguida o token encaminhado via Telegram.
-
Local/Ldap + Time based 6 digits token: Primeiramente será utilizada credenciais locais e no segundo fator, será utilizado um token de 6 dígitos gerado pelo Google Authenticator ou Microsoft Authenticator.
-
Time based 6 digits token + Local/Ldap: Primeiramente será utilizado um token de 6 dígitos gerado pelo Google Authenticator ou Microsoft Autenticator e o segundo fator, será requerido credenciais locais.
-
Static token + Time based 6 digits token: Primeiramente será utilizado o token estático configurado no usuário do VPN2fa e em seguida validado o token de 6 dígitos gerado pelo Google Authenticator ou Microsoft Authenticator.
-
Static Token + Telegram Token: Primeiramente será aplicado o token configurado no campo "Static Token" e posteriormente o token encaminhado via Telegram.
Configuração da Base de Usuários.
Para cada usuário deve ser selecionada a base de consulta de origem configurada previamente no seu servidor pfSense®️. Todas as bases de usuários suportadas nativamente pelo pfSense são também suportadas pelo VPN2fa.
Importante: Crie o perfil de usuário no VPN2fa com a mesma grafia utilizada na base de consulta de origem selecionada.
Configuração token estático
Conforme selecionado anteriormente, caso a opção escolhida envolva o token estático o mesmo deve ser configurado nesse campo.
Recebendo token de conexão no Telegram
Configuração Telegram ID
Caso este usuário utilize autenticação através de "Telegram token" deve ser configurado neste campo o ID do seu perfil no Telegram.
Esta configuração poderá ser verificada no telegram do usuário que optar este recurso, basta no aplicativo do Telegram:
- Iniciar uma conversa com "userinfobot" utilizando a opção "/start": Este exibirá a informação do seu ID.
- Aplique o ID exibido no campo da ferramenta VPN2fa
- Inicie a conversa com o @vpntoken_bot: É ele que lhe fornecerá o token para autenticação.
- Agora quando o usuário tentar se conectar, o bot enviara o código para ele.
Envio de e-mail automático para o usuário
Para que seja possível utilizar todos os recursos disponíveis no VPN2fa quanto a comunicação com os usuários, ou seja, o envio das instruções e tokens para instalação e utilização do cliente OpenVPN na ponta do usuário final, faz-se necessário algumas configurações prévias no seu servidor pfSense® e em ferramentas que gostaria de integra-lo.
Guia "Notifications" do pfSense®
Para envio de e-mail é necessário a configuração da aba "System->Advanced->Notifications" no servidor pfSense® com as respectivas informações de autenticação no servidor de e-mail.
Importante: Outro requisito necessário para o envio de e-mails automáticos para os usuários VPN2fa é termos o pacote MailReport instalado no seu servidor pfSense. Basta prosseguir com a instalação usual em "System->Package Manager->Available Packages".
Personalizando corpo da mensagem de e-mail
O VPN2fa possibilita a personalização do e-mail encaminhado automaticamente com instruções de instalação e ativação do OpenVPN Client. Os campos "Nome de envio", "Título da mensagem" e o "Texto do corpo" podem ser alterados conforme desejado.
Envio de E-mail
Conforme configurado nas notificações do pfSense®️, podemos encaminhar um e-mail automático para cada usuário criado no VPN2fa utilizando um template padrão com informações de como ele pode proceder com a instalação e configuração (incluindo certificado TLS em anexo) no seu lado de cliente.
OBS: O endereço que está no campo "Qrcode link" é gerado automaticamente após adicionar um usuário VPN2fa.
Após salvar as configurações escolhidas, já será possível testar o envio do e-mail/mensagem automática para o respectivo usuário VPN2fa (conforme demonstra tela abaixo).
Cadastro de dispositivos homologados
Esta feature do pacote VPN2fa permite o cadastramento de dispositivos específicos para conexões VPN client-to-site.
O cadastro pode ser executado com base no MAC Address da interface de rede do dispositivo do usuário ou então pelo código UUID do OpenVPN Client. Existe até mesmo a possibilidade de um "cadastro automático" no primeiro logon do usuário.
O primeiro passo para ativar esta funcionalidade é acessar a opção “Authentication Restrictions” na página de configuração do pacote VPN2fa e habilitar a feature. Informe no campo o MAC Address ou o UUID dos dispositivos homologados para o usuário em questão (separando cada entrada numa linha nova).
Para encontrar o UUID no software OpenVPN Connect, basta seguir os passos ilustrados nas imagens abaixo. Já o Endereço MAC será sempre da interface que está conectada à internet.
Para que essa restrição funcione, é importante que o cliente tenha o parâmetro "push-peer-info". Você pode padronizar esta ação colocando-a diretamente no arquivo OVPN da aba de configuração do pacote, deixando assim como padrão sempre que os usuários receberem o seu respectivo arquivo de configuração do VPN Client.
Também é possível habilitar o cadastro automático na primeira conexão. Para isso, basta habilitar a feature e deixar o campo de MAC/UUID vazio. Assim, o MAC Address ou UUID utilizado pelo usuário será cadastrado automaticamente no seu primeiro logon.