hálózati operációs rendszerek

38
1 Hálózati Operációs Rendszerek LDAP, OpenLDAP Előadó: Bilicki Vilmos [email protected] www.inf.u-szeged.hu/~bilickiv

Upload: gerd

Post on 12-Jan-2016

27 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Hálózati Operációs Rendszerek

1

Hálózati Operációs Rendszerek

LDAP, OpenLDAP

Előadó: Bilicki [email protected]/~bilickiv

Page 2: Hálózati Operációs Rendszerek

2

Forrás Brian Arkils: LDAP directories explained

Page 3: Hálózati Operációs Rendszerek

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

Page 4: Hálózati Operációs Rendszerek

4

Tartalom/2 OpenLDAP

Névtér Műveletek és kliensek Séma Menedzsment Biztonság

Page 5: Hálózati Operációs Rendszerek

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

Page 6: Hálózati Operációs Rendszerek

6

LDAP általános hozzáférési protokoll

Page 7: Hálózati Operációs Rendszerek

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)

Page 8: Hálózati Operációs Rendszerek

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ú

Page 9: Hálózati Operációs Rendszerek

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 ?

Page 10: Hálózati Operációs Rendszerek

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 ‘

Page 11: Hálózati Operációs Rendszerek

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

Page 12: Hálózati Operációs Rendszerek

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

Page 13: Hálózati Operációs Rendszerek

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

Page 14: Hálózati Operációs Rendszerek

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

Page 15: Hálózati Operációs Rendszerek

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

Page 16: Hálózati Operációs Rendszerek

16

LDAP műveletek Bind

Üres string anonym Search Compare Add Delete Modify ModifyRDN, Rename

Megtarthatja az átnevezettet is Unbind Abandon Extend

Page 17: Hálózati Operációs Rendszerek

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

Page 18: Hálózati Operációs Rendszerek

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

Page 19: Hálózati Operációs Rendszerek

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

Page 20: Hálózati Operációs Rendszerek

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

Page 21: Hálózati Operációs Rendszerek

21

LDAP séma(4) Tulajdonságok

Működési tulajdonságok createTimestamp modifyTimestamp creatorsName modifiersName subschemaSubentry attributeTypes altServer

Alséma

Page 22: Hálózati Operációs Rendszerek

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ő

Page 23: Hálózati Operációs Rendszerek

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

Page 24: Hálózati Operációs Rendszerek

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ó

Page 25: Hálózati Operációs Rendszerek

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

Page 26: Hálózati Operációs Rendszerek

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)

Page 27: Hálózati Operációs Rendszerek

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)

Page 28: Hálózati Operációs Rendszerek

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)

Page 29: Hálózati Operációs Rendszerek

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)

Page 30: Hálózati Operációs Rendszerek

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)

Page 31: Hálózati Operációs Rendszerek

31

Menedzselés: LDIF támogatás

slapadd slapcat

Indexelés Slapindex (változáskor ójra kell épiteni az indexet)

OpenLDAP (8)

Page 32: Hálózati Operációs Rendszerek

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)

Page 33: Hálózati Operációs Rendszerek

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)

Page 34: Hálózati Operációs Rendszerek

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)

Page 35: Hálózati Operációs Rendszerek

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)

Page 36: Hálózati Operációs Rendszerek

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

Page 37: Hálózati Operációs Rendszerek

37

Áttekintés/2 OpenLDAP

Névtér Műveletek és kliensek Séma Menedzsment Biztonság

Page 38: Hálózati Operációs Rendszerek

38

A következő előadás tartalma Directory Server Active Directory