Címtár szolgáltatások

Hasonló dokumentumok
Címtár szolgáltatások

Szalai Ferenc

LDAP és Kerberos. Mezei Tamás Simonyi Károly Szakkollégium

LINUX LDAP címtár. Mi a címtár?


NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 5. óra. Kocsis Gergely, Supák Zoltán

Utolsó módosítás:

Utolsó módosítás:

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz HIBAS Válasz HELYES Válasz HIBAS Válasz HIBAS Kérdés Kép Válasz

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis rendszerek. dr. Siki Zoltán

Melyek a Windows Server 2008 R2 tiszta telepítésének (Clean Install) legfontosabb lépései?

Webes alkalmazások fejlesztése

Informatikai alapismeretek Földtudományi BSC számára

Windows XP -> 7 - Samba4 a PPKE-n

JNDI - alapok. Java Naming and Directory Interface

OOP és UML Áttekintés

SAMBA. Forrás: Lajber Zoltán: SAMBA alapok dia, SZIE

ALKALMAZÁSOK ISMERTETÉSE

1. A Windows Vista munkakörnyezete 1

Nyilvántartási Rendszer

OpenLDAP mindenütt újra

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

Névfeloldás hosts, nsswitch, DNS

Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel

API tervezése mobil környezetbe. gyakorlat

Elosztott rendszerek

A Horde keretrendszer és az IMP Webmail rendszer

Mikrotik 6.22 telepítés

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

SC Kérdés. SC Kérdés. SC Kérdés

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

Mosolygó Ferenc. Értékesítési Konzultáns.

Automatikus infrastruktúra menedzsment és alkalmazástelepítés

Földmérési és Távérzékelési Intézet

Eduroam Az NIIF tervei

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Az internet az egész világot behálózó számítógép-hálózat.

Adatbázisok - 1. előadás

Előnyt jelent: - HUNGARNET és HBONE ismerete, - Hazai és nemzetközi szakmai életben, konferenciákon aktív részvétel.

IBM Tivoli Access Manager for WebLogic Server Felhasználóikézikönyv. 3.9-es verzió GC

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Kelenföldi Szilárd

Metadirectory koncepció kivitelezése

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

Tarantella Secure Global Desktop Enterprise Edition

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Rendszerterv. verzió: 1.3

Privát felhő megoldások és tapasztalatok

Oktatási cloud használata

Levelező szerverek. Hargitai Gábor november 28.

CRA - Cisco Remote Access

ARM Cortex magú mikrovezérlők. mbed

Enterprise User Security

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

NETinv. Új generációs informatikai és kommunikációs megoldások

Windows hálózati adminisztráció segédlet a gyakorlati órákhoz

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

AdoDB a gyakorlatban

Vodafone HomeNet Használati útmutató

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Címtárak kezelése

Alap protokollok. NetBT: NetBIOS over TCP/IP: Name, Datagram és Session szolgáltatás.

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft


Hálózati operációs rendszerek II. OES biztonsági rendszere

eduroam konfiguráció workshop Mohácsi János NIIF Intézet

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

JAVA webes alkalmazások

Microsoft SQL Server telepítése

Moodle IPSZILON előadás március 23.

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Open Enterprise Server a Novell NetWare legújabb verziója

Építsünk IP telefont!

HÁLÓZATI HASZNÁLATI ÚTMUTATÓ

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Egyetemi könyvtári nyilvántartó rendszer

S, mint secure. Nagy Attila Gábor Wildom Kft.

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

MMK-Informatikai projekt ellenőr képzés 4

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Felhasználói kézikönyv Bázis, Aktív, Portál és Portál+ csomagokhoz

Oralce kliens installálása Windows Server 2003-ra

Hálózati operációs rendszerek II.

Windows hálózati adminisztráció

2023 ban visszakeresné 2002 es leveleit? l Barracuda Message Archiver. Tóth Imre Kereskedelmi Igazgató Avisys Kft Barracuda Certified Diamond Partner

web works hungary Rövid technikai tájékoztató Mars (mars.intelliweb.hu) szerverünkkel kapcsolatban meglévő és új ügyfeleink számára.

