Kamis, 22 November 2012

Ulasan LDAP


1.1 Apa LDAP?

LDAP adalah protokol client-server untuk mengakses layanan direktori. Pada awalnya digunakan sebagai front end-to X.500, tetapi juga dapat digunakan dengan jenis berdiri sendiri dan lainnya dari server direktori.

1.2 Apa itu Layanan Direktori?

Direktori adalah sama dengan database, tetapi cenderung mengandung lebih deskriptif, atribut berbasis informasi. Informasi dalam direktori umumnya banyak membaca lebih sering daripada yang tertulis. Akibatnya, direktori biasanya tidak melaksanakan transaksi yang rumit atau roll-kembali skema yang biasa digunakan database untuk melakukan volume tinggi update kompleks. Update Direktori biasanya sederhana perubahan semua-atau-tidak, jika mereka diizinkan sama sekali.
Direktori adalah menantikan untuk memberikan respon cepat untuk volume tinggi lookup atau operasi pencarian. Mereka mungkin memiliki kemampuan untuk mereplikasi informasi secara luas dalam rangka meningkatkan ketersediaan dan kehandalan, sambil mengurangi waktu respon. Ketika informasi direktori direplikasi, sementara inkonsistensi antara replika mungkin OK, asalkan mereka bisa masuk sync akhirnya.
Ada banyak cara yang berbeda untuk menyediakan layanan direktori. Metode yang berbeda memungkinkan berbagai jenis informasi yang akan disimpan di direktori, menempatkan kebutuhan yang berbeda tentang bagaimana informasi yang dapat direferensikan, dipertanyakan dan diperbaharui, bagaimana dilindungi dari akses yang tidak sah, dll Beberapa jasa direktori lokal, menyediakan layanan untuk terbatas konteks (misalnya, layanan jari pada mesin tunggal). Layanan lain adalah global, memberikan pelayanan kepada konteks yang lebih luas.

1.3 Bagaimana cara kerja LDAP?

Layanan direktori LDAP didasarkan pada model client-server. Satu atau lebih server LDAP berisi data yang membentuk pohon direktori LDAP atau database backend LDAP. Klien LDAP terhubung ke server LDAP dan meminta pertanyaan itu. Server merespon dengan jawaban, atau dengan pointer ke mana klien bisa mendapatkan informasi lebih lanjut (biasanya, server lain LDAP). Tidak peduli yang LDAP client server yang terhubung ke, ia melihat pandangan yang sama dari direktori, nama disampaikan kepada salah satu referensi server LDAP entri yang sama itu akan di lain server LDAP. Ini merupakan fitur penting dari layanan direktori global, seperti LDAP.

1,4 LDAP backends, objek dan atribut

Slapd dilengkapi dengan tiga database backend yang berbeda Anda dapat memilih dari. Mereka adalah ldbm, database kinerja tinggi berbasis disk, SHELL, antarmuka database untuk perintah UNIX sewenang-wenang atau script shell, dan PASSWORD, database password sederhana file.
Dalam dokumen ini saya berasumsi bahwa Anda memilih database ldbm.
Database ldbm bekerja dengan menetapkan pengenal empat-byte kompak unik untuk setiap entri dalam database. Ia menggunakan pengenal ini untuk merujuk ke entri dalam indeks. Database terdiri dari satu file indeks utama, yang disebut id2entry, yang memetakan dari identifier unik entri ini (EID) ke representasi teks dari entri itu sendiri. File indeks lainnya dipelihara juga.
Untuk impor dan ekspor informasi direktori LDAP antara server berbasis direktori, atau untuk menggambarkan satu set perubahan yang akan diterapkan ke direktori, format file yang dikenal sebagai LDIF, Format Data Interchange LDAP, biasanya digunakan. Sebuah file LDIF menyimpan informasi dalam berorientasi obyek hierarki entri. Paket perangkat lunak LDAP Anda akan mendapatkan dilengkapi dengan utilitas untuk mengkonversi file ke format LDIF ldbm
Sebuah file LDIF yang umum terlihat seperti ini:
 dn: o = TUDelft, c = NL
 o: TUDelft
 objectclass: Organisasi
 dn: cn = Luiz Malere, o = TUDelft, c = NL
 cn: Luiz Malere
 sn: Malere
 mail: malere@yahoo.com
 objectclass: orang
