hálózati operációs rendszerek
DESCRIPTION
Hálózati Operációs Rendszerek. LDAP, OpenLDAP Előadó: Bilicki Vilmos [email protected] www.inf.u-szeged.hu/~bilickiv. Forrás. Brian Arkils: LDAP directories explained. Tartalom/1. LDAP LDAP névtér LDAP objektum struktúra LDAP objektum elnevezés Kliens LDAP műveletek - PowerPoint PPT PresentationTRANSCRIPT
2
Forrás Brian Arkils: LDAP directories explained
3
Tartalom/1 LDAP
LDAP névtér LDAP objektum struktúra LDAP objektum elnevezés
Kliens LDAP műveletek Cimtárképes alkalmazások Keresés LDAP protokol
LDAP séma Objektum osztályok Attribútumok Szintakszisok Egyezési szabályok OID-k Séma ellenőrzés
Cimtár menedzsment
4
Tartalom/2 OpenLDAP
Névtér Műveletek és kliensek Séma Menedzsment Biztonság
5
LDAP – könnyűsúlyú X.500 DAP Működő kód (jobb mint a rideg szabványok) Több éve fejlesztik (RFC 1487 (1993): LDAPv1;
RFC 1777 (1995): LDAPv2; RFC 2251 (1997): LDAPv3)
Csak könyvtár-hozzáférési protokoll nem teljes címtár Csak azt specifikálja hogyan társalogjon a kliens és
a szerver Nem specifikálja a címtár működését
6
LDAP általános hozzáférési protokoll
7
LDAP v3 RFC3377 RFC2251 (LDAP a vezetéken) RFC2252 (Attribútum szintakszis definiálás) RFC2253 (UTF-8) RFC2254 (LDAP kereső kulcsszavak) RFC2255 (LDAP URL) RFC2256 (X500-ból átvett felhasználói séma) RFC2829 (Azonosítási módszerek) RFC2830 (Bővítmények TLS számára)
8
LDAP objektum struktúra Csak fa struktúra – DIT Minden elem lehet tároló elem Struktúra szabályok korlátozhatják ezt
X.500 c –country l –locale o –organization ou –organization unit
Névterek (Naming contexts) Lapos névtér
gyors növekedés Nem skálázható
Gyakorlatban: Politikai/funkció Földrajzi Erőforrás alapú Felhasználó alapú
9
LDAP objektum elnevezés(1) RDN – relativ megkülönböztető név
Elnevezési attribútum (nincs definiálva az LDAP-ban) Több attribútum is lehet Mit érdemes RDN-nek választani?
DN – megkülönböztető név OID - Objektum azonositó
Minden attribútum tipusnak van egy OID-je 2.5.4.3 Egyértelmű azonositás
Gyakoribb attribútumok: cn – common name l – locality name st – state or province name c – country name dc – domain component uid – user identity
Speciális karakterek \, Kód beszúrás ?
10
LDAP objektum elnevezés(2) URL elnevezés RFC 2255
ldap://[hostname][/dn[?[attributes]?][?[scope][?[filter]?][?[extensions]]
389-es port scope
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 LDAPv2 , szóköz ‘
11
LDAP kliens műveletek(1) LDAP kliens – amit a felhasználó lát a cimtárból Cimtár képes alkalmazások
Email szerverek Sendmail Exchange
Csoportmunak támogató alkalmazások Email klinesek
Netscape mail Pine Outlook
Tanúsitvány szolgáltatók
12
LDAP kliens műveletek(2) Keresés
Nincs olvasás -> keresni kell Kötelező paraméterek
Alap DN, legalább a gyökeret ismernünk kell (dc=cab,dc=u-szeged,dc=hu) A keresés hatóköre
Base – csak egy bejegyzést One – mindent egy szinten Subtree – minden DN alatti
Kereső szűrő, attribótum tipus+összehasonlitó operátor+érték (cn=Bilicki Vilmos) =, <=, >=, ~=
Lehet szűrőket kombinálni &, |, !(|(cn=Vilmos Bilicki)(cn=Bilicki Vilmos))
Opcionális paraméterek Mit szeretnénk visszakapni derefAliases sizeLimit timeLimit typesOnly
13
LDAP protokol (RFC2251) 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
14
LDAP protokol (RFC2251) Kliens – szerver LDAP, CLAPD Minimalizálja a kliens feladatait Aszinkron működés
a szerver nem köteles sorrendben válaszolni, a kliens nem köteles megvárni a választ
Adatmodell: X.500 adatmodell
Egy vagy több szerver DIT RDN DN
15
LDAP kommunikációs minta1. Kliens kapcsolódik a szerverhez - bind művelet
2. A szerver visszaadja a bind ereményét
3. Kliens keresés művelet
4. Szever válasz (találatok)
5. Szerver válasz eredménykód
6. Kliens lekapcsolódás – unbind művelet
7. Szerver unbind üzenet
16
LDAP műveletek Bind
Üres string anonym Search Compare Add Delete Modify ModifyRDN, Rename
Megtarthatja az átnevezettet is Unbind Abandon Extend
17
LDAP vezérlők A kliens kérheti a szervert, hogy a normál
művelete egy kicsit máshogy hajtsa végre root DSE – supportedControl tulajdonság Példák
paged search – egységenként kapja az erdményt nem egyszerre, sizeLimit
server-side sort – a szerver sorbarendezve adja át persistent search – a szűrüben eső tartalom
változáskor értesiti a klienset
18
LDAP séma (1) 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
Tartalom szabályok Struktúra szabályok Név formátum
Tulajdonság tipus – tipust definiál Szintakszis 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 LDAPv3 – minden bejegyzés alséma bejegyzésbe kell a séma helyét
publikálni subschemaSubentry
19
LDAP séma(2) Objektum osztályok
Bejegyzések tipusai objectclass tulajdonság Tipusai
Absztrakt – a hierarchia alapja Kiegészitő – nem lehet hierarchiába rendezni Strukturális - származtatott
Függőségi hierarchiába rendezhetőek (öröklés, nincs szűkités) Elemei:
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
20
LDAP séma(3) Tulajdonságok
RFC 2252, RFC 2251 Tulajdonság tipus
Szintakszis Egyezési szabályok 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
21
LDAP séma(4) Tulajdonságok
Működési tulajdonságok createTimestamp modifyTimestamp creatorsName modifiersName subschemaSubentry attributeTypes altServer
Alséma
22
LDAP séma(5) Szintakszisok
ASN.1 RFC2252 - 58 alap szintakszis
Binary 1.3.6.1.4.1.1466.115.121.1.5 0 vagy 1 Nincs szabvány
Összehasonlitási szabályok OID
Garantálja az egyediségét? IANA Bővithető
23
LDAP séma(6) Bővitmények
DNS dc - tulajdonság domain, dcObject – kiegészitő objektum osztály
dynamicObject – kiegészitő osztály lejár – pl. gyűlés, ideiglenes dolgozó time-to-live – tulajdonság
Java DHCP KDC
24
OpenLDAP (1) University of Michigan http://www.openldap.org/ Nyilt forráskódú szoftver
Gyakori kibocsátás (heti, havi) Minőséges szoftver
Operációs rendszer független Általános cimtár szerepkörre törekszik Szigorúan követi az LDAP RFC-ket
Moduláris felépités Biztonság Adatbázis …
Két process: slapd – szöveges konfig. fájlok slurpd – log fájl mentén replikáció
25
OpenLDAP (2) Névtér
Egyszerű névtér Az LDAP szabványokat követi Használhatja DNS-t a névterében (RFC 2247)
dc=inf, dc=u-szeged, dc=hu Támogatja DNS SRV rekordokat Az OpenLDAP működtet egy gyökér szervert (RFC
3088) root.openldap.org LDAP URL-t ad vissza a DN lekérdezésekre (SRV) specifikáció
_ldap._tcp.mycompany.com ldap://server1. mycompany.com
26
Névtér: Egy szerveren több névtér is tárolható
Ajánlott külön-külön adatbázis minden névtérnek Nagyobb tervezési szabadság
Replikációs topológia Konfiguráció Indexelés…
Hivatkozások (referrals) Tipusai:
Felső (superior) – slurpd szövegfájlában ! Alsó (subordinate) Külső (extrenal)
class=referral ManageDsaIT támogatva van
Replikáció Single Master ajánlott Multimaster van de kisérleti Slapd replog fájl Slurpd LDAP műveletek
OpenLDAP (3)
27
Névtér: Adatbázis támogatás
LDBM az alapértelmezett Más adatbázis is használható
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 eqindex userCretificate pres
OpenLDAP (4)
28
Működés, kliensek: Szabványos de kevés plussz szolgáltatás Parancssoros kliens:
ldapadd ldapdelete ldap..
Kevés integrált alkalmazás sendmail
Terméktámogatás mint más open source projektnél, levelezőlista
Vezérlők Password Modify Control ManageDsaIT
OpenLDAP (5)
29
Séma: Minden RFC –ben leirt definiciót tartalmaz néhány
kisérletivel kiegészitve BNF formátumú
Zárójel opcionális elem Nagybetű kötelező elem
(oid NAME ‘objectclassname’ SUP superclass objectclasskind MUST (attribute1 $ atribute2) MAY (attribute3 $ atribute4))
( 2.5.6.6 NAME ‘person’ SUP top STRUCTURAL MUST (sn $ cn) MAY (userPassword $ telephoneNumber) )
Slapd konfig. fájlban + 9 séma fájl További fájlokat lehet hozzáadnunk
OpenLDAP (6)
30
Séma: 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
Altipusok Opciók (nyelvi változatok) Néhány működési tulajdonság (modifiersName, …) ezeket
autómatikusan használja
OpenLDAP (7)
31
Menedzselés: LDIF támogatás
slapadd slapcat
Indexelés Slapindex (változáskor ójra kell épiteni az indexet)
OpenLDAP (8)
32
Biztonság: RFC 2829 RFC 2830 Cyrus SASL (Simple Authentication and Secutity
Layer) modul ANONYMOUS CRAM-MD5 KERBEROS_V4 PLAIN GSSAPI DIGEST-MD5 LOGIN SRP
OpenLDAP (9)
33
Biztonság: Azonositás
SASL id -> OpenLDAP iduid=bilicki, cn= mycompany.com, cn=KERBEROS_V4, cn= AUTH
slapd konfig. fájl hozzárendelés saslRegexp
saslRegexp
uid=(.*),cn=MYCOMPANY.COM,cn=KERBEROS_V4,cn=auth
uid=$1,ou=People,dc=Mycompany,dc=com
OpenLDAP (10)
34
Biztonság: Személytelenités (impersonation)
Web szerver -> cimtár Trükkös ACL
slapd konfig. Fájl saslAuthzTo saslAuthzFrom
saslAuthzTo=uid.*,ou=People,dc=Mycompany,dc=com
OpenLDAP (11)
35
Biztonság: Engedélyezés
slapd konfig. Fájl dirketivák 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 writedn=_.*,ou=Peolpe,dc=Mycompany,dc=com read
Módositás után újra kell inditani !!!!!!!!!!!
OpenLDAP (12)
36
Áttekintés/1 LDAP
LDAP névtér LDAP objektum struktúra LDAP objektum elnevezés
Kliens LDAP műveletek Cimtárképes alkalmazások Keresés LDAP protokol
LDAP séma Objektum osztályok Attribútumok Szintakszisok Egyezési szabályok OID-k Sáma ellenőrzés
Cimtár menedzsment
37
Áttekintés/2 OpenLDAP
Névtér Műveletek és kliensek Séma Menedzsment Biztonság
38
A következő előadás tartalma Directory Server Active Directory