Elnevezési rendszerek. A névtér elosztása (2) 4. előadás. A névfeloldás implementálása (1) A névfeloldás implementálása (2)

Átírás:

Intelligens rendszerfelügyelet (VIMIA370) Címtár szolgáltatások Szatmári Zoltán Tóth Dániel Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1

Előző és következő részek tartalmából Modellezés Szkriptelés Felhasználókezelés o Alapjai, hitelesítés (OPRE) o Engedélyezés (OPRE) o Központosított felhasználókezelés, címtárak 2

Tartalom A felhasználókezelés nehézségei Címtár szolgáltatások o LDAP o Active Directory 3

DEMO Felhasználókezelés nehézségei Sok rendszer Sok felhasználó (minden rendszeren külön-külön) Egyszer csak kitör a káosz o Elburjánzó felhasználói fiókok o Szétszinkronizálódó jelszavak o Webes alkalmazásnak, VPN-nek is kéne beléptetés, teljesen más rendszert használnak 4

Megoldások a káoszra Elburjánzó felhasználói fiókok felhasználói életciklus kezelésére eljárásrend Sok rendszer igényel hitelesítést központosított felhasználói adattár 5

Definíció: Címtár (directory) szolgáltatás o nyilvános adattár o intelligens címjegyzék (phone directory) Tárolt adatok o felhasználó adatai (e-mail címek, különböző fajta nevek, azonosítók,...) o számítógépek adatai o biztonsági információk o bármi egyéb 6

Címtár szolgáltatás hitelesítésre Hogy fogja ez megoldani a hitelesítést? SSH Szerver Címtár szolgáltatás VPN Szerver Címtár Szerver Web Szerver Beléptetés minden esetben a címtárban tárolt felhasználói adatok lekérdezésével történik. 7

Hogy néz ki egy címtár? Speciális adatbázis struktúra o szigorúan hierarchikus (általában objektum-orientált) 8

Hogy néz ki egy címtár? Speciális adatbázis struktúra o szigorúan hierarchikus (általában objektum-orientált) User + ID + Name + Real Name + Personal data + Shared Secret (Password, etc.) + Private Datastore path 9

Hogy néz ki egy címtár? Speciális adatbázis struktúra o szigorúan hierarchikus (általában objektum-orientált) Domináns műveletek: o keresés o olvasás o batch jellegű hozzáadás / módosítás 10

Címtárak fejlődéstörténete DNS (Domain Name Service) NIS (Network Information System) o volt Sun Yellow Pages (Sun Microsystems, 1988, SunOS 4.0) A korszerűbbek o X.500 / LDAP o Active Directory 11

Tartalom A felhasználókezelés nehézségei Címtár szolgáltatások o LDAP LDAP bevezetés LDAP felépítés LDAP a gyakorlatban Összefoglalás o Active Directory 12

Lightweight Directory Access Protocol (LDAP) Kibocsátó: Internet Engineering Task Force (IETF) Legutóbbi verzió: LDAPv3 RFC 4510, 2006 Cél: elosztott címtárszolgáltatások megvalósítása, elérése 13

X.500 ISO/OSI X.500 egy szabványcsalád Eredetileg X.400-as levelezés támogatására 14

X.500 ISO/OSI X.500 egy szabványcsalád Eredetileg X.400-as levelezés támogatására Alapfogalmak: X.500 Modellek: X.501 Hitelesítés: X.509 (Tovább él az SSL certificate-ekben) Attribútumok: X.520 Osztályok: X.521 Elérési protokoll: X.519 15

X.500 ISO/OSI X.500 egy szabványcsalád Eredetileg X.400-as levelezés támogatására Alapfogalmak: X.500 Modellek: X.501 Hitelesítés: X.509 (Tovább él az SSL certificate-ekben) Attribútumok: X.520 Osztályok: X.521 Elérési protokoll: X.519 Ennek része a DAP (Directory Access Protocol) Az ISO/OSI hálózati szolgáltatásokra épül TCP/IP-re nem jó! Az IETF kézbe vette a dolgot Ebből lett az LDAP 16

LDAP LDAP: Lightweight Directory Access Protocol 17