Seperti yang Anda lihat setiap entri secara unik diidentifikasi oleh nama dibedakan, atau DN. DN terdiri dari nama entri ditambah jalan menelusuri nama entri kembali ke puncak hirarki direktori.
Dalam LDAP, kelas objek mendefinisikan koleksi atribut yang dapat digunakan untuk mendefinisikan entri. Standar LDAP menyediakan jenis dasar kelas objek:
  • Grup dalam direktori, termasuk unordered daftar objek individu atau kelompok benda.
  • Lokasi, seperti nama negara dan deskripsi.
  • Organisasi dalam direktori.
  • Orang-orang di direktori.
Entri dapat dikelompokkan pada lebih dari satu kelas objek. Sebagai contoh, entri untuk seseorang didefinisikan oleh kelas objek orang, tetapi juga dapat didefinisikan oleh atribut di inetOrgPerson tersebut, groupOfNames, dan objectClasses organisasi. Kelas obyek server struktur (skema nya) menentukan daftar total atribut yang diperlukan dan memungkinkan untuk entri tertentu.
Data Direktori direpresentasikan sebagai atribut-nilai pasangan. Setiap bagian tertentu dari informasi yang berhubungan dengan atribut deskriptif.
Misalnya, CommonName, atau cn, atribut yang digunakan untuk menyimpan nama seseorang. Seseorang bernama Jonas Salk dapat direpresentasikan dalam direktori sebagai
 cn: Jonas Salk
Setiap orang masuk dalam direktori didefinisikan oleh kumpulan atribut dalam kelas objek orang. Atribut lain yang digunakan untuk mendefinisikan entri ini dapat meliputi:
 givenname: Jonas
 nama: Salk
 mail: jonass@airius.com
