Thursday, March 30, 2017

LDAP Installation

1. Pendahuluan
  • LDAP atau kepanjangan dari Lightweight Directroy Access Protocol adalah protokol untuk mengelola informasi, terkait dengan lokasi terpusat melalui penggunaan hirarki file dan directory.
  • Fungsinya mirip dengan database relasional dengan cara tertentu, dan dapat digunakan untuk mengatur dan menyimpan informasi apapun. LDAP umumnya digunakan untuk otentikasi terpusat.
2. Cara Kerja LDAP
  • Proses otentikasi pengguna proxy server nantinya akan diterapkan untuk membuat pengaksesan proxy server hanya ditujukan pada pengguna yang terdaftar saja. System ini menggunakan model client server, dimana client, dalam hal ini adalah pengguna proxy server, mengirimkan identifier data untuk mengakses proxy kepada server menggunakan protokal LDAP dan TCP/IP, dan server mencarinya pada Directory Information Tree ( DIT ) yang tersimpan pada server. Jika ditemukan hasilnya akan dikirimkan ke client, sehingga client dapat mengakses proxy server dan dapat mengakses sumber daya pada server atau layanan internet, namun bila tidak, maka pengguna tidak akan bisa mengakses proxy server.
3. Latar Belakang
  • Pengaksesan sumber daya pada server umumnya dilakukan dengan menggunakan dua mekanisme. Mekanisme yang pertama, pengguna dapat langsung mengakses sumber daya tersebut tanpa memerlukan proses otentikasi. Sedangkan proses yang kedua, setiap pengguna diharuskan melakukan proses otentikasi agar dapat mengakses sumber daya pada server.
  • Penerapan proses otentikasi pengaksesan sumber daya pada server, dimana proses  otentikasi akan dilakukan oleh proxy server, perlu diimplementasikan, sehingga yang dapat mengakses sumber daya server hanyalah pengguna yang terdaftar saja. Proses ini akan membuat sistem informasi server menjadi lebih aman dan akan memudahkan sistem administraor dalam menentukan privilege bagi pengguna proxy server.
4. Maksud dan Tujuan
  • Memahami apa itu LDAP dan bagaimana cara kerjanya, serta mengetahui installasi, konfigurasi, dan bagaimana cara menambahkan unit organisasi, grup, dan pengguna.
5. Alat dan Bahan
  • OpenLDAP
  • PHPLDAPAdmin
  • PC/Laptop yang sudah terinstall webserver
6. Langkah Kerja 1 (Installasi dan Konfigurasi LDAP)
  • Pastikan terlebih dahulu webserver sudah terinstall dengan benar atau belum, atau masih ada  komponen - komponen webserver yang belum terinstall
  • Untuk meginstallnya, kita bisa menggunakan repository bawaan dari Linuxmint atau Ubuntu kita.
  • Untuk menginstallnya, kita bisa memasukkan perintah:
# apt-get install slapd ldap-utils
  • dengan perintah diatas, maka aplikasi LDAP akan otomatis terinstall, beserta aplikasi - aplikasi dependensi yang dibutuhkan
  • jangan lupa masuk ke superuser, dengan menggunakan perintah sudo su, atau bisa menambahkan sudo didepan perintah tersebut, menjadi sudo apt-get install slapd ldap-utils
  • Lalu kita akan diminta untuk memasukkan dan mengkonfirmasi sandi administrator untuk akun administrator LDAP


  • Setelah installasi selesai, kita harus mengkonfigurasi ulang paket LDAP. untuk mengkonfigurasi ulang LDAP ketikkan perintah:
# dpkg-reconfigure slapd
  • lalu kita akan diberikan beberapa pertanyaan bagaimana kita akan mengkonfigurasi perangkat lunak
  • pada pertanyaan "omit OpenLDAP server configuration", pilih "Tidak"
  • pada konfigurasi "DNS domain name", ini akan membuat struktur dasar pada direktori kita
  • pada pemberian "DNS domain name", tidak ada aturan bagaimana mengkonfigurasinya, jika kita memiliki domain yang aktif pada server kita, kita bisa menggunakannya, namun jika tidak punya, gunakan terserah dengan yang kita inginkan
  • disini saya menggunakan "oxob.net"
  • lalu pada pemberian "Organization name", isikan terserah yang kita inginkan
  • disini saya menggunakan "cl4nstyl3"
  • pada pemberian password, isikan password pada saat kita melakukan installasi, lalu konfirmasi

  • pada pertanyaan "Databasse backend", kita gunakan "HDB"
