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

Slides:



Advertisements
Hasonló előadás
A számítógépes hálózatok és az Internet
Advertisements

4. alkalom – Hálózat Kezelés

„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
ADATBÁZISOK.
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Hálózati és Internet ismeretek
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Tempus S_JEP Számítógép hálózatok Összefoglalás Összefoglalás Összeállította: Broczkó Péter (BMF)
Az internet és a web A HTML alapjai.  „Úgy gondoljuk, hogy a világpiacon talán öt darab számítógépet tudnánk eladni.” (Thomas Watson, az IBM elnöke,
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Client Access Server. Autodiscovery service Availability service (EWS) Offline Address Book (OAB) service Activesync service Outlook Web Access Public.
Erőállóképesség mérése Találjanak teszteket az irodalomban
Mailbox Server szerepkör - alapozás
Tectia MobileID Express – Kétfaktoros erős autentikáció – 5 percen belül üzemkészen! január 16.
Hálózati architektúrák
Címtár szolgáltatások
Hálózati architektúrák Novell Netware. Történet 1983/85: Netware első fájl-szerver LAN OS saját hálózati protokoll: IPX/SPX 1986: Netware v2.x telepítőkészlet.
Jogában áll belépni?! Détári Gábor, rendszermérnök.
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Active Directory Micskei Zoltán
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Active Directory Micskei Zoltán
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Active Directory Micskei Zoltán
Vezeték nélküli hálózatok biztonsági megoldásai Készítette Hudac Lóránd (HULRAAI) A Bemutatóban szó lesz: Vezeték nélküli hálózatok felépítése Ezek működtetése.
1 Hálózati Operációs Rendszerek LDAP, OpenLDAP Előadó: Bilicki Vilmos
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Authentication & Authorization Belinszki Balázs terméktámogató mérnök Juhász Mihály alkalmazásfejlesztési tanácsadó.
Adatbázis-kezelés Papp-Varga Zsuzsanna. Elérhetőségek    as.
Pandora felhasználók Active Directory migrációja.
Active Directory, a Windows 2000 új címtára
XML támogatás adatbázis-kezelő rendszerekben
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
…az ISA Server 2006 segítségével Gál Tamás Microsoft Magyarország.
Levelezés, és a többiek Takács Béla Irodalom Bodnár –Magyari: Az Internet használata I. (Kiskapu) Bodnár –Magyari: Az Internet használata.
OAIS. Megőrzés feladatai Viability –Meg kell őrizni a bitfüzér változatlanságát és olvashatóságát a tároló eszközön Rendbebility –Meg kell őrizni a bitfüzér.
Webes Információs Rendszerek fejlesztése
2014. július Tóth Nándor, Kecskeméti Főiskola - Informatika Hálózati Csoport Hiba észlelése Hiba észlelése Bejelentés Elfelejtődik Hibakeresés,
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
szakmérnök hallgatók számára
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Modellezés gyakorlat Micskei Zoltán
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Active Directory Micskei Zoltán
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
Hálózati alapismeretek
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
2006. Peer-to-Peer (P2P) hálózatok Távközlési és Médiainformatikai Tanszék.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Adatbázis kezelés.
Adatbázis rendszerek I Relációs adatmodell strukturális része Általános Informatikai Tsz. Dr. Kovács László.
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Címtár szolgáltatások Szatmári Zoltán Tóth Dániel Intelligens.
Hálózat menedzsment Óravázlat Készítette: Toldi Miklós.
Webprogramozó tanfolyam
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
DNS. Az interneten használt osztott név adatbázis, a DNS (Domain Name Service) folyton használatos: –minden web lap letöltésnél, –levél közvetítésnél.
A PKI project célja Digitális kulccsal elérhető szerver Hamisíthatatlan naplózás Új kulcsok dinamikus létrehozása Felhasználók letiltása.
Bevezetés az informatikába 11. előadás Internet. Egyetlen nagy egységes elveken működő világhálózat hálózatok összekapcsolása nagy világhálóvá csomagkapcsolt.
Adatbázisszintű adatmodellek
Felhasználók, felhasználócsoportok, jogosultságok.
X.500 Directory System LDAP
Címtár szolgáltatások
MIB Dokumentáció.
Hálózati Operációs Rendszerek
Adatmozgatás az MTA Cloudon Data Avenue segítségével MTA Cloud workshop november 21. Nagy Enikő MTA Cloud csapattag Szoftverfejlesztő.
Hálózati architektúrák
Hálózati Operációs Rendszerek
Internet és kommunikáció
Adatbázis-kezelés.
Előadás másolata:

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

2 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

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

4 DEMO  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… Felhasználókezelés nehézségei

5 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

6 Címtár (directory) szolgáltatás  Definíció: o nyilvános adattár o „intelligens” címjegyzék (phone directory)  Tárolt adatok o felhasználó adatai ( 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

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

8 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 User + ID + Name + Real Name + Personal data… + Shared Secret (Password, etc.) + Private Datastore path

9 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

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

11 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

12 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

13 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

14 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

15 DEMO  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 Példa LDAP adatbázis építés

16 Csomópontok, bejegyzések  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 University name shortName address name shortName address objectClass = ”University” BME: University name=Budapesti M… shortName=BME address=1111 Bp. … name=Budapesti M… shortName=BME address=1111 Bp. …

17 Objektum-orientált szemlélet  Többszörös típus  Objektumok között referenciák BME: University University name shortName address library name shortName address library objectClass = ”University” name=Országos Műszaki … address=1111 Bp. Budafoki u. space=1250m 2 numberOfBooks= name=Országos Műszaki … address=1111 Bp. Budafoki u. space=1250m 2 numberOfBooks= Library name nuberOfBooks name nuberOfBooks Building address space address space library objectClass = ”Library” objectClass = ”Building” OMIKK: Library, Building name=Budapesti M… shortName=BME address=1111 Bp. … name=Budapesti M… shortName=BME address=1111 Bp. … A típus-példány kapcsolatot is egy referencia írja le, ennek neve objectClass

18 Objektum-orientált szemlélet  Öröklődnek az attribútumok, referenciák University +name +shortName +address +name +shortName +address objectClass = ”ResearchUniversity” BME: ResearchUniversity name=Budapesti M… shortName=BME address=1111 Bp. … delegation=2011 name=Budapesti M… shortName=BME address=1111 Bp. … delegation=2011 ResearchUniversity +delegation

19 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. name=Országos Műszaki … address=1111 Bp. Budafoki u. space=1250m 2 numberOfBooks= name=Országos Műszaki … address=1111 Bp. Budafoki u. space=1250m 2 numberOfBooks= Library +name +numberOfBooks +name +numberOfBooks Building +address +space +address +space objectClass = ”Library” objectClass = ”Building” OMIKK: Library, Building

20 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

21 Kitüntetett attribútum  RDN (relative distinguished name) o Megmutatja, hogy melyik attribútumot akarjuk egyedi névként használni (adatbázis elsődleges kulcs) VIK: Faculty name=VIK rdn=name name=VIK rdn=name MIT: Department name=MIT rdn=name name=MIT rdn=name IRF: Course code=VIMIA370 rdn=code code=VIMIA370 rdn=code

22 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 name=VIK rdn=name MIT: Department name=MIT rdn=name name=MIT rdn=name IRF: Course code=VIMIA370 rdn=code code=VIMIA370 rdn=code dn = ”name=VIK,…” dn = ”name=MIT,name=VIK,…” dn = ”code=VIMIA370, name=MIT,name=VIK,…”

23 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 OMIKK: Library, Building library=”ou=OMIKK,dc=BME,dc=hu” dn = ”dc=BME,dc=hu” dn = ”ou=OMIKK,dc=BME,dc=hu”

24 Többértékű attribútumok  Attribútumok felvehetnek o Egy értéket Pl.: kód o Több értéket (lista) Pl.: hallgató IRF: Course code=VIMIA370 rdn=code student="nk=ABCDEF,year=2010,dc=bme,dc=hu" student="nk=GHIJKL,year=2011,dc=bme,dc=hu" … code=VIMIA370 rdn=code student="nk=ABCDEF,year=2010,dc=bme,dc=hu" student="nk=GHIJKL,year=2011,dc=bme,dc=hu" … dn = ”code=VIMIA370,ou=MIT,ou=VIK,dc=BME,dc=hu”

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

26 LDAP séma Class +Attribútumok  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 «supertype» Tartalmazott elemek Referenciák

27 LDAP séma Class +Attribútumok  Minden elemnek van egy azonosítója (OID) o osztálynak és attribútumnak is Pl.: inetOrgPerson 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 «supertype» Tartalmazott elemek Referenciák

28 LDAP séma Class +Attribútumok  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 «supertype» Tartalmazott elemek Referenciák

29 Példa osztály: Person objectclass ( NAME 'person' DESC 'RFC2256: a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )

30 Megvalósítások LDAP Szerver 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.

31 DEMO  OpenLDAP szerver  phpLDAPadmin webes kliens  Szervezeti egységekbe csoportosítás  Felhasználók csoportokba rendelése  Attribútumok LDAP címtár a gyakorlatban

32 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: mail: 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

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

34 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 )

35 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

36 Példarendszer OpenLDAP, Apache, Drupal OpenVPN, SSH

37 DEMO  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) Felhasználók hitelesítése LDAP alapján

38 DEMO  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 Az LDAP egyéb felhasználásai

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

40 DEMO Hashtable authEnv = new Hashtable (11); String user = "cn=zeedemo,ou=users,ou=DEMO,dc=thefamily,dc=local"; String passWord = "alma";// NOT SECURE!!! String ldapURL = "ldap:// :389"; authEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory"); authEnv.put(Context.SECURITY_AUTHENTICATION, "simple"); authEnv.put(Context.PROVIDER_URL, ldapURL); authEnv.put(Context.SECURITY_PRINCIPAL, user); authEnv.put(Context.SECURITY_CREDENTIALS, passWord); try { DirContext authContext = new InitialDirContext(authEnv); System.out.println("Authentication Success!"); } catch (AuthenticationException authEx) { System.out.println("Authentication failed!"); } catch (NamingException namEx) { System.out.println("Something went wrong!"); namEx.printStackTrace(); } LDAP elérése JAVA alkalmazásból

41 DEMO  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 Hozzáférés LDAP adatbázishoz

42 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 OrganizationalUnit okat használni tartalmazóelemként o A DomainComponent ek 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

43 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

44 Mire figyeljünk  Akkor hatékony, ha 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

45 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