LDAP

Martin Kolman, 255628@mail.muni.cz

Obsah

�vod

Zkratka LDAP neboli Lightweight Directory Access Protocol[1][5] ozna�uje protokol pro p��stup k centr�ln� ulo�en�m informac�m prost�ednictv�m po��ta�ov� s�t�. Po��ta�ov� s�� je v tomto p��pad zastoupena spojen�m p�es protokol TCP a centr�ln� ulo�en� data p�edstavuje strukturovan� adres��.

LDAP vych�z� z protokolu X.500, je v�ak jednodu��� a m�n� n�ro�n� na zdroje - proto se mu n�kdy p�ezd�v� "X.500 Lite".

Struktura adres��e

Adres�� m� stromovou strukturu, kter� ur�uje jednozna�n� kl�� k z�znam�m ulo�en�m v listech.

Zachov�n� integrity adres��ov�ho stromu m� na starosti tzv. sch�ma, co� je soubor pravidel aplikovan�ch jak na strukturu stromu, tak hodnoty ulo�en� v listech �i porovn�v�n� z�znam�.

Adres�� m��e tak� obsahovat odkazy, kter� umo��uj� p�esm�rov�n� dotazuj�c�ho na jin� adres��e, co� lze pou��t k vytvo�en� geograficky rozs�hl�ho ad-hoc informa�n�ho reposit��e.

Protokol

LDAP umo��uje klientsk�m program�m p�istupovat prost�ednictv�m serveru k adres��i. Klienti pokl�daj� serveru dotazy, server dotazy nad adres��em vyhodnot� a po�le zp�tky odpov��. Komunikace prob�h� s n�kolika v�jimkami asynchronn�, tzn. klient nemus� �ekat na vy��zen� dotaz� a m��e jich poslat v�ce hned za sebou a server vrac� odpov�di v libovoln�m po�ad�. K p�i�azen� dotazu ke spr�vn� odpov�d� slou�� identifika�n� ��sla obsa�en� ve zpr�v�ch.

Technick� informace

Komunikace prob�h� na TCP portu ��slo 389, star�� verze protokolu (LDAPv2) je�t� pou��valy port 636 pro tunelov�n� LDAPU pomoc� SSL, od roku 2003 je v�ak tento zp�sob �ifrov�n� spole�n� s protokolem verze 2 ofici�ln� pova�ov�n za zastaral�.

LDAP je bin�rn� protokol, popsan� pomoc� ASN.1[3] (Abstract Syntax Notation One) a p�en�en� k�dov�n�m BER (Basic Encoding Rules). Na�t�st� jej v�ak lze prezentovat i v lidsky �iteln� form� nap�. pomoc� LDIF[4] (LDAP Data Interchange Format).

P��klad LDIF p�evzat� z wikipedie:

dn: cn=The Postmaster,dc=example,dc=com
objectClass: organizationalRole
cn: The Postmaster

Autentizace a �ifrov�n�

U LDAPu verze 2 bylo zabezpe�en� �asto tunelov�n�m ve�ker� komunikace prost�ednictv�m SSL. LDAP verze 3 p�id�v� nov� p��kaz StartTLS, kter� zah�j� komunikaci prost�ednictv�m TLS. Pro ov��en� identity serveru (a voliteln� i klienta) je pou�it X.509 certifik�t.

P��kazy

StartTLS - Pou�ije TLS roz���en� LDAP verze 3 pro zabezpe�en� spojen�.

Bind - Autentizace a ozn�men� verze protokolu. Pokud je LDAP pou��v�n pouze k autentizaci, b�v� zpravidla pou��v�n jen a pouze tento p��kaz.

Search - Vyhled�v�n� polo�ek v adres��i.

Compare - Ov��en� zda polo�ka s dan�m jm�nem obsahuje danou hodnotu.

Add - P�id� nov� z�znam.

Delete - Sma�e z�znam.

Modify - Modifikace z�znamu.

Modify Distinguished Name - Vzhledem k tomu, �e DN ud�v� jedine�nou cestu k hodnot� z�znamu, dojde modifikac� DN k p�esunu �i p�ejmenov�n� z�znamu.