"Kenapa mengunakan HDB ?, sebenarnya HDB dan BDB menggunakan format penympanan yang sama, tetapi HDB menambahkan dukungan untuk sub rename. Namun, keduanya mendukung opsi konfigurasi yang sama"
  • selanjutnya, pada pertanyaan "Do you want the database to be removed when slapd is purged?", itu maksudnya adalah "Apakah kita ingin menghapus database ketika slapd dibersihkan atau dihapus?", kita pilih "No"
  • lanjut pada pertanyaan berikutnya yaitu "Move old database?" atau "Pindah database yang lama?", kita pilih "Yes"
  • pada pertanyaan terakhir "Allow LDAPv2 protocol?" atau "Izinkan protocol LDAPv2?", kita pilih "Yes" bila teman - teman masih memakai protokol LDAPv2, bila tidak, pilih "No"
  • setelah pertanyaan terakhir di atas, installasi dan konfigurasi LDAP telah selesai, selanjutnya kita akan menginstall PHPLDAPAdmin.
7. Langkah Kerja 2 (Installasi dan Konfigurasi PHPLDAPAdmin)
  • Setelah kita menginstall LDAP, kita perlu mengelola LDAP ini, melalu antarmuka web yang disebut PHPLDAPAdmin. Dan aplikasi ini juga sudah tersedia pada repository bawaan LinuxMint dan Ubuntu
  • kita install dengan memasukkan perintah:
# apt-get install phpldapadmin
  • dengan menggunakan perintah diatas, otomatis akan menginstall aplikasinya dan menginstall PHP web dependensi yang dibutuhkan
  • jangan lupa juga masuk ke superuser, dengan menggunakan perintah sudo su, atau dengan menambahkan sudo didepan perintah tersebut, menjadi sudo apt-get install phpldapadmin
  • lalu edit file config.php yang berada di direktori /etc/phpldapadmin/, dengan memasukkan perintah:
# nano /etc/phpldapadmin/config.php
  • Lalu beberapa baris berikut dan ubah:
  • pada baris berikut ini, ubah menjadi domain atau IP address yang akan kita gunakan untuk me-referensi server kita, karena saya menginstallnya di "localhost", maka kita isi "localhost"
$servers->setValue('server','host','domain_name_or_IP_address');
menjadi
  $servers->setValue('server','host','localhost');

  • pada langkah selanjutnya, kita perlu mencerminkan atau menyamakan nilai DNS yang kita berikan, namun dengan memisahkan masing - masing komponen domain. komponen domain adalah sesuatu yang dipisahkan oleh sebuah titik
  • komponen - komponen ini kemudian diberikan sebagai nilai - nilai untuk atribut "dc" atau biasa disebut "domain component"
  • misalnya kita menggunakan DNS entry saya "oxob.net", maka kita mengkonfigurasikannya dengan"dc=oxob,dc=net"
  • pada baris berikut ini ubah seperti yang telah saya jelaskan di atas
$servers->setValue('server','base',array('dc=example,dc=net'));
menjadi
$servers->setValue('server','base',array('dc=oxob,dc=net'));

  • lalu edit juga baris berikut ini:
