Flazzo memiliki fokus utama untuk menambah nilai bisnis Anda.

Blog

OpenVPN dengan Radius dan otentikasi multi-faktor

16778595-thumb.jpg
Blog

OpenVPN dengan Radius dan otentikasi multi-faktor


Terima default untuk menginstal OpenVPN dan, pada akhirnya, berikan a Client name Misalnya demouser. Saya memilih klien tanpa kata sandi, tetapi jika mau, Anda juga dapat menambahkan kata sandi tambahan untuk melindungi kunci pribadi Anda.

Terakhir, file konfigurasi klien siap untuk diimpor ke Klien VPN.

Unduh perangkat lunak klien OpenVPN.

Instal klien OpenVPN:

Instal klien OpenVPN

Setelah instalasi selesai, kita dapat mengimpor file konfigurasi demouser.ovpn yang dibuat di server OpenVPN, tetapi sebelum mengimpor, kita perlu mengubah alamat IP server OpenVPN kita di file ini:

client
proto udp
explicit-exit-notify
remote 192.168.0.150 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
...

Biasanya, alamat IP jarak jauh default akan menjadi alamat IP publik Anda, yang normal jika Anda memiliki server VPN di jaringan lokal Anda dan memerlukan akses jarak jauh dari luar jaringan itu. Anda dapat membiarkan alamat IP publik dalam konfigurasi, tetapi kemudian Anda harus membuka port yang benar dan mengatur perutean pada titik akses internet Anda.

Impor Profil

Terakhir, kami dapat menguji koneksi VPN. Pertama kali, koneksi mungkin akan gagal karena firewall server OpenVPN Linux memblokir akses. Untuk mengujinya dengan cepat, kita cukup menonaktifkan firewall menggunakan perintah:

# systemctl stop firewalld

Anda juga dapat mengonfigurasi firewall Linux untuk konektivitas OpenVPN:

# sudo firewall-cmd --add-service=openvpn
# sudo firewall-cmd --permanent --add-service=openvpn
# sudo firewall-cmd --add-masquerade
# sudo firewall-cmd --permanent --add-masquerade
# sudo firewall-cmd --permanent --add-port=1194/udp
# sudo firewall-cmd --reload

Sekarang koneksi seharusnya berfungsi:

Koneksi kerja

Pada klien Windows, Anda sekarang juga harus mendapatkan adaptor VPN tambahan yang dikonfigurasi dengan alamat IP default 10.8.0.2 (subnet ini ditentukan dalam file /etc/openvpn/server.conf).

Pengaturan IP Windows

3. Cara menggunakan Radius dengan OpenVPN

Pertama, kita akan menginstal Gerbang Verifikasi Keamanan IBM untuk Radius pada mesin Windows.

Paket ini bisa diunduh dari IBM Security AppExchange (Anda harus menggunakan IBMid Anda untuk masuk).

Keamanan IBM

Ekstrak dan jalankan instalasi menggunakan setup_radius.exe.

Ubah file konfigurasi Radius c:\Program Files\IBM\IbmRadius\IbmRadiusConfig.json:

  • Temukan bagian klien di file konfigurasi.
  • File default berisi tiga contoh definisi klien. Hapus definisi ini dan ganti dengan definisi tunggal di atas.
  • Definisi ini akan cocok dengan semua klien Radius yang terhubung dari jaringan yang digunakan oleh mesin uji. Rahasia mengotentikasi klien.

Simpan file dan tutup editor.

{
	"address":"::",
	"port":1812,
/*
	"trace-file":"c:/tmp/ibm-auth-api.log",
	"trace-rollover":12697600,
*/
	"ibm-auth-api":{
		"client-id":"???????",
		"obf-client-secret":"???????", /* See IbmRadius -obf "the-secret" */
		"protocol":"https",
		"host":"???????.verify.ibm.com",
		"port":443,
		"max-handles":16
	},
	"clients":[
		{
			"name": "OpenVPN",
			"address": "192.168.0.0",
			"mask": "255.255.0.0",
			"secret": "Passw0rd",
			"auth-method": "password-and-device",
			"use-external-ldap": false,
			"reject-on-missing-auth-method": true,
			"device-prompt": "A push notification has been sent to your device:[%D].",
			"poll-device": true,
			"poll-timeout": 60
		}
	] 
}

Isi kolom client-id, obf-client-secret Dan host dengan informasi yang benar untuk menunjuk ke IBM Verify Saas API Anda.