LDAP LDAP: Lightweight Directory Access Protocol L, mint pehelysúlyú: az X.500 kódnevű protokollcsalád könnyített változata. 18

LDAP LDAP: Lightweight Directory Access Protocol L, mint pehelysúlyú: az X.500 kódnevű protokollcsalád könnyített változata. D, mint címtárszolgáltatás: elsősorban egy számítógépes hálózat felhasználóit és erőforrásait tartalmazó adatbázis közvetítésére szolgál 19

LDAP LDAP: Lightweight Directory Access Protocol L, mint pehelysúlyú: az X.500 kódnevű protokollcsalád könnyített változata. D, mint címtárszolgáltatás: elsősorban egy számítógépes hálózat felhasználóit és erőforrásait tartalmazó adatbázis közvetítésére szolgál A, mint elérés: támogatja az adatok frissítését, törlését, beszúrását és lekérdezését 20

LDAP LDAP: Lightweight Directory Access Protocol L, mint pehelysúlyú: az X.500 kódnevű protokollcsalád könnyített változata. D, mint címtárszolgáltatás: elsősorban egy számítógépes hálózat felhasználóit és erőforrásait tartalmazó adatbázis közvetítésére szolgál A, mint elérés: támogatja az adatok frissítését, törlését, beszúrását és lekérdezését P, mint az elektronikus kommunikáció egyik nyelve: egy TCP/IP felett megvalósított bináris protokoll 21

Alaptulajdonságok és fogalmak Csomópontok, bejegyzések (entry) o Objektum-orientált szemlélet Hierarchikus felépítés (directory tree) Kitüntetett attribútum (relative distinguished name - rdn) Megkülönböztető név (distinguished name - dn) Többértékű attribútumok o Kapcsolatok megvalósítása 22

Alaptulajdonságok és fogalmak Csomópontok, bejegyzések (entry) o Objektum-orientált szemlélet Hierarchikus felépítés (directory tree) Kitüntetett attribútum (relative distinguished name - rdn) Megkülönböztető név (distinguished name - dn) Többértékű attribútumok o Kapcsolatok megvalósítása Az LDAP az UML előtt alakult ki, ezért picit más fogalomkészlettel dolgozik, mint amit máshol megszoktunk 23

DEMO Példa LDAP adatbázis építés Készítsük el az egyetemünk LDAP adatbázisát! o Csomópontok o Objektum-orientált szemlélet o Hierarchia o Kitüntetett attribútum o Megkülönböztető név o Többértékű attribútum 24

Séma alkalmazása Az alapvető modellezési alapfogalmak jelennek meg o Séma (metamodell szint) Attribútumok University name shortname address 25

Séma alkalmazása Az alapvető modellezési alapfogalmak jelennek meg o Séma (metamodell szint) Attribútumok o Egyed (példánymodell szint) Példányosítás (objectclass) Attribútum értékek BME: University name=budapesti M shortname=bme address=1111 Bp. objectclass = University University name shortname address 26

Objektum-orientált szemlélet Többszörös típus Objektumok között referenciák BME: University name=budapesti M shortname=bme address=1111 Bp. objectclass = University University name shortname address library 27

Objektum-orientált szemlélet Többszörös típus Objektumok között referenciák BME: University name=budapesti M shortname=bme address=1111 Bp. OMIKK: Library, Building name=országos Műszaki address=1111 Bp. Budafoki u. space=1250m 2 numberofbooks=2643128 objectclass = University objectclass = Library objectclass = Building 28 University name shortname address library Library name nuberofbooks Building address space

Objektum-orientált szemlélet Többszörös típus Objektumok között referenciák BME: University name=budapesti M shortname=bme address=1111 Bp. library OMIKK: Library, Building name=országos Műszaki address=1111 Bp. Budafoki u. space=1250m 2 numberofbooks=2643128 objectclass = University objectclass = Library objectclass = Building 29 University name shortname address library Library name nuberofbooks Building address space

Objektum-orientált szemlélet Többszörös típus Objektumok között referenciák BME: University name=budapesti M shortname=bme address=1111 Bp. library OMIKK: Library, Building name=országos Műszaki address=1111 Bp. Budafoki u. space=1250m 2 numberofbooks=2643128 A típus-példány kapcsolatot is egy referencia írja le, ennek neve objectclass University objectclass = University objectclass = Library objectclass = Building 30 name shortname address library Library name nuberofbooks Building address space

