ProHoster > Otentikasi dua faktor di OpenVPN dengan bot Telegram
Otentikasi dua faktor di OpenVPN dengan bot Telegram
Artikel ini menjelaskan pengaturan server OpenVPN untuk mengaktifkan otentikasi dua faktor dengan bot Telegram yang akan mengirimkan permintaan konfirmasi saat menghubungkan.
OpenVPN adalah server VPN sumber terbuka terkenal dan gratis yang banyak digunakan untuk mengatur akses aman karyawan ke sumber daya internal organisasi.
Sebagai otentikasi untuk menghubungkan ke server VPN, biasanya digunakan kombinasi kunci dan login/kata sandi pengguna. Pada saat yang sama, kata sandi yang disimpan di klien mengubah seluruh rangkaian menjadi satu faktor yang tidak memberikan tingkat keamanan yang tepat. Seorang penyerang, setelah mendapatkan akses ke komputer klien, juga mendapatkan akses ke server VPN. Hal ini terutama berlaku untuk koneksi dari mesin yang menjalankan Windows.
Penggunaan faktor kedua mengurangi risiko akses tidak sah sebesar 99% dan tidak mempersulit proses koneksi bagi pengguna sama sekali.
Izinkan saya segera melakukan reservasi: untuk implementasi, Anda perlu 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 Multifaktor
Multifaktor mengirimkan pesan ke pengguna melalui bot Telegram yang mengonfirmasi akses
Pengguna mengonfirmasi permintaan akses dalam obrolan Telegram dan terhubung ke VPN
Menginstal server OpenVPN
Ada banyak artikel di Internet yang menjelaskan proses instalasi dan konfigurasi OpenVPN, jadi kami tidak akan menduplikasinya. Jika Anda memerlukan bantuan, ada beberapa link tutorial di akhir artikel.
Menyiapkan Multifaktor
Pergi ke Sistem kendali multifaktor, buka bagian "Sumber Daya" dan buat VPN baru.
Setelah dibuat, Anda akan memiliki dua opsi yang tersedia untuk Anda: Pengidentifikasi NAS ΠΈ Rahasia Bersama, mereka akan diperlukan untuk konfigurasi selanjutnya.
Di bagian "Grup", buka pengaturan grup "Semua pengguna" dan hapus tanda "Semua sumber daya" sehingga hanya pengguna dari grup tertentu yang dapat terhubung ke server VPN.
Buat grup baru "Pengguna VPN", nonaktifkan semua metode otentikasi kecuali Telegram dan tunjukkan bahwa pengguna memiliki akses ke sumber daya VPN yang dibuat.
Di bagian "Pengguna", buat pengguna yang akan memiliki akses ke VPN, tambahkan mereka ke grup "Pengguna VPN" dan kirimkan mereka tautan untuk mengonfigurasi faktor otentikasi kedua. Login pengguna harus cocok dengan login di server VPN.
Menyiapkan server OpenVPN
Buka filenya /etc/openvpn/server.conf dan tambahkan plugin untuk otentikasi menggunakan modul PAM
Baris pertama menghubungkan modul PAM pam_radius_auth dengan parameter:
skip_passwd - menonaktifkan transmisi kata sandi pengguna ke server RADIUS Multifactor (dia tidak perlu mengetahuinya).
client_id β ganti [NAS-Identifier] dengan parameter yang sesuai dari pengaturan sumber daya VPN.
Semua parameter yang mungkin dijelaskan dalam dokumentasi untuk modul.
Baris kedua dan ketiga mencakup verifikasi sistem login, kata sandi dan hak pengguna di server Anda bersama dengan faktor otentikasi kedua.
Mulai ulang OpenVPN
$ sudo systemctl restart openvpn@server
Pengaturan klien
Sertakan permintaan login pengguna dan kata sandi dalam file konfigurasi klien
auth-user-pass
ΠΡΠΎΠ²Π΅ΡΠΊΠ°
Luncurkan klien OpenVPN, sambungkan ke server, masukkan nama pengguna dan kata sandi Anda. Bot Telegram akan mengirimkan permintaan akses dengan dua tombol
Satu tombol mengizinkan akses, tombol kedua memblokirnya.
Sekarang Anda dapat menyimpan kata sandi Anda dengan aman di klien; faktor kedua akan melindungi server OpenVPN Anda dari akses tidak sah.
Jika ada sesuatu yang tidak berhasil
Periksa secara berurutan apakah Anda tidak melewatkan apa pun:
Ada pengguna di server dengan OpenVPN dengan kata sandi yang ditetapkan
Server memiliki akses melalui port UDP 1812 ke alamat radius.multifactor.ru
Parameter NAS-Identifier dan Shared Secret ditentukan dengan benar
Pengguna dengan login yang sama telah dibuat di sistem Multifaktor dan telah diberikan akses ke grup pengguna VPN
Pengguna telah mengkonfigurasi metode otentikasi melalui Telegram
Jika Anda belum pernah mengatur OpenVPN sebelumnya, baca artikel terperinci.