Artikel ini menjelaskan cara mengkonfigurasi server OpenVPN untuk mengaktifkan otentikasi dua faktor dengan bot Telegram, yang akan mengirim pesan konfirmasi saat menghubungkan.
OpenVPN adalah server VPN sumber terbuka gratis yang terkenal dan banyak digunakan untuk mengatur akses aman bagi karyawan ke sumber daya internal organisasi.
Sebagai otentikasi untuk terhubung ke server VPN, biasanya kombinasi tombol dan login / kata sandi pengguna. Pada saat yang sama, kata sandi yang disimpan pada klien mengubah seluruh rangkaian menjadi satu faktor yang tidak memberikan tingkat keamanan yang tepat. Seorang penyerang, mendapatkan akses ke komputer klien, juga mendapatkan akses ke server VPN. Ini terutama berlaku untuk koneksi dari mesin yang menjalankan Windows.
Menggunakan faktor kedua sebesar 99% mengurangi risiko akses ilegal dan tidak mempersulit proses koneksi bagi pengguna.
Segera lakukan reservasi, untuk implementasi Anda harus menghubungkan server otentikasi pihak ketiga multifactor.ru, di mana Anda dapat menggunakan tarif gratis untuk kebutuhan Anda.
Prinsip operasi
- OpenVPN menggunakan plugin openvpn-plugin-auth-pam untuk otentikasi
- Plugin memeriksa kata sandi pengguna di server dan meminta faktor kedua melalui protokol RADIUS di layanan Multifactor
- Multifactor mengirim pesan melalui bot Telegram ke pengguna dengan konfirmasi akses
- Pengguna mengonfirmasi permintaan akses dalam obrolan Telegram dan terhubung ke VPN
Instal OpenVPN Server
Ada banyak artikel di Internet yang menjelaskan proses menginstal dan mengkonfigurasi OpenVPN, jadi kami tidak akan menduplikatnya. Jika Anda butuh bantuan, ada beberapa tautan ke materi pelatihan di akhir artikel.
Pengaturan Multifactor
Pergi ke sistem manajemen Multifactor , buka bagian "Sumber Daya" dan buat VPN baru.
Setelah pembuatan, dua parameter akan tersedia untuk Anda: NAS-IDentifier dan Shared Secret , mereka akan diperlukan untuk konfigurasi selanjutnya.

"", "All users" " ", VPN .
"VPN users", Telegram , VPN.

"" , VPN, "VPN users" . VPN .

OpenVPN
/etc/openvpn/server.conf PAM
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
/usr/lib/openvpn/plugins/ /usr/lib64/openvpn/plugins/ .
pam_radius_auth
$ sudo yum install pam_radius
/etc/pam_radius.conf RADIUS
radius.multifactor.ru shared_secret 40
:
- radius.multifactor.ru —
- shared_secret — VPN
- 40 —
( )
service-type openvpn
$ sudo vi /etc/pam.d/openvpn
auth required pam_radius_auth.so skip_passwd client_id=[NAS-IDentifier]
auth substack password-auth
account substack password-auth
PAM pam_radius_auth :
- skip_passwd — RADIUS ( ).
- client_id — [NAS-Identifier] VPN .
.
, .
OpenVPN
$ sudo systemctl restart openvpn@server
auth-user-pass
OpenVPN, , . Telegram

, .
, OpenVPN .
-
, :
- Di server dengan OpenVPN ada pengguna dengan set kata sandi
- Akses dari server melalui port UDP 1812 ke alamat radius.multifactor.ru
- Parameter NAS-Identifier dan Shared Secret ditentukan dengan benar
- Sistem Multifactor memiliki pengguna dengan login yang sama dan akses ke grup pengguna VPN
- Metode otentikasi yang dikonfigurasi pengguna melalui Telegram
Jika sebelumnya Anda belum mengkonfigurasi OpenVPN, baca artikel terperinci .
Instruksi dibuat dengan contoh-contoh pada CentOS 7.