Instalasi OpenLDAP di Ubuntu 24.04

Seperti yang rekan-rekan tahu, salah satu aplikasi yang sering saya tangani adalah email server Zimbra. Email server Zimbra ini merupakan kolaborasi dari beberapa sofware open source, salah satu main service dari Zimbra adalah OpenLDAP, yang bertugas untuk menyimpan semua konfigurasi email server, informasi profil akun sampai dengan fungsi mendasar yaitu autentikasi username & password user saat login.

Pada dasarnya Lightweight Directory Access Protocol (LDAP) sebenarnya mirip database karena isinya data-data juga, namun bukan database-database yang kita tahu seperti SQL yang kompleks karena tidak memiliki kemampuan relasional untuk me-referensikan data satu dengan data lainnya secara langsung. Meskipun demikian, LDAP ini sangat optimal dan ringan (Seperti namanya, Lightweight), struktur datanya simpel sekali, dalam bentuk pohon (tree), mirip hirarki filesystem Linux, contohnya seperti ini (Ini contoh saja ya, naming convention sebenarnya di LDAP bukan seperti ini):

  • config
    • uid=user1
      • tipe=personal
      • name=User 1
      • password=rahasia_user1
    • uid=group2
      • tipe=group
      • name=Group 2
      • member=user1
      • member=user3
    • uid=user3
      • tipe=persoonal
      • name=User 3
      • password=rahasia_user3

Aplikasi yang juga menggunakan konsep LDAP ini adalah Active Directory (AD) milik Microsoft, namun sepertinya directory service AD agak lebih kompleks (Tidak sekompleks aplikasi database SQL, namun lebih kompleks daripada LDAP) karena sudah dikembangkan oleh Microsoft supaya lebih optimal digunakan pada sistem operasi Windows.

Nah dikarenakan binary Zimbra sudah include dengan instalasi serta konfigurasi OpenLDAP secara otomatis, jadi saya belum pernah melakukan instalasi OpenLDAP from scratch :D, padahal ada beberapa request layanan LDAP namun tanpa Zimbra. Umumnya request ini muncul karena ada kebutuhan untuk membuat layanan Single Sign-on (SSO). Dengan SSO, beberapa aplikasi yang berbeda bisa login menggunakan autentikasi yang sama, mengacu dari data username & password pada LDAP

Kali ini saya akan share cara untuk melakukan instalasi OpenLDAP from scratch pada sistem operasi Linux Ubuntu 24.04OpenLDAP ini ringan sehingga untuk uji coba ini kita hanya perlu VM/server dengan spesifikasi minimal sebagai berikut:

  • vCPU: 1
  • RAM: 2 GB
  • Disk: 25 GB

Persiapan

  • Sesuaikan hostname menggunakan domain yang valid dengan perintah berikut:
    # hostnamectl set-hostname openldap.excellent.co.id
    # hostname
    openldap.excellent.co.id
    # hostname -s
    openldap
    # hostname -d
    excellent.co.id
    
  • Sesuaikan file /etc/hosts dengan hostname & IP address server:
    127.0.0.1 localhost
    192.168.6.2 openldap.excellent.co.id openldap

Instalasi OpenLDAP

  • Instalasi package slapd & ldap-utils dengan perintah berikut:
    # apt install slapd ldap-utils -y
  • Masukan password baru untuk akun admin LDAP:

Konfigurasi Root Domain / Base DN (Opsional)

Sebagai directory service, LDAP membutuhkan root domain atau dianggap sebagai Base DN (Distinguished Name), yaitu struktur awal dari hirarki data LDAP. Tanpa adanya root domain, sistem tidak akan ada semacam guidance untuk melakukan query maupun penyimpanan data user LDAP.

Format root domain di LDAP umumnya menggunakan komponen domain (dc). Sebagai contoh, jika domain yang digunakan adalah excellent.co.id, maka formatnya menjadi dc=excellent,dc=co,dc=id. Secara default, saat proses konfigurasi, OpenLDAP akan mengambil nilai dari domain hostname (hostname -d) yang terpasang pada server. Dalam case ini, saya menggunakan server dengan hostname openldap.excellent.co.id, sehingga OpenLDAP secara otomatis akan mengusulkan dc=excellent,dc=co,dc=id sebagai basis direktorinya.

Namun, apabila rekan-rekan hendak menggunakan root domain yang berbeda dengan domain hostname, rekan-rekan bisa melakukan langkah-langkah berikut:

  • Reconfigure package slapd dengan perintah berikut:
    # dpkg-reconfigure slapd
  • Pilih No

  • Masukan domain yang akan dijadikan base DN

  • Masukan nama perusahaan jika ada
  • Masukan password admin LDAP
  • Pilih Yes

  • Pilih Yes

Proses rename domain ini harus dilakukan di awal setelah melakukan instalasi package, karena jika dilakukan saat OpenLDAP sudah digunakan, maka semua data LDAP akan terhapus.

Pengecekan OpenLDAP

Jika instalasi serta konfigurasi Base DN sudah dilakukan, selanjutnya adalah melakukan pengecekan OpenLDAP berikut:

  • Melakukan pengecekan configuration tree:
    # ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
    dn: cn=config
    dn: cn=module{0},cn=config
    dn: cn=schema,cn=config
    dn: cn={0}core,cn=schema,cn=config
    dn: cn={1}cosine,cn=schema,cn=config
    dn: cn={2}nis,cn=schema,cn=config
    dn: cn={3}inetorgperson,cn=schema,cn=config
    dn: olcDatabase={-1}frontend,cn=config
    dn: olcDatabase={0}config,cn=config
    dn: olcDatabase={1}mdb,cn=config
  • Melakukan pengecekan semua data LDAP:
    # ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config | head
    dn: cn=config
    objectClass: olcGlobal
    cn: config
    olcArgsFile: /var/run/slapd/slapd.args
    olcLogLevel: none
    olcPidFile: /var/run/slapd/slapd.pid
    olcToolThreads: 1
    
    dn: cn=module{0},cn=config
    objectClass: olcModuleList
    ....
    ....
  • Memastikan password LDAP admin sudah sesuai:
    # ldapwhoami -x -D cn=admin,dc=excellent,dc=co,dc=id -W
    Enter LDAP Password: (Masukkan password LDAP admin)
    dn:cn=admin,dc=excellent,dc=co,dc=id

Apabila proses pengecekan yang dilakukan berhasil, berarti OpenLDAP sudah siap digunakan untuk menyimpan data-data user. Apabila rekan-rekan mengalami kesulitan atau ada kebutuhan konfigurasi LDAP, Excellent menyediakan layanan implementasi LDAP dan sudah mencakup instalasi & pengecekan diatas. Bagi rekan-rekan yang berminat untuk jasa layanan tersebut bisa langsung kontak & tanya-tanya ke email sales@excellent.co.id.

Leave a Reply

Your email address will not be published. Required fields are marked *