Saya memiliki sistem OpenVPN yang berfungsi pada Ubuntu 12.04 dan saya ingin menambahkan Google Authenticator untuk keamanan ekstra.
Ini adalah konfigurasi openvpn saya saat ini:
dev tun proto udp port 1096 ca ubuserv04-ca.crt cert ubuserv04.crt kunci ubuserv04.key dh dh1024.pem server 10.10.0.0 255.255.255.0 tekan "redirect-gateway def1" tekan "rute 192.168.0.0 255.255.255.0" tekan "dhcp-option DNS 8.8.8.8" tekan "dhcp-option DNS 8.8.4.4" mengapung log-append /var/log/openvpn-otp-1096-status.log
(Ini hanya pengaturan uji, saya tahu saya harus mengubah aspek tertentu tetapi ini berfungsi untuk saat ini.)
Pada klien saya punya:
dev tun klien proto udp remote my.server.fqdn 1096 resolv-coba lagi tak terbatas ca ubuserv04-ca.crt cert user1.crt kunci user1.key kata kerja 3
Pengaturan di atas berfungsi dengan baik: tidak ada kesalahan, cepat, stabil.
Saya telah mencoba beberapa howtos untuk menjalankan Google Authenticator tetapi saya akhirnya menemukan pemecahan masalah sisi dalam artikel-artikel itu setiap waktu. Saya tidak ingin mengautentikasi terhadap basis data pengguna / kata sandi server lokal, hanya sistem yang sudah saya miliki plus Google Authenticator.
Saya menjalankan Google Authenticator; Saya menginstalnya menggunakan apt-get install libpam-google-authenticator dan telah menggunakannya sebelumnya untuk mengotentikasi sesi ssh. Itu bekerja dengan baik, tetapi saya sekarang telah menonaktifkan itu karena itu hanya server uji dan tes tertentu selesai.
Harap spesifik. Saya tahu saya harus menambahkan plugin ke konfigurasi ovpn server saya dan bahwa saya harus menambahkan sesuatu ke /etc/pam.d/openvpn tapi apa sebenarnya?
Bantuan apa pun akan sangat dihargai!
/informasi tambahan
Saya telah mengikuti artikel ini: http://www.howtoforge.com/securing-openvpn-with-a-one-time-password-otp-on-ubuntu Alih-alih mengkompilasi dari sumber saya telah menginstal Google Authenticator dengan apt -Dapat menginstal libpam-google-authenticator. Saya juga sudah membaca, tetapi tidak digunakan dalam kasus ini, artikel ini: http://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/ dan http : //zcentric.com/2012/10/09/google-authenticator-with-openvpn-for-2-factor-auth/ . Dan saya sudah membaca di PAM, seperti yang disarankan;)
Sekarang, inilah beberapa pengembang yang menarik.
/etc/pam.d/openvpn memiliki ini:
akun [sukses = 2 new_authtok_reqd = selesai default = abaikan] pam_unix.so akun [sukses = 1 new_authtok_reqd = selesai default = abaikan] pam_winbind.so akun pam_deny.so yang diperlukan akun diperlukan pam_permit.so auth diperlukan pam_google_authenticator.so
Sesuai howto saya menyalin aslinya dari /etc/pam.d/common-account dan menambahkan baris terakhir. Sekarang jika saya mengomentari baris terakhir, koneksi OpenVPN berhasil. Jika baris terakhir tidak dikomentari, /var/log/auth.log mencatat ini:
PAM tidak dapat dlopen (pam_google_authenticator.so): /lib/security/pam_google_authenticator.so: simbol yang tidak ditentukan: pam_get_item PAM menambahkan modul yang salah: pam_google_authenticator.so
dan /var/log/openvpn-otp-1096.log mencatat ini:
PLUGIN_CALL: fungsi plugin PLUGIN_AUTH_USER_PASS_VERIFY gagal dengan status 1: /usr/lib/openvpn/openvpn-auth-pam.so Kesalahan Automatis TLS: Auth Nama Pengguna / Verifikasi kata sandi gagal untuk rekan menggunakan konteks SSL / TLS AUTH-PAM: LATAR BELAKANG: pengguna 'martin' gagal mengautentikasi: Modul tidak diketahui
Masalahnya tampaknya antara PAM dan Google Authenticator.
Google mencantumkan masalah dengan plugin lain, tetapi saya tidak dapat menemukan informasi mengenai Google Authenticator secara khusus.
libpam-google-authenticator
untuk otentikasi menggunakan Google Authenticator di PAM. Ini tidak ada gunanya di OpenVPN karena Anda menggunakan sertifikat di sana. Saya sarankan Anda membaca tentang apa itu PAM - Anda akan mengerti bahwa itu tidak ada hubungannya dengan OpenVPN dalam kasus Anda.