Objektum-orientált szemlélet Öröklődnek az attribútumok, referenciák University +name +shortname +address BME: ResearchUniversity name=budapesti M shortname=bme address=1111 Bp. delegation=2011 objectclass = ResearchUniversity ResearchUniversity +delegation 31

Objektum-orientált szemlélet Egy objektumnak több típusa is lehet, ilyenkor az osztályokban definiált attribútumok uniója szerepel az objektumban. OMIKK: Library, Building name=országos Műszaki address=1111 Bp. Budafoki u. space=1250m 2 numberofbooks=2643128 objectclass = Library objectclass = Building Library +name +numberofbooks Building +address +space 32

Hierarchikus felépítés A csomópontok tartalmazási hierarchiát alkotnak BME: University shortname=bme 33

Hierarchikus felépítés A csomópontok tartalmazási hierarchiát alkotnak BME: University shortname=bme GTK: Faculty name=gtk VIK: Faculty name=vik 34

Hierarchikus felépítés A csomópontok tartalmazási hierarchiát alkotnak BME: University shortname=bme GTK: Faculty name=gtk VIK: Faculty name=vik MIT: Department name=mit 35

Hierarchikus felépítés A csomópontok tartalmazási hierarchiát alkotnak BME: University shortname=bme GTK: Faculty name=gtk VIK: Faculty name=vik MIT: Department name=mit IRF: Course code=vimia370 36

Csomópontok közötti viszonyok MIT: Department name=mit 37

Csomópontok közötti viszonyok GTK: Faculty name=gtk Szülő MIT: Department name=mit 38

Csomópontok közötti viszonyok BME: University shortname=bme GTK: Faculty name=gtk ŐsŐs Szülő MIT: Department name=mit 39

Csomópontok közötti viszonyok BME: University shortname=bme GTK: Faculty name=gtk MIT: Department name=mit ŐsŐs Szülő Gyerek IRF: Course code=vimia370 40

Csomópontok közötti viszonyok BME: University shortname=bme GTK: Faculty name=gtk MIT: Department name=mit IRF: Course code=vimia370 ŐsŐs Szülő Gyerek Leszármazott 41

Csomópontok közötti viszonyok BME: University shortname=bme GTK: Faculty name=gtk MIT: Department name=mit IRF: Course code=vimia370 IIT: Department name=iit ŐsŐs Szülő Gyerek Leszármazott Testvér 42

Kitüntetett attribútum RDN (relative distinguished name) o Megmutatja, hogy melyik attribútumot akarjuk egyedi névként használni 43

Kitüntetett attribútum RDN (relative distinguished name) o Megmutatja, hogy melyik attribútumot akarjuk egyedi névként használni VIK: Faculty name=vik rdn=name MIT: Department name=mit rdn=name IRF: Course code=vimia370 rdn=code 44

Megkülönböztető név DN (distinguished name) o A tartalmazások mentén egyedileg azonosítható minden objektum a szülők RDN listájával. VIK: Faculty name=vik rdn=name MIT: Department name=mit rdn=name IRF: Course code=vimia370 rdn=code 45

Megkülönböztető név DN (distinguished name) o A tartalmazások mentén egyedileg azonosítható minden objektum a szülők RDN listájával. VIK: Faculty name=vik rdn=name MIT: Department name=mit rdn=name IRF: Course code=vimia370 rdn=code dn = name=vik, 46

Megkülönböztető név DN (distinguished name) o A tartalmazások mentén egyedileg azonosítható minden objektum a szülők RDN listájával. VIK: Faculty name=vik rdn=name MIT: Department name=mit rdn=name IRF: Course code=vimia370 rdn=code dn = name=vik, dn = name=mit,name=vik, 47

Megkülönböztető név DN (distinguished name) o A tartalmazások mentén egyedileg azonosítható minden objektum a szülők RDN listájával. VIK: Faculty name=vik rdn=name MIT: Department name=mit rdn=name dn = name=vik, dn = name=mit,name=vik, IRF: Course code=vimia370 rdn=code dn = code=vimia370, name=mit,name=vik, 48