Abandon - Zru�en� po�adavku s dan�m ID zpr�vy. Server tento po�adavek nemus� p�ijmout, tato operace tak� nevrac� ��dnou zpr�vu o �sp�n�m ukon�en� operace.

Extended Operation - Obecn� operace pro tvorbu nov�ch roz�i�uj�c�ch operac�.

Unbind - Zru�� v�echny doposud nevy��zen� operace a ukon�� spojen�. Nevrac� ��dn� n�vratov� k�d nebo jeho obdobu.

Software[2]

Servery

Umo��uj� klientsk�m program�m p��stup k adres��i pomoc� po��ta�ov� s�t�.

OpenLDAP
Nez�visl� OSS projekt napsan� v jazyce C, �irok� reperto�r podporovan�ch platforem (Linux, BSD, AIX, HP-UX, Mac OS X, Solaris, Windows, z/OS). Jedn� se vlastn� o distribuci zahrnuj�c� jak LDAP server tak klientsk� programy, knihovny a n�stroje pro program�tory.
389 Directory Server
Vyvinut spol�nost� Red Hat v r�mci Fedory, existuje i placen� verze s podporou. Mezi podporovan� platformy pat�� Linux, Solaris a HP-UX.
FreeIPA
Projekt sponzorovan� Red Hatem, postaven na 389 Directory Serveru a MIT Kerberos 5, c�lem je vytvo�it syst�m podobn� nap�. Active Directory od spole�nosti Microsoft.
Apache Directory Server
Kompletn� napsan� v Jav�, podporuje LDAPv3 a Kerberos.
Novell eDirectory
Pro Linux, Solaris, AIX, HP-UX, NetWare a Windows. Podpora nejen LDAP ale i dal�� protokoly (ODBC, SOAP, etc.).
Oracle Internet Directory
Od spole�nosti Oracle, vyu��v� Oracle datab�zi, LDAP verze 3.
Sun Java System Directory Server
Pro Solaris, Linux, HP-UX a Windows; zabito Oraclem.
OpenDS
Projekt spole�nosti Sun Microsystems, napsan� v Jav�, v�voj ukon�en (Oracle ?) ?
OpenDJ
P�vodn� fork OpenDS iniciovan� Sunem, nyn� open source projekt pod Oraclem, LDAPv3. V�voj zd� se st�le je�t� prob�h�.
Active Directory
Software pro Windows, LDAPv2/3 + Kerberosem + DNS, pou��v� se k vytvo�en� tzv. "Dom�ny".

Klientsk� programy

Komunikuj� s LDAP serverem pomoc� po��ta�ov� s�t�, zad�vaj� dotazy t�kaj�c� se adres��e a zpracov�vaj� vr�cen� v�sledky.

Ekiga
Program pro VoIP & Video konference, podporuje LDAP adres��e.
Mozilla Thunderbird
Desktopov� mailov� klient s podporou pro LDAP.
Evolution
Mailov� klient + PIM s podporou pro LDAP.
JXplorer
Multiplatformn� javov� klient umo��uj�c� pr�zkum LDAP adres���.

Instalace OpenLDAPu na CENTOS

Instalace OpenLDAPu na CENTOS je podrobn� pops�na v dokumentaci CENTOSu[6], zde pro p�ehlednost uvedu v�tah zalo�en� na stru�n� instala�n� p��ru�ce.[7]

P�edpokl�dejme, �e je u�ivatel p�ihl�en jako root.

Nainstalujeme pot�ebn� bal�ky:

yum install openldap openldap-servers openldap-clients
Pot� modifikujeme hlavn� konfigura�n� soubory:
nano /etc/openldap/slapd.conf
A spust�me LDAP d�mona:
service ldap start

Funk�nost m��eme ov��it nap�. pomoc� p��kazu ldapssearch:

ldapsearch -x

ldapssearch s parametrem -x by m�l vyhledat v�echny z�znamy a vypsat je v LDIF form�tu na standardn� v�stup.

P��klady pou�it�

P�evzato z refer�tu na LDAP z jara 2011[8].

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, anonymn� autentizace.

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"

Literatura