LDAP (Lightweight Directory Access Protocol)

Jakub �t�p�n, xstepan3@chemi.muni.cz

Obsah

�vod

V tomto refer�tu bude stru�n� pops�n syst�m LDAP, jeho ��el, pou�it� a vlastnosti.

Co je to LDAP

LDAP je protokol, ur�en� k spr�v� a uchov�v�n� informac� v adres��ov� struktu�e. Jedn� se v�t�inou o informace o osob�ch, zam�stnanc�ch, u�ivatel�ch (jm�no, heslo, e-mail, domovsk� adres��, telefonn� ��sla, id, pozice, bydli�t�), za��zen� (um�st�n�, cena, detaily), nebo t�eba spole�nostech (jm�no, I�O, s�dlo, kontaktn� osoba). Slu�ba LDAP funguje na b�zi server - klient dotazov�n�, kter� prob�h� p�es IP protokol. Je tedy obecn� vhodn� pro ��ely datab�ze v ni� jsou data strukturovan� do stromov� struktury (skupiny, podskupiny libovoln� �rovn�, seznamy).

Adres��ov� slu�by

Adres��ov� slu�by slou�� pro organizaci a uchov�n� dat v hierarchick� struktu�e, kter� se ��k� adres��. Specifikem adres��� je datov� model, ten obsahuje polo�ky uspo��dan� v zm�n�n� hierarchick� struktu�e a ka�d� polo�ka obsahuje atributy (atribut je nositel hodnoty). Adres��e m��eme rozd�lit podle toho jak�m zp�sobem spolupracuj� s ostatn�mi aplikacemi [K. Ben�k].

X.500 je ozna�en� standard� pro adres��ov� slu�by, kter� jsou definov�ny dokumenty X.500 a� X.521 [Recommendations X.500] vytvo�en�mi CCITT (Consultative Committee on International Telephony and Telegraphy) [J. Sitera]. Tyto standardy specifikuj� adres��ov� datov� struktury a operace nad nimi. Sou�astn� jsou vystav�ny na modelu server - klient (komunikace klienta s adres��ov�m serverem - directory access protocol DAP). LDAP byl navr�en jako zjednodu�en� forma DAP (lightweight) p�izp�soben� protokol�m TCP/IP, tento projekt se postupem �asu osamostatnil.

Pro adres��e obvykle plat�, �e jsou vhodn� pro takov� data ke kter�m je �asto p�istupov�no, ale nebyvaj� tak �asto m�n�na (datab�ze osob, spole�nost�, za��zen�).

Strom objekt�

Strom objek� (DIT - Directory Information Tree) je konkretn� struktura adres��ov�ho stromu. Zahrnuje specifikaci v�tven� stromu, rozd�len� polo�ek do skupin, atributy jednotliv�ch polo�ek. Ka�d� polo�ka m� unik�tn� jm�no, kter� je slo�en� z ��sti popisuj�c� v�tev do kter� pat�� a jm�no polo�ky v dan� v�tvi. Pro n�vrh struktury stromu objekt� existuje mnoho postup�, �len�n� konkretn�ho stromu je toti� dann� a nem�n�, ale existuje mnoho r�zn�ch hledisek jak k dat�m p�istupovat, co� je t�eba zohlednit p�i n�vrhu.

LDAP Schema

Data jsou tedy v LDAP informa�n�m modelu ulo�ena v hierarchick� struktu�e v polo�k�ch, ka�d� polo�ka obsahuje atrubuty s hodnotou definovan�ho typu. LDAP sch�ma ur�uje soubor povolen�ch typ� polo�ek stromu, ur�uje jm�na a typy atribut� ka�d� polo�ky.

Standartn� LDAP atributy jsou nap��klad: c - country, o - organisation, ou - organization unit, cn - common name, uid - identification

P��klad definice standartn� polo�ky Person a atributu Surname je uveden n��e.

objectclass ( 2.5.6.6 NAME 'person'

DESC 'RFC2256: a person'
SUP top STRUCTURAL
MUST ( sn $ cn )
MAY ( userPassword$telephoneNumber$seeAlso$description ))

attributetype ( 2.5.4.4 NAME ( 'sn' 'surname' )

DESC 'RFC2256: last (family) name(s) for which the entity is known by'
SUP name )

LDAP Schema obsahuje definici standartn�ch typ� dat, atribut� a polo�ek. Z�kladn�mi typy jsou: ces - �et�zec znak� (case sensitive), cis - ret�zec znak� (Case Insensitive), tel - telefonn� ��slo, bin - libovoln� (bin�rn�) data, dn - rozli�ovac� jm�no (objektu v adres��ov�ch slu�b�ch). Je mo�n� definovat vlastn� datov� typy, atributy a polo�ky.