Megkülönböztető név Kitüntetett gyökér elem o Jellemzően valamilyen domain-ből származik o Pl.: "dc=bme,dc=hu" A DN felépítéséből adódóan egyedi azonosítást tesz lehetővé 49

Megkülönböztető név Kitüntetett gyökér elem o Jellemzően valamilyen domain-ből származik o Pl.: "dc=bme,dc=hu" A DN felépítéséből adódóan egyedi azonosítást tesz lehetővé o Referenciák ez alapján hivatkoznak a célpontra BME: University library= ou=omikk,dc=bme,dc=hu library OMIKK: Library, Building 50

Megkülönböztető név Kitüntetett gyökér elem o Jellemzően valamilyen domain-ből származik o Pl.: "dc=bme,dc=hu" A DN felépítéséből adódóan egyedi azonosítást tesz lehetővé o Referenciák ez alapján hivatkoznak a célpontra BME: University library= ou=omikk,dc=bme,dc=hu dn = dc=bme,dc=hu library OMIKK: Library, Building 51

Megkülönböztető név Kitüntetett gyökér elem o Jellemzően valamilyen domain-ből származik o Pl.: "dc=bme,dc=hu" A DN felépítéséből adódóan egyedi azonosítást tesz lehetővé o Referenciák ez alapján hivatkoznak a célpontra BME: University library= ou=omikk,dc=bme,dc=hu dn = dc=bme,dc=hu library OMIKK: Library, Building dn = ou=omikk,dc=bme,dc=hu 52

Többértékű attribútumok Attribútumok felvehetnek o Egy értéket Pl.: kód o Több értéket (lista) Pl.: hallgató dn = code=vimia370,ou=mit,ou=vik,dc=bme,dc=hu IRF: Course code=vimia370 rdn=code student="nk=abcdef,year=2010,dc=bme,dc=hu" student="nk=ghijkl,year=2011,dc=bme,dc=hu" 53

LDAP o LDAP bevezetés o LDAP felépítés o LDAP a gyakorlatban o Összefoglalás Tartalom 54

LDAP felépítése LDAP sémák LDAP Szerver Címtár tartalma Adatbázis 55

LDAP séma «supertype» Class +Attribútumok Tartalmazott elemek Referenciák 56

LDAP séma Class +Attribútumok «supertype» Statikus o Működés közben nem változik o Konfigurációs fájlokban adják meg (ASN.1 formátumban) Tartalmazott elemek Referenciák 57

LDAP séma Class +Attribútumok Tartalmazott elemek «supertype» Referenciák Statikus o Működés közben nem változik o Konfigurációs fájlokban adják meg (ASN.1 formátumban) Szabványos o Van számos többé-kevésbe de facto szabvány séma o Pl. core, cosine (X.500), java, nis, inetorgperson 58

LDAP séma «supertype» Class +Attribútumok Tartalmazott elemek Referenciák 59

LDAP séma Class +Attribútumok «supertype» Minden elemnek van egy azonosítója (OID) o osztálynak és attribútumnak is Pl.: inetorgperson 2.16.840.1.113730.3.2.2 o álnevek használata Pl.: uid és userid Tartalmazott elemek Referenciák 60

LDAP séma Class +Attribútumok «supertype» Minden elemnek van egy azonosítója (OID) o osztálynak és attribútumnak is Pl.: inetorgperson 2.16.840.1.113730.3.2.2 o álnevek használata Pl.: uid és userid Van öröklés az osztályok között Tartalmazott elemek Referenciák 61

LDAP séma Class +Attribútumok Tartalmazott elemek «supertype» Referenciák Minden elemnek van egy azonosítója (OID) o osztálynak és attribútumnak is Pl.: inetorgperson 2.16.840.1.113730.3.2.2 o álnevek használata Pl.: uid és userid Van öröklés az osztályok között Attribútumok o lehetnek kötelezőek, opcionálisak, o van multiplicitásuk is (lista) 62

