Ho un sistema OpenVPN funzionante su Ubuntu 12.04 e vorrei aggiungere Google Authenticator per una maggiore sicurezza.
Questa è la mia attuale configurazione di openvpn:
dev tun proto udp porta 1096 ca ubuserv04-ca.crt cert ubuserv04.crt chiave ubuserv04.key dh dh1024.pem server 10.10.0.0 255.255.255.0 push "redirect-gateway def1" push "route 192.168.0.0 255.255.255.0" push "opzione dhcp DNS 8.8.8.8" push "opzione dhcp DNS 8.8.4.4" galleggiante log-append /var/log/openvpn-otp-1096-status.log
(Questa è solo una configurazione di prova, so che dovrei cambiarne alcuni aspetti, ma per ora funziona.)
Sul client ho:
dev tun cliente proto udp my.server.fqdn 1096 remoto resolv-retry infinite ca ubuserv04-ca.crt cert user1.crt chiave user1.key verbo 3
L'impostazione sopra funziona bene: nessun errore, veloce, stabile.
Ho provato diversi howtos per far funzionare Google Authenticator ma finisco sempre per risolvere i problemi collaterali in quegli articoli. Non voglio eseguire l'autenticazione con il database utente / password locale del server, ma solo il sistema che ho già installato e Google Authenticator.
Ho Google Authenticator in esecuzione; L'ho installato usando apt-get install libpam-google-authenticator e l'ho usato prima per autenticare le sessioni ssh. Funzionava bene ma ora l'ho disabilitato perché è solo un server di prova e quel particolare test è stato completato.
Si prega di essere specifici. So che dovrei aggiungere un plugin alla configurazione ovpn del mio server e che dovrei aggiungere qualcosa a /etc/pam.d/openvpn ma che cosa esattamente?
Qualsiasi aiuto sarebbe molto apprezzato!
/ informazioni extra
Ho seguito questo articolo: http://www.howtoforge.com/securing-openvpn-with-a-one-time-password-otp-on-ubuntu Invece di compilare dal sorgente ho installato Google Authenticator con apt -get installa libpam-google-authenticator. Ho anche letto, ma non utilizzato in questo caso, questi articoli: http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/ e http : //zcentric.com/2012/10/09/google-authenticator-with-openvpn-for-2-factor-auth/ . E ho letto su PAM, come suggerito;)
Ora, ecco alcuni sviluppi interessanti.
/etc/pam.d/openvpn ha questo:
account [success = 2 new_authtok_reqd = done default = ignore] pam_unix.so account [success = 1 new_authtok_reqd = done default = ignore] pam_winbind.so requisito account pam_deny.so account richiesto pam_permit.so autenticazione obbligatoria pam_google_authenticator.so
Come da howto ho copiato l'originale da /etc/pam.d/common-account e ho aggiunto l'ultima riga. Ora, se commento l'ultima riga, la connessione OpenVPN ha esito positivo. Se tuttavia l'ultima riga non viene commentata, /var/log/auth.log registra questo:
Impossibile aprire la PAM (pam_google_authenticator.so): /lib/security/pam_google_authenticator.so: simbolo indefinito: pam_get_item PAM aggiunta modulo difettoso: pam_google_authenticator.so
e /var/log/openvpn-otp-1096.log registra questo:
PLUGIN_CALL: funzione plug-in PLUGIN_AUTH_USER_PASS_VERIFY non riuscita con stato 1: /usr/lib/openvpn/openvpn-auth-pam.so Errore di autenticazione TLS: verifica autenticazione nome utente / password non riuscita per peer e-utilizzo del contesto SSL / TLS AUTH-PAM: BACKGROUND: autenticazione utente "martin" non riuscita: il modulo è sconosciuto
Il problema sembra essere tra PAM e Google Authenticator.
Google elenca i problemi con altri plugin, ma non riesco davvero a trovare informazioni riguardanti Google Authenticator in particolare.
libpam-google-authenticator
è per l'autenticazione utilizzando Google Authenticator in PAM. Questo non è di alcuna utilità in OpenVPN poiché si utilizzano certificati lì. Ti suggerisco di leggere cos'è PAM: capirai che non ha nulla a che fare con OpenVPN nel tuo caso.