Acredito que imaginei como configurar o google authenticator junto com o pivpn (após uma noite de tentativa e falha ...).
Apenas deixando minhas anotações aqui para compartilhar com todos e espero confirmar que não cometeu nenhum erro e que potencialmente abrisse uma enorme falha de segurança aqui;)
Apenas deixando minhas anotações aqui para compartilhar com todos e espero confirmar que não cometeu nenhum erro e que potencialmente abrisse uma enorme falha de segurança aqui;)
- Instale o libpam-google-authenticator e configure o openvpn para usá-lo
- Instale o google authenticator no pi:
sudo apt-get install libpam-google-authenticator
sudo nano /etc/openvpn/server.conf
e adicionarplugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn
(para usar o google authenticator) ereneg-sec 0
(para não reconectar a cada x minutos, a senha muda a cada poucos segundos)- Crie um perfil pam.d openvpn
sudo cp /etc/pam.d/common-account /etc/pam.d/openvpn
- Edite-o
sudo nano /etc/pam.d/openvpn
para adicionar essas duas linhas no finalauth requisite pam_google_authenticator.so forward_pass
eauth required pam_unix.so use_first_pass
- Agora corra
sudo service openvpn restart
para recarregar a mudança conf
- Configurar perfis de usuário
Para que isso funcione, você usará as contas do sistema (contas que você usa para fazer login no seu framboesa, como 'pi'). Você pode criar tantas contas quanto você com oadduser
comando. Para cada usuário pivpn
- faça o login como o usuário no framboesa
su - pi
(substitua pi pelo nome de usuário real) - execute o
google-authenticator
comando e siga as instruções (salve o URL do código de barras na próxima etapa) - A execução do autenticador do google adiciona um arquivo .google_authenticator no diretório pessoal do usuário. Este arquivo não deve ter direitos, exceto ler para o usuário
sudo chmod 400 /home/pi/.google_authenticator
(alterar pi com o nome de usuário correto) - crie uma conta pivpn com o mesmo nome exato do usuário e a opção nopass:
pivpn -a nopass
Nota: o nome de usuário deve ser o mesmo que a conta do sistema (pi, por exemplo) - edite o arquivo user.ovpn recém-criado e adicione
auth-user-pass
(para dizer ao cliente para solicitar nome de usuário e senha na conexão) ereneg-sec 0
(para não reconectar a cada x minutos, a senha muda a cada poucos segundos)
- Configure seu telefone, seu cliente e conecte-se a partir de uma rede externa
- Instale o aplicativo google authenticator em seu telefone e verifique o código de barras gerado durante o comando google-authenticator (2) no pi
- Configure seu cliente (testado no Windows e no iOS) com o novo arquivo do cliente ovpn (pi.ovpn por exemplo, criado na última etapa de (2)
- Conecte-se usando sua senha da conta pi seguida pelos 6 números gerados pelo aplicativo google authenticator no seu telefone no mesmo momento
Por exemplo, api
senha da sua conta é "framboesa" (você deve alterá-la) e sua senha será algo comoraspberry123456
Voila! Deixe-me saber se eu perdi alguma coisa (ou fiz algo errado), mas é assim que eu consegui trabalhar no meu pi 2 com Jessie Raspbian.
Eu ainda estou querendo saber se a opção nopass no comando de criação de conta pivpn é razoável, se eu definir uma senha aqui (sem opção nopass), então eu tenho que preencher minha senha de certificado primeiro e depois minha senha pi + os números do google authenticator ... Tudo somado é realmente adicionar segurança sabendo que eu uso a opção nopass para criar o meu certificado de usuário?
Créditos para https://vorkbaard.nl/setup-openvpn-with-google-authenticator-on-ubuntu-12-04-lts-server/onde encontrei a maior parte da solução ...
Eu ainda estou querendo saber se a opção nopass no comando de criação de conta pivpn é razoável, se eu definir uma senha aqui (sem opção nopass), então eu tenho que preencher minha senha de certificado primeiro e depois minha senha pi + os números do google authenticator ... Tudo somado é realmente adicionar segurança sabendo que eu uso a opção nopass para criar o meu certificado de usuário?
Créditos para https://vorkbaard.nl/setup-openvpn-with-google-authenticator-on-ubuntu-12-04-lts-server/onde encontrei a maior parte da solução ...