Otentikasi dua faktor dalam OpenVPN dengan bot Telegram

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


  1. OpenVPN menggunakan plugin openvpn-plugin-auth-pam untuk otentikasi
  2. Plugin memeriksa kata sandi pengguna di server dan meminta faktor kedua melalui protokol RADIUS di layanan Multifactor
  3. Multifactor mengirim pesan melalui bot Telegram ke pengguna dengan konfirmasi akses
  4. 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.

Source: https://habr.com/ru/post/undefined/


All Articles