Hlzati Opercis Rendszerek LDAP Open LDAP Elad Bilicki
Hálózati Operációs Rendszerek LDAP, Open. LDAP Előadó: Bilicki Vilmos bilickiv@inf. u-szeged. hu www. inf. u-szeged. hu/~bilickiv 1
Forrás l Brian Arkils: LDAP directories explained 2
Tartalom/1 l LDAP l l LDAP névtér l LDAP objektum struktúra l LDAP objektum elnevezés Kliens LDAP műveletek l Cimtárképes alkalmazások l Keresés l LDAP protokol LDAP séma l Objektum osztályok l Attribútumok l Szintakszisok l Egyezési szabályok l OID-k l Séma ellenőrzés Cimtár menedzsment 3
Tartalom/2 l Open. LDAP l l l Névtér Műveletek és kliensek Séma Menedzsment Biztonság 4
LDAP – könnyűsúlyú X. 500 DAP l l l Működő kód (jobb mint a rideg szabványok) Több éve fejlesztik (RFC 1487 (1993): LDAPv 1; RFC 1777 (1995): LDAPv 2; RFC 2251 (1997): LDAPv 3) Csak könyvtár-hozzáférési protokoll nem teljes címtár l l Csak azt specifikálja hogyan társalogjon a kliens és a szerver Nem specifikálja a címtár működését 5
LDAP általános hozzáférési protokoll 6
LDAP v 3 RFC 3377 l l l l RFC 2251 (LDAP a vezetéken) RFC 2252 (Attribútum szintakszis definiálás) RFC 2253 (UTF-8) RFC 2254 (LDAP kereső kulcsszavak) RFC 2255 (LDAP URL) RFC 2256 (X 500 -ból átvett felhasználói séma) RFC 2829 (Azonosítási módszerek) RFC 2830 (Bővítmények TLS számára) 7
LDAP objektum struktúra l l l Csak fa struktúra – DIT Minden elem lehet tároló elem Struktúra szabályok korlátozhatják ezt l X. 500 l l l c –country l –locale o –organization ou –organization unit Névterek (Naming contexts) l Lapos névtér l l l gyors növekedés Nem skálázható Gyakorlatban: l l Politikai/funkció Földrajzi Erőforrás alapú Felhasználó alapú 8
LDAP objektum elnevezés(1) l l l RDN – relativ megkülönböztető név l Elnevezési attribútum (nincs definiálva az LDAP-ban) l Több attribútum is lehet l Mit érdemes RDN-nek választani? DN – megkülönböztető név OID - Objektum azonositó l Minden attribútum tipusnak van egy OID-je 2. 5. 4. 3 l Egyértelmű azonositás Gyakoribb attribútumok: l cn – common name l l – locality name l st – state or province name l c – country name l dc – domain component l uid – user identity Speciális karakterek , l Kód beszúrás ? 9
LDAP objektum elnevezés(2) l URL elnevezés RFC 2255 l ldap: //[hostname][/dn[? [attributes]? ][? [scope][? [filter]? ][? [ extensions]] 389 -es port scope l l l Base One Sub Filter – (objectclass=*) ldap: //wanda. cab. u-szeged. hu: 389/cn=Vilmos Bilicki, ou=Staff, dc=cab, dc=u-szeged, dc=hu? sn LDAPv 2 , szóköz ‘ 10
LDAP kliens műveletek(1) l l LDAP kliens – amit a felhasználó lát a cimtárból Cimtár képes alkalmazások l Email szerverek l l Csoportmunak támogató alkalmazások Email klinesek l l Sendmail Exchange Netscape mail Pine Outlook Tanúsitvány szolgáltatók 11
LDAP kliens műveletek(2) l Keresés l Nincs olvasás -> keresni kell l Kötelező paraméterek l l Alap DN, legalább a gyökeret ismernünk kell (dc=cab, dc=u-szeged, dc=hu) A keresés hatóköre § § § l Kereső szűrő, attribótum tipus+összehasonlitó operátor+érték (cn=Bilicki Vilmos) § l l Base – csak egy bejegyzést One – mindent egy szinten Subtree – minden DN alatti =, <=, >=, ~= Lehet szűrőket kombinálni &, |, ! (|(cn=Vilmos Bilicki)(cn=Bilicki Vilmos)) Opcionális paraméterek l l l Mit szeretnénk visszakapni deref. Aliases size. Limit time. Limit types. Only 12
LDAP protokol (RFC 2251) l l l Címtár hozzáférési protkoll írás/olvasás Egyszerűsített DAP (egyszerűbb kliensek) Hivatkozások használata (Referral) SASL (Simple Authentication and Security Layer) Bővíthető Publikált séma 13
LDAP protokol (RFC 2251) l l Kliens – szerver LDAP, CLAPD Minimalizálja a kliens feladatait Aszinkron működés l l a szerver nem köteles sorrendben válaszolni, a kliens nem köteles megvárni a választ Adatmodell: l X. 500 adatmodell l Egy vagy több szerver l DIT l RDN l DN 14
LDAP kommunikációs minta 1. 2. 3. 4. 5. 6. 7. Kliens kapcsolódik a szerverhez - bind művelet A szerver visszaadja a bind ereményét Kliens keresés művelet Szever válasz (találatok) Szerver válasz eredménykód Kliens lekapcsolódás – unbind művelet Szerver unbind üzenet 15
LDAP műveletek l Bind l l l l Search Compare Add Delete Modify. RDN, Rename l l Üres string anonym Megtarthatja az átnevezettet is Unbind Abandon Extend 16
LDAP vezérlők l l l A kliens kérheti a szervert, hogy a normál művelete egy kicsit máshogy hajtsa végre root DSE – supported. Control tulajdonság Példák l l l paged search – egységenként kapja az erdményt nem egyszerre, size. Limit server-side sort – a szerver sorbarendezve adja át persistent search – a szűrüben eső tartalom változáskor értesiti a klienset 17
LDAP séma (1) l l l l l A felhasználók elől rejtve van Megadja a tárolható információ leirását Módositásával a cimtár kiterjeszthető Objektum osztály – definiálja a megengedett bejegyzéseket l Tartalom szabályok l Struktúra szabályok l Név formátum Tulajdonság tipus – tipust definiál l Szintakszis l Egyezési szabályok Alapételmezett séma: RFC 2252 Felhasználói séma: RFC 2256 X. 500 definiciók érvényesek Nincs kötelező séma LDAPv 3 – minden bejegyzés alséma bejegyzésbe kell a séma helyét publikálni subschema. Subentry 18
LDAP séma(2) l Objektum osztályok l Bejegyzések tipusai l objectclass tulajdonság l Tipusai l l l Függőségi hierarchiába rendezhetőek (öröklés, nincs szűkités) Elemei: l l l l l Absztrakt – a hierarchia alapja Kiegészitő – nem lehet hierarchiába rendezni Strukturális - származtatott OID Név Leirás Inaktiv állapot Alap osztály Kategória Kötelező tulajdonságok Opcionális tulajdonságok Gyakran – Elnevezési attribútum, Tartalmazó szabályok Szövegfájlban vagy cimtárban tárolják 19
LDAP séma(3) l Tulajdonságok l l RFC 2252, RFC 2251 Tulajdonság tipus l Szintakszis l Egyezési szabályok l Elemei: § § § § OID Név – több is lehet Leirás – opciók pl. bináris Inaktiv állapot Alap osztály Egyezőség szabály Sorbarendezés szabály Részegyezés szabály Szintakszis Megengedett értékek száma – többnyelvű bejegyzések Kollektiv Módositható Használata 20
LDAP séma(4) l Tulajdonságok l Működési tulajdonságok l l l l create. Timestamp modify. Timestamp creators. Name modifiers. Name subschema. Subentry attribute. Types alt. Server Alséma 21
LDAP séma(5) l Szintakszisok l l ASN. 1 RFC 2252 - 58 alap szintakszis l l Binary 1. 3. 6. 1. 4. 1. 1466. 115. 121. 1. 5 0 vagy 1 Nincs szabvány Összehasonlitási szabályok OID l l l Garantálja az egyediségét? IANA Bővithető 22
LDAP séma(6) l Bővitmények l DNS l l l dynamic. Object – kiegészitő osztály l l l dc - tulajdonság domain, dc. Object – kiegészitő objektum osztály lejár – pl. gyűlés, ideiglenes dolgozó time-to-live – tulajdonság Java DHCP KDC 23
Open. LDAP (1) l l l University of Michigan http: //www. openldap. org/ Nyilt forráskódú szoftver l l l Operációs rendszer független l l l Általános cimtár szerepkörre törekszik Szigorúan követi az LDAP RFC-ket Moduláris felépités l l Gyakori kibocsátás (heti, havi) Minőséges szoftver Biztonság Adatbázis … Két process: l l slapd – szöveges konfig. fájlok slurpd – log fájl mentén replikáció 24
Open. LDAP (2) l Névtér l l l Egyszerű névtér Az LDAP szabványokat követi Használhatja DNS-t a névterében (RFC 2247) l l l dc=inf, dc=u-szeged, dc=hu Támogatja DNS SRV rekordokat Az Open. LDAP működtet egy gyökér szervert (RFC 3088) l l l root. openldap. org LDAP URL-t ad vissza a DN lekérdezésekre (SRV) specifikáció § § _ldap. _tcp. mycompany. com ldap: //server 1. mycompany. com 25
Open. LDAP (3) l Névtér: l Egy szerveren több névtér is tárolható l l Ajánlott külön-külön adatbázis minden névtérnek Nagyobb tervezési szabadság § § § l Hivatkozások (referrals) l Tipusai: § § § l l l Replikációs topológia Konfiguráció Indexelés… Felső (superior) – slurpd szövegfájlában ! Alsó (subordinate) Külső (extrenal) class=referral Manage. Dsa. IT támogatva van Replikáció l l Single Master ajánlott Multimaster van de kisérleti Slapd replog fájl Slurpd LDAP műveletek 26
Open. LDAP (4) l Névtér: l Adatbázis támogatás l l LDBM az alapértelmezett Más adatbázis is használható § § l Shell háttér – az LDAP parancsokat le kell kódolnunk Proxy használat Indexelés § § § LDBM támogatja, slapd ckonfig. fájl Komolyabb hangolást igényel mint más termékeknél Minden hagyományos operátor alapján indexelhetünk index st eq index user. Cretificate pres 27
Open. LDAP (5) l Működés, kliensek: l l Szabványos de kevés plussz szolgáltatás Parancssoros kliens: l l Kevés integrált alkalmazás l ldapadd ldapdelete ldap. . sendmail Terméktámogatás mint más open source projektnél, levelezőlista Vezérlők l l Password Modify Control Manage. Dsa. IT 28
Open. LDAP (6) l Séma: l l Minden RFC –ben leirt definiciót tartalmaz néhány kisérletivel kiegészitve BNF formátumú l l Zárójel opcionális elem Nagybetű kötelező elem (oid NAME ‘objectclassname’ SUP superclass objectclasskind MUST (attribute 1 $ atribute 2) MAY (attribute 3 $ atribute 4)) ( 2. 5. 6. 6 NAME ‘person’ SUP top STRUCTURAL MUST (sn $ cn) MAY (user. Password $ telephone. Number) ) l l Slapd konfig. fájlban + 9 séma fájl További fájlokat lehet hozzáadnunk 29
Open. LDAP (7) l Séma: l l l l 58 szintaxis (bővithető) 33 egyezési szabály (bővithető) schema_init. c-ben tehetjük meg ezt 81 osztályt támogat (igyekszik a szabványokat követni) Többszörös öröklődés Alias támogatás (cimtáron belüli hivatkozás) 192 tulajdonság l l l Altipusok Opciók (nyelvi változatok) Néhány működési tulajdonság (modifiers. Name, …) ezeket autómatikusan használja 30
Open. LDAP (8) l Menedzselés: l LDIF támogatás l l l slapadd slapcat Indexelés l Slapindex (változáskor ójra kell épiteni az indexet) 31
Open. LDAP (9) l Biztonság: l l l RFC 2829 RFC 2830 Cyrus SASL (Simple Authentication and Secutity Layer) modul l l l l ANONYMOUS CRAM-MD 5 KERBEROS_V 4 PLAIN GSSAPI DIGEST-MD 5 LOGIN SRP 32
Open. LDAP (10) l Biztonság: l Azonositás l l l SASL id -> Open. LDAP id uid=bilicki, cn= mycompany. com, cn=KERBEROS_V 4, cn= AUTH slapd konfig. fájl hozzárendelés sasl. Regexp uid=(. *), cn=MYCOMPANY. COM, cn=KERBEROS_V 4, cn=auth uid=$1, ou=People, dc=Mycompany, dc=com 33
Open. LDAP (11) l Biztonság: l Személytelenités (impersonation) l l l Web szerver -> cimtár Trükkös ACL slapd konfig. Fájl l l sasl. Authz. To sasl. Authz. From sasl. Authz. To=uid. *, ou=People, dc=Mycompany, dc=com 34
Open. LDAP (12) l Biztonság: l Engedélyezés l slapd konfig. Fájl dirketivák § § l l l Adatbázis szintű Globális szintű acces to <mit> by <ki> <hozzáférés> acces to dn=_. *, ou=People, dc=Mycompany, dc=com by dn=_cn=Han Solo, ou=Peolpe, dc=Mycompany, dc=com write dn=_. *, ou=Peolpe, dc=Mycompany, dc=com read Módositás után újra kell inditani !!!!!! 35
Áttekintés/1 l LDAP l l LDAP névtér l LDAP objektum struktúra l LDAP objektum elnevezés Kliens LDAP műveletek l Cimtárképes alkalmazások l Keresés l LDAP protokol LDAP séma l Objektum osztályok l Attribútumok l Szintakszisok l Egyezési szabályok l OID-k l Sáma ellenőrzés Cimtár menedzsment 36
Áttekintés/2 l Open. LDAP l l l Névtér Műveletek és kliensek Séma Menedzsment Biztonság 37
A következő előadás tartalma l l Directory Server Active Directory 38
- Slides: 38