11/27/2008
Lightweight Directory Access Protocol
By Makhdor Rosadi - 212080006
Outline • • • • •
Introduction Directory Service Protokol LDAP Contoh Software dan Penerapan Kesimpulan
1
11/27/2008
Pengertian Directory • Directory adalah suatu kumpulan obyek dengan atribut-atribut yang sama, diorganisasikan dalam suatu pola logika dan pola hirarki tertentu • Sebagian directory bersifat “static”, dan sebagian dinamic seperti yang diterapkan pada online directories (finger, DNS, NIS, Unix Password File). • Sebuah direktori merupakan sebuah database, yang pengelolaan informasinya di dasarkan pada atribut setiap item datanya. – Informasi pada directory 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.
Mengapa LDAP banyak terpilih untuk digunakan sebagai layanan directory ? • • •
•
•
Global Direktory service Open Standard dan interconnectivity Mudah di-customize dan mudah diperluas, fleksibel untuk mengatur tampilan interface sebebas user mendefinisikan, juga dapat dikombinasikan dengan program aplikasi apapun karena LDAP adalah program yang dapat disisipkan (embeded). Penyimpanan data yang Heterogen, server LDAP menggunakan sebuah database backend untuk menyimpan data, tapi tidak sangat mengikat juga. Keamanan dan protocol akses yang terkontrol dengan sistem security SASL Simple Autentification and Security Layer. – Banyak sekali sistem keamanan yang menjadi pilihan para user/vendor dalam pemakaian LDAP ini misalnya : SSL yang dipopulerkan netscape,CRAM MD5, TLS. LDAP juga menyediakan fitur kontrol akses yang sangat kaya untuk mengotrol siapa yang berhak menggunakan suatu informasi tersebut.
2
11/27/2008
LDAP server • Gateway to an X.500 server
LDAP Client
TCP/ IP
LDAP Server
OSI
X.500 Server
• Stand-Alone LDAP Client
TCP/ IP
Directory
LDAP Server
Directory
Yang tidak bisa dilakukan oleh LDAP • LDAP bukan “relational database” – tidak memiliki mekanisme rollback jika terjadi kesalahan operasi
• LDAP bukan file system, sehingga tidak bisa melakukan locking dan seeking. – LDAP juga tidak bisa melakukan pencarian data secara terpotong-potong (blobs of data).
• LDAP tidak baik untuk mengakomodasi obyek yang berubah secara dinamis – karena memang didisain untuk dioptimalkan pada proses pembacaan, tidak termasuk proses penulisan.
3
11/27/2008
Yang tidak bisa dilakukan oleh LDAP • LDAP juga tidak bisa melakukan penguncian (locking) untuk memastikan transaksi terjadi sesuai dengan urutan tertentu. – Mengakibatkan ada potensi korupsi data.
• LDAP tidak memiliki generic SQL • LDAP “hampir tidak berguna” jika tidak ada aplikasi yang menyertainya
Skema Komunikasi Client-Server pada LDAP
4
11/27/2008
LDAP Model • Information model – Describe the structure of information
• Naming model – Describe how information is organized and identified
• Functional model – Describe what operations can be performed on the information
• Security model – Describe how the information can be protected
Model Informasi • Hubungan antar elemen
– Entry : • Directory menyimpan dan mengorganisasikan struktur data • Obyek seperti : person, server, dll
5
11/27/2008
Model Informasi • Kelas Obyek (Object class) – Deskripsi umum obyek (template) – Dideskripsikan menggunakan “schema” • Kelas obyek apa yang dibolehkan menempati directory • Attribute apa yang harus termuat • Attribute apa yang opsional • Syntax setiap attribute • Inheritance dan subclassing obyek
Naming Model • Directory Information Tree(DIT) – Organize entries based on their DN – Distinguished Name(DN) • Identify a entry uniquely • A sequence of relative DN(RDN) separated by commas – From leaf to root node
•
=,=, ...
– Not a tree • Can use aliases
6
11/27/2008
Naming model • Example DIT Directory Root
c=US
o=MyOrg
o=transarc mail:[email protected] fax:512- 838- 5187
o=IBM
ou=LDAP Team
c=DE
o=IBM
cn=Mike Young mail:[email protected]
cn:John Smith mail:[email protected]
cn=John (alias)
cn=John,ou=LDAP Team,o=IBM,c=US cn=John Smith,o=IBM,c=DE
Naming model • Suffixes and Referrals – Support distributed directory • Suffixes – Individual LDAP server might not store the entire DIT
• Referrals – Form a distributed directory that contains the entire DIT – An entry of objectClass referral – Have an attribute, ref, whose value is the LDAP URL of the referred entry on another LDAP server – Managed by client or LDAP server » Off-loading the work of contacting other servers to the client
7
11/27/2008
Konfigurasi LDAP Service • Layanan Directory-Lokal
• Layanan Directory menggunakan Teknik Referral
Contoh Referral
8
11/27/2008
Model Fungsional – Daftar Request • Start TLS menggunakan LDAPv3 Transport Layer Security (TLS) extension untuk koneksi yang aman • Bind autentikasi dan menginformasikan spesifikasi versi protokol LDAP, dengan urutan proses : – Client melakukan Authentifikasi ke server direktori. – Koneksi TCP, mengirim nama unik (distinguished name) dan mandat autentifi-kasi. – Server mencocokkan mandat autentifikasi, kemudian hasilnya dijawab ke client – Jika mandat ditolak, dijawab sebagai anonymous bind – Proses autentifikasi, berakhir ketika status koneksi open, sampai client melaku-kan de-Autentifikasi.
Model Fungsional – Daftar Request • • • • • • • • •
Search – mencari dan atau mendapatkan kembali directory entries Compare – untuk mengetes apakah nama entry berisi nilai atribut yang diberikan Add – menambah entry baru Delete – menghapus entry Modify – modifikasi entry Modify Distinguished Name (DN) – memindahkan atau mengubah nama sebuah entry Abandon - abort permintaan sebelumnya (transaksi tidak jadi dilakukan) Extended Operation – operasi generik yang digunakan untuk mendefinisikan operasi lainnya Unbind – mennutup koneksi (bukan kebalikan dari Bind)
9
11/27/2008
Proses “Search”
ldap://saturn.itso.austin.ibm.com/o=Transarc,c=US?cn,mail ,phoneNumber?sub?cn=*brown
URL • URL format for LDAP resources – ldap[s]://[[:<port>]][/[[?[][?[<sco pe>][?[][?<extensions>]]]]]]
• Can simply name an LDAP server • Can specify a complex directory search – ldap://saturn.itso.austin.ibm.com/o=Transar c,c=US?cn,mail,phoneNumber?sub?cn=*b rown*
10
11/27/2008
Beberapa Standar Layanan Directory • • • • • • • •
LDAP X.500 Whois / Whois ++ Netfind CCSO (ph) RWhois services based on WWW other services
CIP (Common Indexing Protocol) • Didefiniskan oleh IETF WG FIND • CIP memungkinkan server-server melakukan referral mesh untuk query handling • Menggunakan ekstensi model indexing yang digunakan whois++ • Server CIP index memiliki links (referrals) ke server DS yanng berbeda-beda
11
11/27/2008
Which one to use? • to find someone: – use service that suites your needs – DS PROBLEM: how to be global and current?
• if you are building directory service: – LDAP is winning (IETF - WP BCP) – Whois++ (Digger) - easy installation and administration – RWhois - if you are running NIC
Model Security • Issues – Autentikasi – Integrity – Confidentiality – Authorization
• Simple Authentication and Security Layer (SSAL) – Authentication systems • e.g. Kerberos
– Secure Socket Layer(SSL/TLS)
• LDAP Injection
12
11/27/2008
Contoh Pengembangan Replicated LDAP Cluster
Contoh Pengembangan LDAP pada Jaringan Organisasi
13
11/27/2008
LDAP Software Server • Slapd yang dikeluarkan University of Michigan atau yang dikembangkan oleh Openldap (http://www.openldap.org) • Netscape Directory Server • Microsoft Active Directory (AD) • Microsoft Exchange (interface only) • Novell Directory Services (NDS) • Lotus Domino (interface only) • Sun Directory Services (SDS) • Lucent’s Internet Directory Server (IDS).
27
2008-11-27
LDAP/JNDI
Toolkits • Setiap vendor server juga biasanya mengeluarkan toolkits untuk client, contohnya : – Nestscape mengeluarkan SDK untuk program LDAP (bahasa C) – perLDAP module dari Openldap – Sun JNDI – microsoft ADSI SDK. – Ada vendor yang langsung mengeluarkan software hanya untuk sisi client (LDAP API) seperti ColdFusion atau PHP
14
11/27/2008
Penamaan dan Pengalamatan pada TMN
Hubungan Blok Fungsi dengan Komponen Fungsi pada TMN • Dalam setiap blok fungsional dalam TMN (OSF, NEF, Workstation, MF dan QAF) selalu ada komponen DSF (Direcyory System Function) yang menyediakan kemampuan sistem directory untuk agent dan manager. Blok Fungsi Komponen Fungsional OSF
OSF-MAF, WSF, ICF, DSF, DAF, SF
WSF
UISF, DAF, SF
NEF
NEF-MAF, DSF, DAF, SF
MF
NEF-MAF, ICF, WSF, DSF, DAF, SF
QAF
QAF-MAF, ICF, DSF, DAF, SF
15
11/27/2008
Contoh Penerapan LDAP pada Teknologi Manajemen
Java Naming and Directory Interface(JNDI) • Arsitektur JNDI
16
11/27/2008
Active Directory in Microsoft Infrastructure Optimization Basic
Standardized
Rationalized
Dynamic
Identityand Access Management Desktop, Device, and Windows Server 2008 Server Management Active Directory Domain Services Securityand Networking Data Protection and Recovery
Kesimpulan • LDAP secara defacto terbukti mampu mendukung kebutuhan layanan directory, bahkan yang sifatnya global. – Hal ini tak lepas dari berbagai sifat keunggulannya, sehingga banyak diadopsi dan menjadi basis pengembangan software aplikasi directory atau menjadi embedded software dari suatu aplikasi.
• LDAP akan berkembang terus mendukung fungsi user repository yang bersifat open, global namun tetap secure serta masih terus potensial untuk dikembangkan
17