Atribut yang diperlukan termasuk atribut yang harus hadir dalam entri menggunakan kelas objek. Semua entri memerlukan atribut objectClass, yang berisi daftar kelas objek yang entri milik.
Atribut diperbolehkan meliputi atribut yang mungkin ada dalam entri menggunakan kelas objek. Misalnya, di kelas objek orang, yang cn dan atribut sn diperlukan. Uraian, no.telepon, seeAlso, dan atribut userpassword diperbolehkan tetapi tidak diperlukan.
Setiap atribut memiliki definisi sintaks yang sesuai. Definisi sintaks menjelaskan jenis informasi yang diberikan oleh atribut:
  • bin biner
  • ces String kasus yang tepat (kasus harus sesuai selama perbandingan)
  • Kasus cis mengabaikan string (kasus ini diabaikan selama perbandingan)
  • tel nomor telepon string (seperti cis tapi kosong dan strip `- ‘diabaikan selama perbandingan)
  • dn yg Nama

LDAP (Lightweight Directory Access Protocol) adalah sebuah protokol aplikasi yang mengatur mekanisme pengaksesan layanan direktori (Directory Service). Direktori yang dimaksud adalah sekumpulan obyek yang memilki atribut yang secara logika maupun hirarki terorganisasi dengan baik. Direktori ini dapat mendeskripsikan banyak informasi seperti informasi tentang manusia, organisasi, aturan-aturan, layanan dan banyak entitas lainnya. Salah satu contoh dari direktori LDAP adalah sebuah direktori telepon yang berisi nama (orang maupun perusahaan) dikelompokkan secara alpabetis, dimana setiap nama memilki alamat, no telepon dan lain-lain. LDAP dalam melakukan query dan perubahan layanan direktori menggunakan protokol TCP/IP. LDAP menggunakan model client-server, dimana client mengirimkan identifier pada serverdan server akan mencoba mencarinya pada DIT (Directory Information Tree) yang tersimpan pada server. Apabila ditemukan maka hasilnya akan dikirimkan ke client tersebut namun apabila tidak ditemukan maka hasilnya berupa pointer ke server lain yang menyimpan data yang di cari.
KONSEP
Dalam mempelajari LDAP, diperlukan pemahaman dari arti direktori dan apa kegunaannya. Direktori pada LDAP dapat berupa personal address bookphone bookyellow pages bahkan web direktori. Direktori dapat membantu pengguna untuk menemukan informasi yang dibutuhkan, sebagai contoh yellow pages. Padayellow pages dapat dicari mengenai alamat lengkap, nomor telepon, alamat website dan e-mail dari suatu perusahaan hanya dengan mencari berdasarkan nama dari perusahaan yang telah disusun secara alpabetis pada direktori yellow pages. Dalam terminology computerdirectory services bisa dikatakan sebagai suatu database tempat penyimpanan data, yang dapat di gunakan untuk memberikan informasi-informasi terkait dengan objeknya. Bagian dari direktori mungkin dapat berisi kumpulan informasi tentang user sepertisurname, first name, phone number, User ID, mail address dan lain sebagainya.
Pada server LDAP, suatu directory service akan memilki item yang di jadikan sebagai root. Untuk sebuah titik root, secara umum di tunjukkan dengan suatu attribute dc (Domain Component), o (Organization) atau ou (Organization Unit). Kemudian pada leaf biasanya akan berisi item dengan atribut uid (User ID) ataupun cn (Common Name).
Directory service biasanya menyimpan informasi dalam bentuk struktur tree yang dinamakan Directory Information Tree (DIT). Setiap titik pada DIT diberi suatu alamat, baik secara relative maupun secara absolute. Untuk suatu alamat yang absolute di sebut sebagai DN (Distinguish Name). Sebuah server LDAP terdiri dari 3 komponen yang perlu diketahui sebelum membangun sebuah server LDAP.
  • Schema : Aturan yang mendeskripsikan jenis data apa saja yang akan disimpan, schema sangat membantu dalam menjaga konsistensi dan kualitas data untuk menghindari adanya duplikasi data.
  • ObjectClass : Sekumpulan entry yang menjelaskan tentang sebuah entry grup. ObjectClass membutuhkan atribut – atribut yang akan dapat merepresentasikan entry group tersebut.
  • Attribute : Entri yang bersifat unik seperti uid, cn, sn, ou, o, dc dan sebagainya. Atribut dapat berupa single value atau multi value.
MANFAAT
Seperti yang dijelaskan diatas, dalam mempelajari LDAP, terdapat istilah direktori. Direktori adalah suatu database tempat penyimpanan data, yang dapat digunakan untuk memberikan informasi – informasi yang berkaitan dengan object nya. Sebagai contoh : direktori dapat berupa address book, phone book , dan  yellow pages. Suatu direktori dapat membantu mencari informasi yang dibutuhkan.
Manfaat LDAP dapat dirasakan dengan memperhatikan tiga komponen penting pada DLAP itu sendiri yaituSchema, Object Class dan Attribute. Dengan demikian penggunaan DLAP akan menjadikan informasi yang dihasilkan ataupun disimpan menjadi konsisten dan terhindar dari duplikasi data.
INTALASI LDAP
Pada bagian ini akan dijelaskan bagaimanakah cara melakukan installasi ldap pada server debian dan apa sajakah package-package yang di perlukan untuk menjalankan ldap dan memastikan bahwa ldap telah berjalan sebagaimana mestinya.
  • #aptitude install slapd
Perintah untuk melakukan instalasi pada suatu package, untuk menginstall package LDAP dapat menggunakan package slapd.
# export http_proxy=http://152.118.25.15:8888
# aptitude install slapd
  • #aptitude install ldap-utils
Perintah yang dilakukan untuk melakukan instalasi terhadap package yang digunakan untuk melakukan testing terhadap ldap. Package tersebut bernama ldap-utils.
# aptutide install ldap-utils
  • #ls /etc/rc2.d
Untuk memastikan apakah slapd telah terinstal dan berjalan dengan baik pada server dapat dilihat dengan melihat pada direktori runlevel apakah slapd ada pada proses yang sedang dijalankan. Karena server berjalan pada runlevel 2, untuk melakukan pengecekan pada direktori /etc/rc2.d.
KONFIGURASI LDAP
Konfigurasi tersebut meliputi proses dan langkah-langkah dalam membuat sebuah Directory Information Tree(DIT) sederhana, lalu akan dijelaskan juga bagaimana menjalankan perintah-perintah yang ada pada package ldap.
  • #slapcat
Slapcat adalah sebuah perintah yang dilakukan oleh super user untuk melakukan pencarian dan juga untuk mengetahui segala hal yang terkait ldap yang ada di file system. Slapcat dioperasikan secara offline. Pada kasus ini, perintah ini dijalankan untuk mengetahui domain yang ada pada server. Dapat dilihat bahwa domain yang telah ada pada server bisa adalah adsis.
  • #nano /etc/ldap/schema/ou.ldif
Buatlah sebuah file ldif pada directory /etc/ldap/schema. File ini akan digunakan nanti ketika proses ldapadd.
Lalu pada file ou.ldif tersebut masukkan konfigurasi seperti berikut ini :
Pada kasus tersebut, akan dibuat 2 buah organization unit yang berada pada domain adsis. Kedua organization unit tersebut bernama People dan Group.
  • #invoke-rc.d slapd stop
Perintah yang digunakan untuk mematikan proses slapd. Proses ini dimatikan sementara untuk melakaukan penambahan ldap.
  • #slapadd –c –v –l /etc/ldap/schema/ou.ldif
Slapadd adalah sebuah perintah yang digunakan untuk menambahkan suatu directory baru untuk ldap pada server.  Opsi –l digunakan untuk melakukan input melalui sebuah file ldif. Masukan direktori file ou.ldif yang sebelumnya telah dibuat.
  • # invoke-rc.d slapd start
Untuk mengaktifkan proses slapd setelah tadi dilakukan pengeditan pada slapd.
  • #slapcat
Untuk memastikan bahwa organizational unit telah terinstal, dapat dilakukan dengan perintah slapcat atau lpadsearch. Disini, digunakan perintah slapcat dan pada slapcat akan tampil 2 organizational unit baru yang sebelumnya tidak ada yaitu ou=people dan ou=group.
  • #nano /etc/ldap/schema/derp.ldif
Buatlah sebuah file ldif yang akan digunakan untuk menambah user baru dan grup baru pada server ldap.
Setelah itu, pada file tersebut masukkan semua konfigurasi terkait user dan grup baru tersebut.
  • #ldapadd –c –x –D cn=admin,dc=adsis –W –f /etc/ldap/schema/derp.ldif
Setelah membuat file derp.ldif, lakukan perintah ldapadd untuk menambahkan user dan grup baru tersebut. Untuk melakukan import dari file ldif bisa menggunakan opsi –f yang ada pada perintah ldapadd.
  • #ldappasswd –x –D cn=admin,cn=adsis –W –S uid=derp,ou=people,dc=adsis
Untuk melakukan perubahaan password dapat dilakukan dengan menggunakan perintah ldappasswd, nanti akan diminta password baru untuk user tersebut.
  • #slapcat
Untuk memastikan apakah user dan grup telah berhasil dibuat, dapat dilakukan perintah slapcat nanti, akan tampil deskripsi mengenai user dan grup baru tersebut.
Categories:

Tidak ada komentar:

Posting Komentar