$servers->setValue('login','bind_id','cn=admin,'dc=example,dc=com')
menjadi
$servers->setValue('login','bind_id','cn=admin,'dc=oxob,dc=net')
  • lalu kita cari bagian berikut tentang "hide template warning" atau dalam bahasa indonesia "sembunyikan tampilan peringatan", kita ganti kata "false" menjadi "true"
$config->custom->appearance['hide_template_warning']=false;
menjadi
$config->custom->appearance['hide_template_warning']=true;
  • Simpan dengan menggunakan CTRL + X, pilih Yes, lalu enter
  • buka web browser dan akses LDAP kita dengan menggunakan "domain atau alamat IP" di ikuti dengaan "/phpldapadmin", di webbrowser kita
  • misalnya, karena saya menginstallnya di "localhost", maka saya mengetikkan "localhost/phpldapadmin"
  • lalu klik login di sebelah kiri
  • lalu akan muncul prompt login, pada form "Login DN", biasanya sudah terisi otomatis, misalnya saya sudah terisi otomatis dengan "cn=admin,dc=oxob,dc=net"
  • masukkan password yang kita gunakan waktu installasi
  • lalu klik "authenticate"
  • lalu kita bisa melihat di sisi kiri, bila kita mengklik tanda "+", disamping komponen domain (dc=oxob,dc=net), kita akan melihat login admin digunakan.
8. Langkah Kerja 3 (Menambahkan Organisasi, Grup, dan Pengguna)
  • LDAP sebenarnya sangat fleksibel, kita dapat membuat hirarki dan hubungan dalam berbagai cara, tergantung pada jenis informasi yang kita butuhkan dapat diakses dan jenis penggunaan yang kita miliki.
  • Kita akan membuat beberapa struktur dasar untuk informasi kita dan kemudian kita isi dengan informasi.
  • Yang pertama, kita akan mencoba membuat "Organization Unit" atau "Unit Organisasi"
  • kita akan membuat beberapa kategori informasi dimana kita akan menempatkan informasinya. Karena ini konfigurasi dasar, kita hanya perlu dua kategori: disini saya menggunakan nama "cl4nstyl3" dan "z3t4br4nd"
  • pertama, klik pada "create new entry here" link di sisi kiri
  • lalu akan muncul sebuah tampilan yang menampilkan banyak entri yang dapat kita buat
  • karena kita hanya menggunakan ini sebagai struktur organisasi, bukan sebuah entri informasi-berat, maka kita menggunakan "Generic: Organizational Unit"
  • lalu kita akan diminta untuk membuat nama untuk organisasi kita, yang pertama saya masukkan "cl4nstyl3"
  • kemudian kita diberikan pertanyaan "apakah kita perlu melakukan perubahan?" kita ikuti saja, dengan klik "commit", lalu "update"
  • setelah kita selesai, maka kita akan melihat entri baru di bagian kiri
  • lalu kita bisa menambahkan satu lagi unit organisasi yaitu "z3t4br4nd" dengan melakukan hal yang sama seperti diatas
  • setelah kita sudah membuat unit organisasi, kita harus membuat isi dari unit organisasi tersebut, yaitu "grup" atau "kelompoknya" dan "user account" atau "penggunannya"
  • disini saya akan menambahkan tiga "grup" pada pada unit organisasi "cl4nstyl3" dan tiga "user account" pada unit organisasi "z3t4br4nd"
  • klik saja pada entry "cl4nstyl3", lalu akan muncul sebuah tampilan
  • kita klik "Create a child entry"
  • lalu kita pilih "Generic: Posix Group"
  • lalu kita isi "Group"-nya terserah, disini saya menggunakan nama "0x0b03"
  • lalu klik "Create Object"
  • klik "commit", lalu "update"
 


 
  • kita bisa melihat sebuah entry baru, yaitu sebuah grup "0x0b03" dari unit organisasi "cl4nstyl3"

  • untuk membuatnya lagi sampai tiga nama "Group", kita tinggal mengulangi caranya, dan mengganti nama "Group"nya
 
  • kita bisa melihat gambaran dari entri dalam kategori "ou=cl4nstyl3" dengan mengklik entri tersebut, setelah itu klik "view 3 children"
  • setelah itu kita bisa mencoba untuk membuat sebuah "user" atau "pengguna" untuk dimasukkan ke dalam "group" yang telah kita buat
  • kita mulai dengan mengklik "ou=z3t4br4nd", lalu klik "Create a child entry"



  • lalu akan muncul sebuah tampilan yang berisi banyak kategori entry, kita pilih "Generic: User Account"
  • lalu kita akan di beri banyak bidang untuk kita isi
  • isi semua entri dengan informasi yang masuk akal bagi "user" atau "pengguna" kita
  • perlu diingat adalah bahwa "Common Name" harus unik untuk setiap entri dalam kategori. Jadi, Anda mungkin harus menggunakan format nama bukan default "FirstName LastName" yang otomatis diberikan.
  • lalu kita klik "Create Object" di bagian bawah


  • lalu akan muncul sebuah tampilan dan kita harus mengkonfirmasi pada bagian ini
  • kita bisa membuat pengguna tambahan dengan menyalin entri tersebut
  • klik saja pada "user account" atau "pengguna" yang baru saja kita buat panel sebelah kiri, lalu klik "copy or move this entry"
  • lalu kita hanya mengubah "cn=wahid oxob" misalnya pada bagian entri yang menunjuk ke "cn" atau "common name", kita ganti dengan nama baru misalnya "wahid fox"
  • lalu kita klik "copy"
  • lalu akan muncul halaman berikutnya, kita isi dengan "user account" yang pertama kita buat
  • kita perlu menyesuaikan dan mecocokkan informasi "user account" baru dan pastikan juga untuk menyesuaikan "uidNumber"
  • klik "Create Object" pada bagian bawah
  • setelah kita sukses menambahkan "user account" ke sebuah "grup", kita akan mencoba membuat "Users to Group" ke sebuah "Group" juga
  • kita klik pada sebuah "Group" pada "Organization Unit" yang pertama, yaitu punya saya "0x0b03"
  • kita klik, lalu pada panel utama, kita klik "Add new attribute"
  • pada sebuah sebuah kotak di samping tulisan "Add attribute", klik untuk menampilkan menu "drop down", lalu pilih "memberUid"
  • lalu masukkan "user" pertama yang ingin kita masukkan, misalnya saya isi dengan nama "p3nggun4"
  • lalu klik "update object"
  • kemudian kita bisa menambahkan lebih banyak anggota dengan mengklik "modify group members" dan memilih pilihan yang tersedia

9. Kesimpulan
  • Setelah saya mencoba melakukan install, konfigurasi, dan mengatur beberapa "user" dan "group", saya merasa masih dapat memperluas informasi dan menambahkan semua struktur organisasi yang berbeda.
  • Saya juga akan mencoba "bagaimana untuk otentikasi menggunakan kredensial LDAP untuk layanan server"
10. Referensi
Load disqus comments

0 komentar