Post on 04-Jul-2015
Pendahuluan
DAP (Light Weight Directory Access Protocol) adalah sebuah protokol yang
mengatur mekanisme pengaksesan layanan direktori (Directory Service) yang dapat
digunakan untuk mendeskripsikan banyak informasi seperti informasi tentang
people, organizations, roles, services dan banyak entitas lainnya. LDAP menggunakan
model client-server, dimana client mengirimkan identifier data kepada server menggunakan
protokol TCP/IP dan server mencoba mencarinya pada DIT (Directory Information Tree)
yang tersimpan di server. Bila di temukan maka hasilnya akan dikirimkan ke client tersebut
namun bila tidak maka hasilnya berupa pointer ke server lain yang menyimpan data yang di
cari. Terdapat dua service utama pada LDAP yaitu slapd yang merupakan LDAP daemon
dan slurpd yang merupakan replication daemon. Slapd melayani request dari client, query
dan berkomunikasi dengan backend database sedangkan slurpd melayani replikasi data agar
terus terjadi sinkronisasi data antara client dan server, dan untuk memfasilitasi pengisian
dan perubahan informasi data dalam direktori di gunakanlah LDIF (LDAP Data
Interchange Format).
Konsep dasar
ntuk mempelajari LDAP, sangatlah penting apabila anda memahami arti dari
direktori dan untuk apa dia digunakan. Mungkin tanpa sadar anda sudah terbiasa
dengan direktori. Direktori dapat berupa personal address book, phone book, yellow
pages bahkan web direktori seperti Yahoo. Direktori dapat membantu anda untuk menemukan informasi yang anda butuhkan, sebagai contoh yellow pages. Di sana anda
dapat mencari alamat lengkap, nomor telepon, alamat website dan e-mail dari suatu
perusahaan hanya dengan mencarinya berdasarkan ‘nama’ dari perusahaan yang telah
disusun secara alphabetis pada direktori yellow pages.
Dalam terminologi komputer, directory service bisa dikatakan sebagai suatu database
tempat penyimpanan data, yang dapat di gunakan untuk memberikan informasi-informasi
yang berkaitan dengan objeknya. Bagian direktori mungkin dapat berisi kumpulan
informasi tentang user seperti sure name, first name, phone number, User ID, mail address
dan lain sebagainya. Untuk memudahkan pemahaman anda tentang konsep direktori ini, saya akan mencontohkan model seperti gambar berikut :
Secara prinsip struktur database pada suatu directory service adalah hierarki seperti yang di
tunjukkan pada gambar di atas. Suatu directory service akan memiliki item yang di jadikan
sebagai root. Untuk sebuah titik root, secara umum di tunjukkan dengan suatu attribut dc
(Domain Component) atau o (Organization) mungkin juga ou (Organization Unit).
Kemudian pada titik daun (leaf) biasanya akan berisi item dengan attribut 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 relatif maupun secara absolut. Untuk suatu alamat
relatif sering disebut sebagai RDN (Relative Distinguish Name) sedangkan alamat yang
absolut di sebut sebagai DN (Distinguish Name). Jadi apabila anda ingin mendapatkan
informasi tentang user rsukmana pada gambar diatas, dapat di tuliskan dengan
pengalamatan “dn=uid=rsukmana,ou=people,dc=smartbee,dc=com”. Konsep seperti
inilah yang di gunakan oleh direktori LDAP. Schema, objectClass dan attribute adalah tiga hal yang sebaiknya anda ketahui dalam
membangun sebuah server LDAP.
• Schema mendefinisikan seperangkat aturan yang mendeskripsikan jenis data apa
saja yang akan di simpan, schema sangat membantu untuk menjaga konsistensi dan
kualitas data sehingga mengurangi terjadinya duplikasi data.
• ObjectClass merupakan sekumpulan entri yang menginformasikan jenis group, dan
membutuhkan atribut yang biasanya terdiri atas attribute names, attribute type dan
attribute syntax yang semuanya terkumpul dalam suatu data valid pada setiap
kelasnya.
• Attribute merupakan entri yang bersifat unik seperti uid, cn, sn ,ou, o, dc dan lain
sebagainya, attribute sendiri dapat merupakan single value maupun multiple value
http://read.pudn.com/downloads165/sourcecode/unix_linux/756149/Pengenalan%20LDAP.pdf
Directory and Discovery Services
Sebuah direktori merupakan sebuah database, yang pengelolaan informasinya di dasarkan
pada atribut setiap item datanya. Informasi pada direktori lebih banyak akan dibaca daripada
operasi update (add, modify, ataupun delete). Sehingga pada suatu directory service tidak
menerapkan transaksi atau skema roll-back yang komplek seperti halnya yang kita temui pada
database service.
Pengubahan informasi pada direktori terjadi pada semua atau beberapa atribut suatu item
direktori. Dengan sifatnya yang sebagian besar diterapkan operasi pembacaan, maka suatu
directory service akan menerapkan suatu model replikasi untuk dapat memberikan kehandalan
yang lebih baik.
Suatu directory service akan menerapkan protokol LDAP (Lightweight Directory Access
Protocol) dengan format atribut untuk tiap itemnya di dasarkan pada format standard X.500.
LDAP disepakati dengan RFC 1777.
Secara prinsip struktur database pada directory service adalah hierarchy seperti yang
ditunjukkan pada gambar di atas. Seperti pada struktur hirarki pada umumnya, pada suatu
database directory service akan memiliki suatu item yang dijadikan sebagai root. Untuk sebuah
titik root, secara umum ditunjukkan dengan suatu atribut dc (Domain Component), namun dapat
juga langsung ditunjuk dengan atribut cn (Common Name) atau ou (Organization Unit) ataupun
o (Organization). Kemudian pada titik daun (leaf) biasanya akan berisi suatu item denga atribut
uid (User ID) ataupun cn. Berikut beberapa atribut untuk sebuah titik pada directory service
(lihat RFC 2256) :
● sn Surname
● l Location
● ou Organisational Unit
● o Organisation
● dc Domain Component
● st State
● c Country
Lalu sekarang pertanyaannya adalah bagaimana caranya kita menunjuk ke suatu item dari
database directory service? Cara penunjukkan suatu item titik pada directory service sama seperti
kita memperlakukan struktur hirarki DNS. Sebuah item titik pada directory service diberi suatu
alamat baik secara relatif maupun absolut.
Untuk suatu alamat relatif sering disebut sebagai RDN (Relative Distinguish Name),
sedangkan alamat yang absolut disebut sebagai DN (Distinguish Name). Pengalamatan ini
disepakati dengan RFC 1779. Contoh pada gambar di atas DN untuk uid=jparker adalah
“dn=uid=jparker, ou=People, dc=pisoftware, dc=com”.
Secara keseluruhan, sebuah item dapat diakses dari directory client dengan mematuhi
aturan URI (Uniform Resource Identifier) seperti yang tertulis pada RFC 1959. Berikut beberapa
contoh URI LDAP :
ð ldap://foo.bar.com/dc=bar,dc=com
ð ldap://argle.bargle.com/dc=bar,dc=com??sub?uid=barney
Secara teknis, LDAP merupakan sebuah protokol untuk mengakses ke Directory Service
X-500. Pertama-tama, client mengakses gateway ke X-500. Gateway tersebut akan menjalankan
LDAP di antara client dan gateway, sekaligus menjalankan Directory Access Protocol X-500
antara X-500 dan server. Karena LDAP merupakan jenis simpel dari DAP, maka LDAP
menyediakan sebagian besar dari fungsi DAP dengan biaya yang jauh lebih rendah.
LDAP menggunakan model client server. Saat client terkoneksi ke server dan
mengajukan LDAP request, server merespon dengan jawaban dan/atau dengan pointer ke arah
mana client dapat mendapat tambahan informasi (khususnya ke server LDAP yang lain). Tidak
masalah server LDAP yang mana yang merespon requst dari client, karena client tersebut akan
mendapat informasi yang sama.
Jini discovery service
Jini adalah teknologi dalam bidang jaringan komputer yang dipublikasikan secara resmi
oleh Sun Microsistem pada 25 Januari 1999. Ide dibalik teknologi ini diperoleh karena
keterbatasan Java dalam sistem terdistribusi. Perbedaan Jini dengan teknologi yang digunakan
untuk sistem terdistribusi lainnya adalah interface yang dapat dibuat tanpa harus menuliskan
notasi standar interface yaitu Interface Definition Language (IDL). Meskipun Jini dikembangkan
dengan menggunakan teknologi Java, namun pemrogram dapat menggunakan method dari kode
native yang ditulis dengan bahasa pemrograman selain Java untuk aplikasi Jini client dan server.
Jini merupakan salah satu arsitektur sistem terdistribusi yang menggunakan sekumpulan
antarmuka dan protocol yang sederhana. Jinni memungkinkan sebuah network yang
menyediakan service dan network yang terhubung ke device secara spontan tergabung dalam
sebuah grup obyek yang saling bekerja sama yang disebut federation. Federation merupakan
sebuah grup obyek yang saling bekerja sama yang merupakan gabungan dari jaringan penyedia
layanan dan jaringan yang terhubung keperalatan. Jini memiliki mekanisme self-healing yaitu
proses pemulihan diri sendiri ketika sebuah atau beberapa alat dilepas dari federations.
Konsep-konsep utama dalam arsitektur Jini antara lain :
1. Service
Sebuah entitas yang berada dalam network dan menunggu untuk melakukan
fungsinya.
2. Federation
Federation adalah sebuah sistem yang dinamis terdistribusi yang berisi devices dan
komponen-komponen software yang berada dalam satu network.
3. Lookup Service
Lookup Service berperan sebagai broker/trader/locator yang menghubungkan service
dan client. Service yang ada di network dicari dan ditemukan olehnya. Lookup service
memungkinkan registrasi, pengaksesan, pencarian dan penghapusan service. Dalam
jaringan dapat dijalankan beberapa lookup service untuk menangani masalah jika sebuah
lookup service mengalami crash.
Infrastruktur Jini :
1. Discovery Protocol
Protokol yang memungkinkan client dan services menemukan lookup service dan
melakukan koneksi dengan lookup service pada network. Jenisnya ada 2 yaitu Unicast
dan Multicast discovery.
2. Join Protocol
Join merupakan protocol yang memungkinkan service menjadi bagian dari
federation dan meregister dirinya sebagai registered service dengan mempublikasikan
sebuah service reference ke lookup service.
3. Lookup Protocol
Protokol yang memungkinkan client mencari lookup service untuk memperoleh
service yang dibutuhkannya.
http://te.ugm.ac.id/~risanuri/distributed/ringk/bab09.pdf
c) Directory
Directory atau direktori dalam pengertian LDAP adalah
sekumpulan objek dan atribut yang disusun mirip
dengan hirarki subdirektori penyimpanan file pada hard
disk. Namun yang disimpan dalam direktori LDAP
bukanlah file melainkan “informasi” yang lazim disebut
object atau objek.
Sebuah directory bukanlah database RDBMS. Lebih
tepat disebut sebagai “database spesial” yang telah
dioptimasi untuk keperluan reading, browsing,
searching, updating, dan lainnya. Directory dapat merespon dengan cepat pada volume besar dan trafic
yang padat. Directory service bukan aplikasi RDBMS
dan tidak dirancang untuk menggantikan aplikasi
database manajemen sistem (RDBMS). Directory tidak
mendukung transaksi kompleks, seperti roll back
sebagaimana yang sering dijumpai pada RDBMS.
Perubahan atau update informasi pada directory
bersifat “sekali jalan” dan tidak dapat dikembalikan
lagi secara otomatis ke kondisi semula.
Suatu objek dapat memiliki berbagai variasi attributes
atau atribut. Mungkin saja dijumpai sejumlah atribut
yang sama pada beberapa objek yang berbeda. Contoh
sederhana objek yang menggambarkan account user
sebagai berikut:
dn: uid=john,ou=people,dc=example,dc=com
cn: John Doe
uid: john
uidNumber: 1001
gidNumber: 100
homeDirectory: /home/john
loginShell: /bin/bash
objectClass: top
objectClass: posixAccoun
Jika contoh di atas dituangkan dalam bentuk diagram
atau direktori, hasilnya kurang lebih akan tampak
seperti gambar di bawah.
Directory telah didisain dapat terintegrasi pada sebuah
network yang besar. Sehingga tidak tampak “secara
kasat mata” komputer mana yang menjadi “induk
direktori” dan komputer mana yang menjadi “cabangcabang direktori”. Dalam istilah directory, “induk
direktori” atau root disebut base. Pada contoh ini base
adalah dc=example,dc=com
Setiap objek memiliki sebuah atribut DN (distinguished
name) yang bersifat unik. Setiap objek merupakan
anggota dari satu atau lebih object classes (class
objek), dengan atribut tertentu, berdasarkan skema
yang telah didefinisikan. Mengenai hal ini akan kita
bahas lebih lanjut.
Informasi apa saja yang dapat disimpan dalam
direktori? LDAP menggunakan model informasi
berdasarkan entries (entri). Sebuah entry merupakan
sekumpulan atribut dengan sebuah global
Distinguished Name (DN). DN digunakan untuk merujuk
kepada entry tertentu dan harus berbeda dengan entry
lain. Atribut suatu entry terdiri atas sebuah tipe dan
satu atau lebih value (nilai). Tipe-tipe biasanya
disimbolkan dengan singkatan tertentu (nmemonic
string), seperti: cn, name, mail, dan sebagainya.
Beberapa singkatan yang umum dapat dilihat pada
Tabel 7.1.
Lalu bagaimana cara menyimpan informasi LDAP?
Informasi LDAP disimpan menggunakan struktur pohon
direktori (tree). Informasi disimpan berdasarkan katagori dan hirarki. Ada dua macam pendekatan yang
banyak digunakan. Ada yang menggunakan
pendekatan/model struktur organisasi atau geografi
(cara tradisional). Ada juga yang mirip dengan DNS
(cara Internet domain name). Pendekatan yang kedua
kini semakin banyak digunakan dan semakin populer.
Ilustrasi kedua model direktori LDAP dapat dilihat pada
gambar berikut
Pada gambar 7.4 dapat dilihat entry berdasarkan
country (c) pada bagian paling atas. Di bawahnya ada
state (st) atau propinsi yang diikuti oleh organisasi
bernama Acme (o). Kemudian Barbara Jensen (cn)
berada di bawah unit organisasi (ou) Sales.
Bagaimana suatu informasi dituliskan (referenced)?
Suatu informasi dapat dituliskan menggunakan cara
Relative Distinguished Name (RDN) atau Distinguished
Name (DN). Contoh di bawah menggambarkan “posisi Barbara Jensen yang direferensikan menggunakan
kedua cara tersebut.
DN: cn=Barbara Jensen,ou=Sales,o=Acme,st=California,c=US
RDN: cn=Barbara Jensen
Tanda koma digunakan untuk memisahkan antara satu
entry dengan yang lain. Contoh model pendekatan DNS
dapat dilihat pada gambar berikut.
Pada gambar di atas, Barbara Jensen dapat
direferensikan sebagai berikut:
DN: uid=babs,ou=People,dc=example,dc=com
RDN: uid=babs
Directory bersifat lokal, yaitu jika hanya boleh diakses
secara terbatas atau hanya pada sebuah komputer
saja. Directory bersifat global, jika dapat diakses oleh
komputer-komputer lain. Mekanisme pengaturan
dilakukan dengan beberapa teknik. Salah satunya
menggunakan teknik otentikasi. LDAP menyediakan
cara mencari informasi tertentu yang diinginkan
http://ojolinux.co.cc/download/Bab%207_Single%20Sign%20On.pdf
Single Sign-on – Teknologi Single Sign on sangat penting bagi portal. Singkatnya, portal
membutuhkannya untuk mengkoordinasikan informasi dari beberapa web site, penyimpanan data,
XML, dan sistem transaksi lainnya. Kesemua ini mempunyai paradigma keamanan yang berbeda
dimana solusi Single Sign-on akan diterapkan. Contoh dari vendor di arena ini adalah Netegrity,
Oblix, IBM, dan Entrust.
LDAP vs NIS
Administrator sistem Unix tradisional menggunakan layanan NIS untuk resolusi nama dan distribusi data
dalam jaringan. data konfigurasi yang terkandung dalam file di / etc dan kelompok direktori, host, mail,
netgroup, jaringan, passwd, printcap, protokol, rpc, dan layanan yang didistribusikan oleh klien di seluruh
jaringan. File-file ini dapat dipertahankan tanpa usaha besar karena mereka adalah file teks
sederhana.Penanganan data dalam jumlah besar, bagaimanapun, menjadi semakin sulit karena tidak
ada penataan. NIS hanya dirancang untuk platform Unix. Ini berarti tidak cocok sebagai alat administrasi
data yang terpusat dalam jaringan heterogen.
Tidak seperti NIS, LDAP layanan tidak terbatas pada jaringan Unix murni. Windows server (dari 2000)
dukungan LDAP sebagai layanan direktori. tugas Aplikasi tambahan yang disebutkan di atas didukung
dalam sistem non-Unix.
Prinsip LDAP dapat diterapkan untuk setiap struktur data yang harus dikelola secara terpusat. Sebuah
contoh aplikasi sedikit yang:
Pekerjaan sebagai pengganti untuk layanan NIS
Mail routing (postfix, sendmail)
Buku alamat untuk klien email, seperti Mozilla, Evolution, dan Outlook
Administrasi deskripsi zona untuk name server BIND9
Pengguna otentikasi dengan Samba dalam jaringan heterogen
Daftar ini dapat diperpanjang karena LDAP adalah extensible, tidak seperti NIS. Struktur hirarki yang
ditentukan secara jelas data memudahkan administrasi data dalam jumlah besar, karena dapat dicari
dengan lebih mudah.
http://wiki.opensuse-id.org/index.php?title=Konfigurasi_LDAP_Server
Pengertian
Network Information Service (NIS) adalah sebuah client/server database system dibawah Linux. Biasanya digunakan untuk sharing password dan group files di dalam jaringan. NIS dikembangkan oleh Sun Microsystems sebagai bagian dari sistem operasi SunOS, yang awal mulanya dikenal dengan The Yellow Pages, atau YP untuk istilah singkatnya. Sayangnya, nama yellow Pages sudah menjadi trademark, dan akhirnya namanya kemudian diganti menjadi NIS.
Protokol NIS dibuat public/ umum, sehingga tersebar dengan cepat ke semua varian UNIX. Karena Linux mengikuti standar NIS, maka Linux bisa bekerja dengan jenis UNIX lainnya, baik sebagai client atau server.
Cara KerjaDalam sebuah jaringan harus ada satu mesin yang bertindak sebagai server NIS. Anda dapat memiliki lebih dari 1 server NIS, dan setiap server tersebut melayani domain NIS yang berbeda-beda, atau Anda mengatur agar server-server tersebut bekerja sama dimana salah satu server sebagai master dan server yang lain sebagai pembantu (untuk domain yang sama), atau bahkan Anda memiliki kedua cara ini dalam jaringan Anda.
Server pembantu hanya memiliki salinan dari basis data NIS dan menerima salinan tersebut dari server NIS yang utama pada saat ada perubahan pada basis data induk. Anda memutuskan untuk menginstal satu atau lebih server pembantu, tergantung dari jumlah mesin pada jaringan Anda dan keandalan jaringan Anda. Pada saat server NIS sedang tidak aktif atau terlalu lambat untuk menanggapi permintaan, clien NIS yang terhubung pada server tersebut akan berusaha mencari server lain yang sedang aktif atau merespon lebih cepat.
Basis data NIS disebut format DBM, merupakan turunan dari basis data ASCII. Sebagai contoh, file /etc/passwd dan /etc/group dapat secara langsung dikonversikan menjadi format DBM dengan menggunakan perangkat lunak penterjemah ASCII-to-DBM ("makedbm", disertakan didalam perangkat lunak milik server). Server master untuk NIS sebaiknya memiliki basis data ASCII dan basis data DBM.
Server pembantu akan diberitahu setiap perubahan pada server NIS, (melalui program "yppush"), dan secara otomatis mengambil perubahan- perubahan yang diperlukan untuk mensinkronisasikan basis datanya. Klien NIS tidak perlu melakukan ini sebab selalu berkomunikasi dengan server NIS untuk mendapatkan informasi yang disimpan pada basis data DBM milik server.
Penulis dari klien YP untuk Linux telah menginformasikan bahwa ypbind yang terbaru (ypbind-3.3.tar.gz) dapat berhubungan dengan server secara langsung tanpa perlu melakukan broadcast (yang mana tidak aman karena setiap orang menginstall server NIS dapat menjawab permintaan dari broadcast tersebut) melalui konfigurasi berkasnya.
NIS beroperasi dengan mengirimkan paket-paket data secara broadcast, dan pada kebanyakan platform UNIX, klien NIS dapat berkomunikasi dengan NIS server dengan menggunakan protocol RPC (Remote Procedure Call) yang berjalan di atas protocol UDP. Implementasi layanan NIS pada awalnya kurang begitu baik dilihat dari segi keamanannya. Karena itulah banyak server NIS pada jaringan berbasis UNIX yang sering diserang. dan akhirnya, Sun Microsystems pun mengembangkan protocol NIS yang baru yang di sebut sebagai NIS+.
http://student.eepis-its.edu/~abaz/laporan/7405030024_Khoirul_ NIS Server.doc
Directory Service
Linux telah dikenal sebagai sebuah sistem operasi
yang handal untuk server file dan Web. Namun dalam
prakteknya masih sedikit sekali yang memanfaatkan
Linux untuk keperluan directory service. Faktor
kebutuhan merupakan salah satu penyebab mengapa
directory service kurang populer bagi sebagian
pemakai Linux.
Saat ini, directory service sudah menjadi kebutuhan
standar pada perusahaan, lembaga, kantor-kantor
berskala sedang atau besar. Jika Anda belum pernah
mengenal directory service, bayangkan saja directory
service seperti sebuah buku alamat untuk network.
Informasi yang berhubungan dengan orang-orang
(nama, alamat e-mail, nomor telepon, dsb) dan sistem
(file share, printer, dsb) disimpan dalam sebuah
direktori yang dapat diakses berbagai aplikasi.
Directory service dapat memudahkan proses
administrasi dan manajemen network berskala besar.
Berbagai hal yang berkaitan dengan fungsi network,
seperti otentikasi, user database, sentralisasi file
repository, dapat disediakan oleh directory service.
Linux menyediakan dua utilitas yang cukup populer
untuk membangun server directory service, yaitu:
OpenLDAP
OpenLDAP (www.openldap.org) merupakan salah
satu implementasi LDAP v2 and v3 untuk
lingkungan Linux/UNIX. Jadi, jika kita hanya
menggunakan komputer Linux (client dan
server) gunakanlah OpenLDAP. Untuk
memperoleh informasi bagaimana melakukan
konfigurasi dan informasi OpenLDAP silakan
mengunjungi situs www.openldap.org/doc.
• Samba 3.0 dan Active Directory
Samba (www.samba.org), telah lama dikenal
sebagai utilitas yang menyediakan file dan
printer sharing ala Windows. Samba digunakan
pada lingkungan Linux/UNIX dan dapat melayani
client-client Windows. Samba versi 2.2 dapat
menggantikan fungsi Windows NT Primary
Domain Controller (PDC) yang menyediakan
authentication service untuk client-client
Windows. Sedangkan Samba versi 3.0 telah
memiliki kemampuan Windows directory service
yang dikenal dengan istilah Active Directory
(mulai Windows 2000).
Active Directory merupakan sebuah struktur
hirarkiral yang menggantikan struktur flat dari
Windows NT Domains. Security yang digunakan
untuk authentication services adalah MIT
Kerberos tools (web.mit.edu/kerberos/www/).
Selain kedua utilitas di atas, masih tersedia utilitas
directory service yang lain, seperti yang dibuat oleh
Novell, IBM, dan Red Hat. Silakan mencari informasi
lebih detail di Internet. Pada buku ini kita hanya
menggunakan komputer-komputer yang telah diinstal
sistem operasi Linux. Oleh sebab itu kita tidak akan
membahas Samba. Pada buku ini hanya akan dibahas