Ka�d� z�znam v LDAP m� unik�tn� jm�no - distinguished name (DN), slo�en� z atribut� a jejich hodnot ur�uj�c�ch, kde se dan� z�znam nach�z� ve stromov� struktu�e.

P��klad DN: uid=xstepan3,ou=students,o=intranet,c=cz

N�stroje na pr�ci s LDAP (ldapsearch, ldapadd, GQ ...)

Pro pr�ci v LDAP slou�� n�stroje konzolov� (ldap-utils, ldaptor-utils), nebo s grafick�m rozhran�m (GQ). V�echny tyto n�stroje se sna�� u�ivateli poskytnout p��stup k LDAP operac�m. LDAP operace m��eme rozd�lit do 3 t��d: a) prohled�v�n�, b) zm�ny dat, c) autentizace.

Prohled�v�n� (ldapsearch) - jedin� operace pro z�sk�v�n� dat z datab�ze, je navr�ena obecn�, jak pro prohled�v�n�, tak pro z�sk�n� konkretn�ch dat.

Zm�ny dat - ldapadd, ldapdelete, ldapmodify

Autentizace - ldapbind, ldapunbind

OpenLDAP

OpenLDAP [OpenLDAP] je open source implementace protokolu LDAP, vyv�jen� OpenLDAP Project od roku 1998. Software je dostupn� pro r�zn� platformy: Linux, BSD-variants, AIX, Android, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT, 2000, XP, Vista, Windows 7), a z/OS. Sou��st� bal�ku je:

Z�kladn� nastaven�

Server je po instalaci v z�kladn�m nastaven�, konfigura�n� soubor je um�st�n na Linuxu v /etc/ldap/slapd.conf. Sch�ma je um�st�no v adres��i /etc/ldap/schema/.

P��klady pr�ce s LDAP

P�ipojen� u�ivatele xstepan3 na server m�jhost, port 389, s heslem heslo.

ldapbind -h m�jhost -p 389 -D "cn=xstepan3" -w heslo

Vyhled�n� v�ech polo�ek (filtr "objectclass=*"), prohled�van� oblast je specifikov�na pomoc� "ou=people,dc=acme,dc=com", anonimn� autentifikace.

ldapsearch -h m�jhost -p 389 -b "ou=students,o=muni,dc=cz" "objectclass=*"

P�id�n� polo�ky z textov�ho souboru novyuzivatel.ldif

ldapadd -h m�jhost -p 389 -D "cn=xstepan3" -w heslo -f novyuzivatel.ldif

Smaz�n� polo�ky.

ldapdelete -h m�jhost -p 389 -D "cn=xstepan3" -w heslo "uid=uzivatel,ou=students,o=muni,dc=cz"

Unixov� u�ivatel� v LDAPu (PosixAccount, ShadowAccount)

Atributy PosixAccount a ShadowAccount odpov�daj� obsahov� z�znam�m v unixov�ch souborech /etc/passwd, /etc/shadow. Tyto z�znamy jsou nutn� pro autentizaci v unixov�ch syst�mech.

Autentizace, Spolupr�ce se SASL

Existuje n�kolik mo�nost� autentizace:

Jak na LDAP v unixu (nsswitch.conf, nscd/nsd ...)

Pro mo�nost pou�it� LDAP serveru pro autentizaci v unixu je t�eba m�t nastaven� polo�ky posixAccount a shadowAccount. D�le je t�eba nainstalovat podporu LDAP v nsswitch a pam modul pro LDAP. Konfigurace nsswitch b�v� v souboru /etc/nsswitch.conf, je zde pot�eba nastavit mo�nost dotazov�n� na informace o u�ivatel�ch:

passwd: files ldap
group: files ldap

Pam modul je treba nastavit na adresu konkretn�ho LDAP serveru, a za�lenit pam modul pam_ldap.so do autentiza�n�ho syst�mu /etc/pam.d/common.

Replikace, fragmentace

D�le�it�m faktorem LDAP serveru je jeho dostupnost, robustnost a rychlost. Pro zlep�en� t�chto vlastnost� lze pou��t n�sleduj�c� postupy.

�len�n� na ��sti, kdy ka�d� ��st obsahuje ur�itou ��st LDAP stromu a je zaji�t�na jin�mi prost�edky. Jednotliv� ��sti jsou potom spojeny odkazy.

Pro zv��en� rychlosti a dostupnosti je mo�n� utvo�it n�kolik replik, kdy v p��pad� v�padku jedn� zajist� dostupnost slu�by druh�. P�i b�n�m provozu je n�por rozlo�en na jednotliv� repliky, co� zvy�uje rychlost.

Literatura