Sebelum kita dapat melakukannya, kita perlu mengonfigurasi akses API di IBM Verify Saas.

Terhubung ke lingkungan Anda atau pilih a akun percobaan jika Anda tidak memilikinya.

Dari menu utama, pilih Keamanan > Akses API > Tambahkan Klien API

Buat klien API baru:

  • Tentukan hak dengan memilih tanda centang dalam daftar:
    • Otentikasi setiap pengguna
    • Baca catatan autentikator untuk semua pengguna
    • Baca pengguna dan grup
    • Baca pendaftaran autentikasi faktor kedua untuk semua pengguna
  • Klik berikutnya pada layar berikut dan terakhir berikan nama ke klien API: misalnya MFA-Client

ID dan rahasia klien akan dibuat secara otomatis untuk Anda. Gunakan informasi ini untuk menyelesaikan pengaturan Radius. Menggunakan c:\Program Files\IBM\IbmRadius\IbmRadius.exe -obf perintah untuk menghasilkan nilai rahasia yang tersembunyi.

Terakhir, konfigurasikan layanan IBM Radius untuk memulai secara otomatis dan memulai layanan:

memulai layanan

Uji Otentikasi Radius Menggunakan Radius alat : NTRAdPing

Anda akan menerima pemberitahuan push pada aplikasi IBM Verify di perangkat seluler.

periksa aplikasi

(Pastikan untuk menguji dengan ID pengguna yang dikenal di IBM Verify Saas dan terdaftar untuk OTP)

4. Instal plugin OpenVPN Radius

  • Sambungkan ke server Linux OpenVPN dan jalankan perintah berikut:
# wget 
# tar -xvf radiusplugin_v2.1a_beta1.tar.gz
# cd radiusplugin_v2.1a_beta1
# yum install libgcrypt libgcrypt-devel gcc-c++
# make

  • Salin file plugin Radius ke /etc/openvpn
# cp /root/radiusplugin_v2.1a_beta1/radiusplugin.cnf /etc/openvpn
# cp /root/radiusplugin_v2.1a_beta1/radiusplugin.so /etc/openvpn

  • Mengedit berkas /etc/openvpn/server.conf dan tambahkan baris berikut untuk mengaktifkan plugin Radius:
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf 

  • Mengedit berkas /etc/openvpn/radiusplugin.cnf dan ubah alamat IP server Radius dan atur rahasia bersama menjadi Passw0rd (ini adalah rahasia yang juga telah dikonfigurasi di sisi server Radius). Pastikan untuk mengatur nonfatalaccounting=true karena server Radius tidak mendukung akuntansi Radius.
...
NAS-IP-Address=<IP Address of the OpenVPN Server>
...
nonfatalaccounting=true
...
Server
{
	# The UDP port for RADIUS accounting.
	acctport=1813
	# The UDP port for RADIUS authentication.
	authport=1812
	# The name or ip address of the RADIUS server.
	name=<IP Address of the RADIUS Server>
	# How many times should the plugin send the if there is no response?
	retry=1
	# How long should the plugin wait for a response?
	wait=60
	# The shared secret.
	sharedsecret=Passw0rd
}

Simpan file dan mulai ulang server OpenVPN menggunakan perintah:

# systemctl restart openserver-server@server.service

  • Terakhir, edit file klien OpenVPN demouser.ovpn dan tambahkan baris auth-user-pass :
client
proto udp
auth-user-pass
explicit-exit-notify
remote 192.168.0.150 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
...

Ini akan memungkinkan pengguna untuk memasukkan nama pengguna dan kata sandi saat membuat koneksi VPN. Kredensial ini akan diautentikasi terhadap direktori IBM Verify Saas, yang akan menghasilkan permintaan pengujian pada aplikasi IBM Verify Mobile. ITU wait=60 akan memungkinkan plugin menunggu tanggapan dari pengguna yang perlu menjawab tantangan menggunakan aplikasi IBM Verify di ponsel mereka.

Jika Anda lebih suka menggunakan tantangan TOTP, Anda dapat mengedit file konfigurasi Radius di Windows (IBMRadiusConfig.jsonIBMRadiusConfig.json) dan atur auth-method Untuk password-and-totp. Kemudian Anda dapat membuka koneksi dan penggunaan VPN klien 123456:password bukan kata sandi normal.