LDAP adalah singkatan dari Lightweight Directory Access Protocol.
LDAP adalah solusi untuk mengakses informasi yang disimpan secara terpusat melalui jaringan. Informasi yang disimpan secara terpusat ini diatur dalam direktori yang mengikuti standar X.500.
Informasi disimpan dan diatur secara hierarkis dan keuntungan dari pendekatan ini adalah informasi dapat dikelompokkan ke dalam wadah dan klien dapat mengakses wadah ini kapan pun diperlukan.
Hirarki OpenLDAP hampir mirip dengan hierarki DNS.
Berikut ini adalah dua objek yang paling umum digunakan di OpenLDAP:
- cn (nama umum) – Ini mengacu pada entri daun, yang merupakan objek akhir (misalnya:pengguna dan grup)
- dc (komponen domain) – Ini merujuk ke salah satu entri penampung dalam hierarki LDAP. Jika dalam penyiapan hierarki LDAP dipetakan ke hierarki DNS, biasanya semua domain DNS disebut sebagai objek DC.
Misalnya, jika ada pengguna dalam hierarki sam.thegeekstuff.com, nama lengkap pengguna ini disebut sebagai cn=sam, dc=thegeekstuff, dc=com. Jika Anda perhatikan di FDN (nama yang sepenuhnya dibedakan), koma digunakan sebagai pemisah dan bukan titik, yang umum di DNS.
Dengan menggunakan jenis entri LDAP yang berbeda, Anda dapat menyiapkan struktur direktori hierarkis. Inilah alasan mengapa openLDAP begitu banyak digunakan. Anda dapat dengan mudah membangun hierarki openLDAP tempat objek di lokasi lain dengan mudah dirujuk tanpa menyimpannya di server lokal. Hal ini membuat OpenLDAP menjadi direktori yang ringan, terutama jika dibandingkan dengan server direktori lain seperti direktori Active Microsoft.
Sekarang mari kita lihat cara menyiapkan satu instance server LDAP yang dapat digunakan oleh banyak klien di jaringan Anda untuk autentikasi.
Instal Paket OpenLDAP
Pada CentOS dan RedHat, gunakan yum install seperti yang ditunjukkan di bawah ini, untuk menginstal paket terkait openldap.
yum install -y openldap openldap-clients openldap-servers
Anda harus menginstal tiga paket berikut:
- openldap-servers – Ini adalah server LDAP utama
- openldap-clients – Ini berisi semua utilitas klien LDAP yang diperlukan
- openldap – Paket ini berisi pustaka dukungan LDAP
File Konfigurasi LDAP
- config.ldif – Konfigurasi default LDAP disimpan di bawah file di /etc/openldap/slapd.d/cn=config.ldif yang dibuat dalam format LDIF. Ini adalah LDAP Input Format (LDIF), format khusus yang memungkinkan Anda memasukkan informasi ke dalam direktori LDAP.
- olcDatabase{2}bdb.ldif – Anda juga dapat mengubah pengaturan seperti jumlah koneksi yang dapat didukung server, batas waktu, dan pengaturan basis data lainnya di bawah file /etc/openldap/slapd.d/cn=config/olcDatabase{2 }bdb.ldif. Ini adalah file yang juga berisi parameter seperti pengguna root LDAP dan DN dasar.
Buat Akun olcRootDN sebagai Admin
Selalu disarankan untuk membuat akun pengguna khusus terlebih dahulu dengan izin penuh untuk mengubah informasi di database LDAP.
Ubah file olcDatabase={2}bdb.ldif, dan ubah entri olcRootDN. Berikut ini adalah entri default.
# grep olcRootDN /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif olcRootDN: cn=Manager,dc=my-domain,dc=com
Ubah baris di atas menjadi pengguna admin. Dalam contoh ini, pengguna “ramesh” akan menjadi olcRootDN.
olcRootDN: cn=ramesh,dc=thegeekstuff,dc=com
Buat Kata Sandi Root olcRootPW
Sekarang gunakan perintah slappasswd untuk membuat hash untuk kata sandi root yang ingin Anda gunakan. Setelah kata sandi dibuat, buka file cn=config.ldif, sertakan parameter olcRootPW, dan salin kata sandi hash seperti yang ditunjukkan di bawah ini.
Jalankan perintah berikut dan tentukan kata sandi. Ini akan menghasilkan hash untuk kata sandi yang diberikan.
# slappasswd New password: SecretLDAPRootPass2015 Re-enter new password: SecretLDAPRootPass2015 {SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6
Ambil hash output dari perintah di atas dan tambahkan ke parameter oclRootPW di file config.ldif seperti gambar di bawah ini.
# vi /etc/openldap/slapd.d/cn=config.ldif olcRootPW: {SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6
Buat Nama Domain olcSuffix
Sekarang setup olcSuffix dan untuk mengatur domain yang Anda inginkan. Cukup ubah baris yang dimulai dengan olcSuffix di file olcDatabase={2}bdb.ldif seperti yang ditunjukkan di bawah ini.
# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif olcSuffix: dc=thegeekstuff,dc=com
Verifikasi File Konfigurasi
Gunakan perintah slaptest untuk memverifikasi file konfigurasi seperti yang ditunjukkan di bawah ini. Ini akan menampilkan pesan “pengujian berhasil” seperti yang ditunjukkan di bawah ini.
# slaptest -u config file testing succeeded
Anda mungkin mendapatkan pesan berikut selama perintah di atas, yang dapat Anda abaikan untuk saat ini.
54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif" 54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif"
Mulai Server LDAP
Mulai server ldap seperti yang ditunjukkan di bawah ini.
# service slapd start Checking configuration files for slapd: [WARNING] config file testing succeeded Starting slapd: [ OK ]
Verifikasi Penelusuran LDAP
Untuk memverifikasi bahwa server ldap berhasil dikonfigurasi, Anda dapat menggunakan perintah di bawah ini dan memverifikasi bahwa entri domain ada.
# ldapsearch -x -b "dc=thegeekstuff,dc=com" # extended LDIF # # LDAPv3 # base <dc=thegeekstuff,dc=com> with scope subtree # filter: (objectclass=*) # requesting: ALL # # search result search: 2 result: 32 No such object # numResponses: 1
Struktur LDAP Dasar di base.ldif
Penggunaan objek OU (unit organisasi) dapat membantu Anda dalam memberikan struktur tambahan ke database LDAP. Jika Anda berencana untuk menambahkan jenis entri yang berbeda, seperti pengguna, grup, komputer, printer, dan lainnya ke direktori LDAP, akan lebih mudah untuk menempatkan setiap jenis entri ke dalam wadahnya sendiri.
Untuk membuat OU ini, Anda dapat membuat file LDIF awal seperti yang ditunjukkan pada contoh di bawah ini. Dalam contoh ini, file ini memungkinkan Anda membuat wadah dasar yaitu dc=thegeekstuff,dc=com dan membuat dua unit organisasi dengan nama pengguna dan grup dalam wadah tersebut.
# cat base.ldif dn: dc=thegeekstuff,dc=com objectClass: dcObject objectClass: organization o: thegeekstuff.com dc: thegeekstuff dn: ou=users,dc=thegeekstuff,dc=com objectClass: organizationalUnit objectClass: top ou: users dn: ou=groups,dc=thegeekstuff,dc=com objectClass: organizationalUnit objectClass: top ou: groups
Impor Struktur Dasar Menggunakan ldapadd
Sekarang kita dapat mengimpor struktur dasar ke direktori LDAP menggunakan perintah ldapadd seperti yang ditunjukkan di bawah ini.
# ldapadd -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -f base.ldif Enter LDAP Password: adding new entry "dc=thegeekstuff,dc=com" adding new entry "ou=users,dc=thegeekstuff,dc=com" adding new entry "ou=groups,dc=thegeekstuff,dc=com"
Verifikasi Struktur Dasar menggunakan ldapsearch
Untuk memverifikasi bahwa OU berhasil dibuat, gunakan perintah ldapsearch berikut.
# ldapsearch -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -b "dc=thegeekstuff,dc=com" "(objectclass=*)" Enter LDAP Password:
Output dari perintah di atas akan menampilkan semua objek dalam struktur direktori LDAP.
# extended LDIF # # LDAPv3 # base <dc=thegeekstuff,dc=com> with scope subtree # filter: (objectclass=*) # requesting: ALL # # thegeekstuff.com dn: dc=thegeekstuff,dc=com objectClass: dcObject objectClass: organization o: thegeekstuff.com dc: thegeekstuff # users, thegeekstuff.com dn: ou=users,dc=thegeekstuff,dc=com objectClass: organizationalUnit objectClass: top ou: users # groups, thegeekstuff.com dn: ou=groups,dc=thegeekstuff,dc=com objectClass: organizationalUnit objectClass: top ou: groups # search result search: 2 result: 0 Success # numResponses: 4 # numEntries: 3
Di artikel OpenLDAP berikutnya, kami akan menjelaskan cara menambahkan pengguna dan grup baru ke Direktori LDAP.