LDAP séma Class +Attribútumok Tartalmazott elemek «supertype» Referenciák Minden elemnek van egy azonosítója (OID) o osztálynak és attribútumnak is Pl.: inetorgperson 2.16.840.1.113730.3.2.2 o álnevek használata Pl.: uid és userid Van öröklés az osztályok között Attribútumok o lehetnek kötelezőek, opcionálisak, o van multiplicitásuk is (lista) A referenciák valójában string attribútumok 63

Class +Attribútumok Tartalmazott elemek «supertype» Referenciák LDAP séma Osztályok típusai o Absztrakt Alapvető struktúra kialakítása A felhasználó számára nincs releváns információja. Pl.: top o Strukturális Alapvető tulajdonságokat ad meg Egymást kizáró osztályok Pl.: person és group o Kiegészítő Egyes sémák kiegészítésére Pl.: inetorgperson, PosixAccount 64

Példa osztály: Person objectclass ( 2.5.6.6 NAME 'person' DESC 'RFC2256: a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userpassword $ telephonenumber $ seealso $ description ) ) 65

Megvalósítások LDAP Szerver Kliens IBM Tivoli Directory Server, IBM DB2 backend adatbázissal OpenLDAP (open source) Pl. BerkleyDB 4.2 backend adatbázissal (lehet más is) Oracle Internet Directory Sun Java System Directory Server JDBC alapú adatbázisokkal Linux, UNIX (Pl. AIX), VMware ESX server, stb. PAM (Pluggable Authentication Modules) használatával Hálózati beléptetés (Pl. VPN, WLAN esetén) Webalkalmazások: Apache, PHP, Tomcat stb. Adatbáziskezelők: MySQL, PostgreSQL stb. 66

LDAP o LDAP bevezetés o LDAP felépítés o LDAP a gyakorlatban o Összefoglalás Tartalom 67

DEMO LDAP címtár a gyakorlatban OpenLDAP szerver Apache Directory Studio kliens Szervezeti egységekbe csoportosítás Felhasználók csoportokba rendelése Attribútumok 68

Szöveges LDAP transzfer formátum LDIF (LDAP data interchange format): dn: uid=don,dc=thefamily,dc=local cn: Don Corleone givenname: Don sn: Corleone uid: don telephonenumber: +1 888 555 6789 mail: don@thefamily.local sons: cn=michael,dc=thefamily,dc=local sons: cn=santino,dc=thefamily,dc=local sons: cn=fredo,dc=thefamily,dc=local objectclass: inetorgperson objectclass: maffiaperson objectclass: person objectclass: top 69

LDAP műveletek LDAP Szerver Adatbázis Alapműveletek: Bind autentikáció Search lekérdezés, keresés Update módosítás Kliens Lekérdezhető a séma is, lehet sémafüggetlen klienst is írni (nem mind ilyen ) 70

Gyakori LDAP osztályok Osztályok és RDN-nek használt attribútumaik dcobject Domain component (dc) organizationalunit Organizational unit (ou) person Common name (cn) Surname (sn) groupofnames Common name (cn) 71

LDAP URL Csomópontok egy halmazának kiválasztására proto://host:port/dn?attributes?scope?filter o Proto - ldap/ldaps o Host:port a címtár szerver elérhetősége o DN keresés kiindulóponja o Attributes - keresett attribútumok listája o Scope keresés mélysége base: pontosan azt az egy csomópontot keressük one: csak egy szinten keresünk sub: teljes részfában keresünk o Filter keresőkifejezés Pl.: (&(objectclass=maffiaperson)(uid=don)) kvázi szabványos prefix leíró nyelv 72

Példarendszer IRF Server suse.irf Ubuntu server ubuntu.irf OpenLDAP szerver SSH szerver Webkiszolgáló DNS szerver 73

DEMO Felhasználók hitelesítése LDAP alapján PosixUser, PosixGroup és groupofnames LDAP sémák o Linux shell bejelentkezés (PAM modul, pl. SSH) o VPN csatlakozás (OpenVPN ldap_auth_plugin) o Webes hozzáférés-szabályozás Apache Basic hitelesítés (mod_auth_ldap) Keretrendszer által támogatott hitelesítés (pl. Drupal, WP) 74

DEMO Az LDAP egyéb felhasználásai Hierarchikusan strukturált adatok tárolása o DNS (PowerDNS LDAP modul + DNSDomain séma) o Növény- és állatrendszertani adatok tárolása 75

DEMO Hozzáférés LDAP adatbázishoz LDAP menedzsment eszközök o Apache Directory Studio o Webes menedzsment felület (phpldapadmin) Programozási nyelvek o Java, C#, PHP, o Gyakorlatilag bármelyik nyelv rendelkezik megfelelő függvénykönyvtárral 76

DEMO Python PyLDAP o http://pyldap.readthedocs.org/en/latest/index.html #!/usr/bin/env python3 import pprint from pyldap import LDAPClient client = LDAPClient() client.set_credentials("simple", ("cn=root,dc=irf,dc=local", "**")) conn=client.connect() result=conn.search("dc=irf,dc=local", 2, "(cn=cotter)") pp = pprint.prettyprinter(indent=4) pp.pprint(result) 77

DEMO Hozzáférés LDAP adatbázishoz LDAP adatbázis parancssorból történő használata o ldapsearch o ldapadd o ldapmodify Jellemző parancssori kapcsolók -x : Egyszerű azonosítás használata -b: Keresés gyökér eleme -D: Felhasználó DN-je -W: jelszó bekérése -H: LDAP szerver URI-je '(ObjectClass=posixAccount)': keresési kritérium 78

LDAP o LDAP bevezetés o LDAP felépítés o LDAP a gyakorlatban o Összefoglalás Tartalom 79

Hogyan építsünk LDAP-ot? 80

Hogyan építsünk LDAP-ot? Objektum struktúra ránk van bízva, de ne toljunk ki magunkkal! 81

Hogyan építsünk LDAP-ot? Objektum struktúra ránk van bízva, de ne toljunk ki magunkkal! o Mindenkinek lehet gyereke, de célszerű csak DomainComponent vagy OrganizationalUnitokat használni tartalmazóelemként 82

Hogyan építsünk LDAP-ot? Objektum struktúra ránk van bízva, de ne toljunk ki magunkkal! o Mindenkinek lehet gyereke, de célszerű csak DomainComponent vagy OrganizationalUnitokat használni tartalmazóelemként o A DomainComponentek célszerű, ha követik a DNS névhierarchiát, de ez nem kötelező 83

Hogyan építsünk LDAP-ot? Objektum struktúra ránk van bízva, de ne toljunk ki magunkkal! o Mindenkinek lehet gyereke, de célszerű csak DomainComponent vagy OrganizationalUnitokat használni tartalmazóelemként o A DomainComponentek célszerű, ha követik a DNS névhierarchiát, de ez nem kötelező o Csoportosítsunk típusok szerint (pl. Group-ok és Personok külön részfába), illetve szervezeti egységek szerint is 84

Hogyan építsünk LDAP-ot? Objektum struktúra ránk van bízva, de ne toljunk ki magunkkal! o Mindenkinek lehet gyereke, de célszerű csak DomainComponent vagy OrganizationalUnitokat használni tartalmazóelemként o A DomainComponentek célszerű, ha követik a DNS névhierarchiát, de ez nem kötelező o Csoportosítsunk típusok szerint (pl. Group-ok és Personok külön részfába), illetve szervezeti egységek szerint is o A tartalmazás rendtartási célt szolgál, ne hordozzon funkcionális jelentést 85

Hogyan építsünk LDAP-ot? Objektum struktúra ránk van bízva, de ne toljunk ki magunkkal! o Mindenkinek lehet gyereke, de célszerű csak DomainComponent vagy OrganizationalUnitokat használni tartalmazóelemként o A DomainComponentek célszerű, ha követik a DNS névhierarchiát, de ez nem kötelező o Csoportosítsunk típusok szerint (pl. Group-ok és Personok külön részfába), illetve szervezeti egységek szerint is o A tartalmazás rendtartási célt szolgál, ne hordozzon funkcionális jelentést o Funkcionális csoportosításra Role vagy GroupOfNames 86

Hogyan építsünk LDAP-ot? Objektum struktúra ránk van bízva, de ne toljunk ki magunkkal! o Mindenkinek lehet gyereke, de célszerű csak DomainComponent vagy OrganizationalUnitokat használni tartalmazóelemként o A DomainComponentek célszerű, ha követik a DNS névhierarchiát, de ez nem kötelező o Csoportosítsunk típusok szerint (pl. Group-ok és Personok külön részfába), illetve szervezeti egységek szerint is o A tartalmazás rendtartási célt szolgál, ne hordozzon funkcionális jelentést o Funkcionális csoportosításra Role vagy GroupOfNames o Néha sajnos a kliensek megkötik, hogy milyen osztályt használhatunk, ilyenkor jó a többszörös típusozás 87

LDAP vs. RDBMS Miért LDAP, miért nem relációs adatbázis? 88

LDAP vs. RDBMS Miért LDAP, miért nem relációs adatbázis? o Mindegyiknek van előnye és hátránya 89

LDAP vs. RDBMS Miért LDAP, miért nem relációs adatbázis? o Mindegyiknek van előnye és hátránya o LDAP + Hatékony keresés (hierarchikus is) + Széles támogatottság + Többszörös tipizálás - Lassú módosítás 90

LDAP vs. RDBMS Miért LDAP, miért nem relációs adatbázis? o Mindegyiknek van előnye és hátránya o LDAP + Hatékony keresés (hierarchikus is) + Széles támogatottság + Többszörös tipizálás - Lassú módosítás o RDBMS + Hatékony keresés + Hatékony módosítás - Merev adatmodell 91

Mire figyeljünk Akkor hatékony, ha 92

Akkor hatékony, ha Mire figyeljünk o sok a keresés jellegű művelet o atomi műveleteket használunk 93

Akkor hatékony, ha Mire figyeljünk o sok a keresés jellegű művelet o atomi műveleteket használunk Veszélyes, ha o felhasználókat csak ebben tároljuk 94

Akkor hatékony, ha Mire figyeljünk o sok a keresés jellegű művelet o atomi műveleteket használunk Veszélyes, ha o felhasználókat csak ebben tároljuk Ki indítja el az LDAP-ot? ( róka fogta csuka esete) 95

Akkor hatékony, ha Mire figyeljünk o sok a keresés jellegű művelet o atomi műveleteket használunk Veszélyes, ha o felhasználókat csak ebben tároljuk Ki indítja el az LDAP-ot? ( róka fogta csuka esete) o rendszerfelhasználókat belepakoljuk 96

Akkor hatékony, ha Mire figyeljünk o sok a keresés jellegű művelet o atomi műveleteket használunk Veszélyes, ha o felhasználókat csak ebben tároljuk Ki indítja el az LDAP-ot? ( róka fogta csuka esete) o rendszerfelhasználókat belepakoljuk Csomagkezelő törli a felhasználót, holott másik hoszton még kellhet Létrejöhet olyan felhasználó ami adott hoszton nem kell 97

Hozzáférés vezérlés Nem jó, ha akárki módosíthatja 98

Hozzáférés vezérlés Nem jó, ha akárki módosíthatja Az LDAP-ban tárolunk jelszavakat is nem jó, ha bárki bármit olvashat Jelszó lehet cleartext, vagy MD5, SHA1 hash is Nem lehetetlen visszafejteni a hash-et sem 99

Hozzáférés vezérlés Nem jó, ha akárki módosíthatja Az LDAP-ban tárolunk jelszavakat is nem jó, ha bárki bármit olvashat Jelszó lehet cleartext, vagy MD5, SHA1 hash is Nem lehetetlen visszafejteni a hash-et sem Hozzáférés szabályozható: Objektum vagy részfa szinten Séma szinten (osztály típus, vagy attribútumra szűrés) 100

Hozzáférés vezérlés Nem jó, ha akárki módosíthatja Az LDAP-ban tárolunk jelszavakat is nem jó, ha bárki bármit olvashat Jelszó lehet cleartext, vagy MD5, SHA1 hash is Nem lehetetlen visszafejteni a hash-et sem Hozzáférés szabályozható: Objektum vagy részfa szinten Séma szinten (osztály típus, vagy attribútumra szűrés) Az LDAP felhasználói is az LDAP-ban tárolódnak 101