Langsung ke konten utama

Otentikasi OpenVPN Menggunakan Username & Password (All hail OpenVPN!)



Sebelumnya telah saya post banyak artikel yang berkaitan dengan OpenVPN. Nah kali ini saya akan membagikan cara bagaimana menggunakan OpenVPN tanpa harus menggunakan client certificate melainkan menggunakan username & password.


Pada beberapa kasus, OpenVPN client diharuskan untuk menggunakan client certificate. Selain sebagai alasan keamanan, client certificate juga dimaksudkan sebagai common name (semacam identitas host). Namun kebanyakan implementasi, client certificate jarang digunakan dikarenakan sangat merepotkan (harus generate setiap client cerfitiface kemudian meng-embed-nya pada file konfigurasi). Beberapa service provider yang menawarkan konektifitas OpenVPN memilih untuk menggunakan username & password sebagai metode otentikasinya. Selain keamanannya tetap terjaga, distribusi file konfigurasi tidak terlalu rumit. So, bagaimana caranya?


Prerequisite
Dapat membangun jaringan OpenVPN (OpenVPN server dan OpenVPN client sudah terhubung). Silahkan lihat di SINI.


Let's configure (Server)
Pada dasarnya yang harus dikonfigurasi cukup sederhana. Jika anda mengikuti tutorial sebelumnya, pasti anda tidak asing dengan konfigurasi berikut. Silahkan buka dahulu konfigurasi OpenVPN server (/etc/openvpn/<nama_konfig>.conf).

topology subnet
server 10.20.30.0 255.255.255.0
proto tcp-server
dev tun
port 700
client-config-dir ccd
client-to-client

keepalive 3 10

ca ca.crt
key server.key
cert server.crt
dh dh1024.pem

auth SHA1
cipher AES-128-CBC

user nobody
group nogroup
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
client-cert-not-required
username-as-common-name

persist-key
persist-tun

verb 1


Keterangan
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login: Digunakan untuk memanggil plugin yang berisi library OpenVPN. Library tersebut berfungsi untuk menghubungkan metode autentikasi pada PAM (Pluggable Authentication Modules) dengan OpenVPN. Sehingga OpenVPN client dapat melakukan autentikasi menggunakan username & password server (Linux).
client-cert-not-required: Adalah sebuah perintah yang menyatakan bahwa untuk terhubung dengan server, server tidak perlu menanyakan client certificate.
username-as-common-name: Masih ingat common name? Username yang digunakan untuk autentikasi akan digunakan sebagai common name juga.


Let's connect (client)
Untuk file konfigurasi OpenVPN (*.ovpn), silahkan gunakan script berikut:

client
dev tun
proto tcp
remote <alamat> <port>
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ns-cert-type server
cipher AES-128-CBC
auth SHA1
verb 1
auth-user-pass


Keterangan
auth-user-pass: Menyatakan jika autentikasi yang akan digunakan client adalah metode username & password. Jika perintah ini tidak tuliskan, maka OpenVPN server tidak akan pernah menanyakan password

RouterOS client
Jika anda perhatikan pada saat membuat interface OpenVPN ada kolom certificate. Certificate itu digunakan memanggil client certificate yang sudah dibuat oleh server. Bagaimana jika kita tidak menggunakan client certificate? Ya Cukup dikosongin saja.


Image source:
https://www.vpngate.net/en/howto_openvpn.aspx

Komentar

Postingan populer dari blog ini

Hubungan Manis antara Conan Edogawa dan Haibara Ai.

( Hubungan Manis antara Conan Edogawa dan Haibara Ai)  Halo para Conaners, tahu kenyataan unik nggak. Ternyata Haibara Ai tuh demen lho sama Conan Edogawa. Tapi dia berusaha menyembunyikannya lantaran dia udah tau kalo Conan (Shinichi) tuh suka dan cinta sama Ran. Haibara yang kita ketahui mempunyai kepribadian dingin ini, tak gampang putus asa nih buat nunjukin kegigihannya untuk mendapatkan perhatian dari Conan. Yuk kita lihat, usaha apa saja yang dilakukan Haibara untuk menaklukan Conan :

Live Streaming ke Banyak Media Sosial

Beberapa dekade terakhir, banyak sekali para gamer yang "nyambi" cari uang dengan melakukan live stream di media sosial terutama Facebook. Sebenarnya saya juga mulai kesel karena para fans live streamer sering membagikan live streaming-nya ke grup Facebook. Sehingga grup Facebook yang awalnya diperuntukkan sebagai media diskusi malah jadi ajang pencarian views. Spam dan annoying banget.

Instalasi FreeRADIUS ft. daloRADIUS | [UPDATE - Study case pada Debian Buster]

NOTE: Artikel ini telah mengalami perubahan. Sebelumnya, versi sistem operasi yang saya gunakan adalah Debian Wheezy. Dengan menggunakan Debian Buster beberapa versi package  juga ikut berubah. Update package akan saya beri warna font merah Remote Authentication Dial-In User Service atau sering disebut dengan RADIUS adalah sebuah protokol jaringan yang melayani administrasi pengguna dalam penggunaan jaringan secara terpusat. Aspek pelayanan yang diberikan meliputi  Authetication, Authorization dan Accounting  yang kemudian disingkat AAA atau triple A . RADIUS akan sangat dibutuhkan oleh provider skala besar, misalkan  Internet Service Provider (ISP) . Untuk platform MikroTik, RADIUS sering dikenal dengan userman ( user manager ) karena tugasnya memang manajemen pengguna.