Di era kerja jarak jauh dan administrasi sistem modern, akses ke jaringan internal harus tetap aman meskipun dilakukan dari luar kantor atau sekolah. Salah satu solusi yang banyak digunakan adalah menggabungkan OpenVPN dengan LDAP Authentication sehingga proses login VPN dapat menggunakan akun terpusat yang sama dengan layanan lainnya.
Pada artikel ini kita akan membangun solusi Secure Remote Access menggunakan OpenVPN dan OpenLDAP berdasarkan skenario infrastruktur enterprise yang digunakan pada LKS IT Network System Administration (ITNSA) 2025.
Gambaran Topologi Infrastruktur
Implementasi ini menggunakan beberapa server dengan fungsi yang berbeda:
- FW-SRV sebagai Firewall dan VPN Server
- INTERNAL-SRV sebagai DNS Server, LDAP Server, Certificate Authority, dan Ansible Controller
- MAIL-SRV sebagai Mail Server dan Webmail
- WEB01 dan WEB02 sebagai Web Server
- HAProxy dan Keepalived untuk High Availability
- ANI-CLIENT sebagai VPN Client
Diagram autentikasi pengguna:
VPN Client
|
v
OpenVPN Server (FW-SRV)
|
v
LDAP Authentication
(INTERNAL-SRV)
|
v
LDAP Directory
|
+---- User Valid
| |
| v
| VPN Access Granted
|
+---- User Invalid
|
v
Access Denied
Mengapa Mengintegrasikan OpenVPN dengan LDAP?
Pada konfigurasi OpenVPN standar, setiap pengguna biasanya memiliki akun atau sertifikat yang dikelola secara terpisah.
Ketika jumlah pengguna meningkat, proses administrasi menjadi lebih kompleks.
LDAP memberikan beberapa keuntungan:
- Sentralisasi autentikasi pengguna
- Pengelolaan akun lebih mudah
- Integrasi dengan layanan lain
- Mendukung Single Sign-On
- Audit dan monitoring lebih sederhana
- Skalabilitas lebih baik
Persiapan Infrastruktur OpenVPN
Pada topologi LKS ITNSA 2025, OpenVPN ditempatkan pada server FW-SRV yang juga berfungsi sebagai firewall jaringan.
Alamat jaringan yang digunakan:
- Network Client : 192.168.10.0/24
- Network Internal : 10.11.10.0/29
- Network Server Farm : 10.12.10.0/29
- VPN Network : 10.15.15.0/24
Instalasi OpenVPN pada Debian
Instal paket OpenVPN dan Easy-RSA:
apt update
apt install openvpn easy-rsa openvpn-dco-dkms -y
Selanjutnya buat Public Key Infrastructure (PKI) menggunakan Easy-RSA.
make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
Inisialisasi PKI:
./easyrsa init-pki
Membuat Certificate Authority:
./easyrsa build-ca nopass
Membuat sertifikat server VPN:
./easyrsa build-server-full fw-srv nopass
Membuat sertifikat client:
./easyrsa build-client-full ani-client nopass
Konfigurasi OpenVPN Server
File konfigurasi utama:
nano /etc/openvpn/server.conf
Parameter penting:
port 1194
proto udp
dev tun
server 10.15.15.0 255.255.255.0
push "route 10.11.10.0 255.255.255.248"
push "route 10.12.10.0 255.255.255.248"
push "dhcp-option DNS 10.11.10.2"
cipher AES-256-GCM
topology subnet
keepalive 10 120
persist-key
persist-tun
Konfigurasi ini memungkinkan client VPN mengakses seluruh resource internal setelah berhasil login.
Instalasi dan Konfigurasi LDAP Server
LDAP ditempatkan pada INTERNAL-SRV yang juga berfungsi sebagai DNS Server dan Certificate Authority.
Instalasi:
apt install slapd ldap-utils
Konfigurasi domain LDAP:
Domain :
ldap.itnsa2025-smk4.net
Base DN :
dc=ldap,dc=itnsa2025-smk4,dc=net
Setelah instalasi selesai, lakukan verifikasi:
ldapsearch -x
Membuat Struktur Organisasi LDAP
Contoh struktur direktori:
dc=ldap,dc=itnsa2025-smk4,dc=net
|
+-- ou=internal
|
+-- uid=walid
+-- uid=siti
+-- uid=adminvpn
Setiap akun pada OU internal nantinya dapat digunakan untuk login ke VPN.
Integrasi OpenVPN dengan LDAP Authentication
Instal plugin LDAP:
apt install openvpn-auth-ldap -y
Buat konfigurasi LDAP OpenVPN:
nano /etc/openvpn/auth-ldap.conf
Isi konfigurasi:
<LDAP>
URL ldap://10.11.10.2
BindDN cn=admin,dc=ldap,dc=itnsa2025-smk4,dc=net
Password password_admin_ldap
Timeout 15
TLSEnable no
FollowReferrals no
</LDAP>
<Authorization>
BaseDN "ou=internal,dc=ldap,dc=itnsa2025-smk4,dc=net"
SearchFilter "uid=%u"
RequireGroup false
</Authorization>
Mengaktifkan LDAP Authentication pada OpenVPN
Edit:
nano /etc/openvpn/server.conf
Tambahkan:
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert none
username-as-common-name
Restart layanan:
systemctl restart openvpn
Pengujian Login VPN Menggunakan Akun LDAP
Pada sisi client:
- Import file konfigurasi VPN.
- Import CA Certificate.
- Hubungkan menggunakan OpenVPN Client.
- Masukkan username dan password LDAP.
Contoh:
Username : walid
Password : ********
Alur autentikasi:
Client VPN
|
+--> Username & Password
|
v
OpenVPN Server
|
+--> LDAP Query
|
v
LDAP Server
|
+--------+--------+
| |
Valid Invalid
| |
v v
VPN Connected Access Denied
Implementasi pada Lingkungan Enterprise
Keunggulan pendekatan ini:
- User VPN menggunakan akun LDAP yang sama dengan Webmail
- Mudah diintegrasikan dengan Web Authentication
- Mendukung otomatisasi melalui Ansible
- Skalabel untuk ratusan pengguna
- Mempermudah audit keamanan
Best Practice Keamanan
Gunakan LDAPS
Hindari penggunaan LDAP tanpa enkripsi.
Terapkan Password Policy
- Minimal 12 karakter
- Kombinasi huruf besar dan kecil
- Angka
- Simbol
Batasi Berdasarkan Group LDAP
Misalnya:
- vpn-admin
- vpn-guru
- vpn-siswa
Aktifkan Logging
journalctl -u openvpn
Kesimpulan
Integrasi OpenVPN dengan LDAP Authentication memberikan solusi secure remote access yang aman, terpusat, dan mudah dikelola. Dengan memanfaatkan LDAP sebagai pusat identitas pengguna, administrator dapat mengelola akses VPN, webmail, web server, dan layanan lainnya melalui satu direktori autentikasi.
Pendekatan ini sangat cocok diterapkan pada sekolah, kampus, instansi pemerintah, maupun perusahaan yang membutuhkan sistem akses jarak jauh yang aman dan scalable.