Hálózati Operációs Rendszerek Sun ONE Directory Server, Active Directory Előadó: Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv
Forrás Brian Arkils: LDAP directories explained SUN One Directory Server 5.2: ( http://docs.sun.com/db/prod/s1.s1dirs#hic ) Microsoft Active Directory: (http://www.microsoft.com/windowsserver2003/technologies/directory/activedirectory/default.mspx )
Tartalom/1 Sun ONE Directory Server Névtér Kliens LDAP műveletek Séma Adatbázisok Indexelés Hivatkozások Láncolás Kliens LDAP műveletek Kliensek Vezérlők Plug-in-ek Séma Csoportok Szabályok/Szerepkörök Szolgáltatás osztályok Menedzsment Replikáció Biztonság
Tartalom/2 Microsoft Active Directory Névtér Kliens LDAP műveletek Particiók Elosztott Címtár funkcionalitás Adatbázisok Kliens LDAP műveletek Kliensek Vezérlők Séma Osztályok Tulajdonságok Menedzsment Replikáció Biztonság
SUN One Directory Server 5.2 Története: University of Michigan - LDAP Netscape – Netscape Directory Server SUN + Netscape – iPlanet Directory Server SUN - SUN One Directory Server Platform független: Linux, Solaris, Windows, AIX, … Integrált a Solaris-szal
Névtér DNS alapú a javallot (RFC2247), de támogatja az X.500 alapút is Tetszőleges számú elnevezési környezetet támogat Nem támogatja a DNS SRV alapú szolgáltatás hirdetést(?) Sok más termék használja ezt a névteret Sun ONE Identity Server,… LDBM adatbázis Alapvetően egy adatbázis – egy név környezet Egy adatbázis – több környezet Több adatbázis – egy környezet
Névtér Speciális név környezet (telepítéskor genrálódik) cn=config cn=plugins cn=ldbmdatabase cn=index cn=encryption cn=snmp cn= mapping tree cn=replication cn=uniqueid generator … o=NetscapeRoot ez csak egy helyen található (adminisztráció, mindent) rootDSE namingContexts tartalmazza a elnevezési környezeteket Sajár névtér pl.: dc=cab,dc=u-szeged,dc=hu
Adatbázis funkcionalitás LDBM adatbázis alapegység: Indexelés Replikáció Tárolás Dinamikusan menedzselhető kiesés nélkül (OpenLDAP) Alap: Egy elnevezési környezet – egy adatbázis Konfigurálhatjuk a kérdés feldolgozás helyét: Gyökér elem nsslapd-state attribútum (kérés utótag alapján) backend (nsslapd-backend egy-név körny. több adatbázis) disabled referral (nnslapd-referral) referral update
Indexelés Adatbázisra lehet specifikálni Tulajdonságok: Létezés Egyenlőség Kb. megegyezés Substring Nemzetközi Két index csoport: Rendszer dnComp eq objectClass eq … Alapértelmezett cn pres,eq,sub givenName pres,eq,sub uid eq
Hivatkozások Egy címtár egy külső hivatkozás Adatbázisonként egy végződés hivatkozás Okos hivatkozások (végződés alapján) Mindenre Csak írásra Hivatkozás láncolás Speciális objektum -> láncolás plug-in Ez egy link egy másik szerverre, nem LDAP kompatibilis Több is lehet egymás után (nsHopLimit)
Műveletek kliensek Netscape böngésző Parancssor Címtárképes alkalmazások: Sun ONE Web Server Sun ONE Calendar server Sun Directory Proxy server … Programozás: Sun SDK Java C Perl Vezérlők (10 db) ManageDSAIT (referencia) Persistent Search Control Password Expiration Warning control Virtual List Plug-in-ek (31 darab) Könnyen bővíthető Ellátnak címtár független feladatokat is cn=plugins,cn=config
Séma (1) Minden LDAP specifikus eleme megtalálható LDIF fájl, hozzáférhető a névtérből is cn=schema Séma replikáció Multimaster (problémás lehet) Singlemaster Csoportok groupOfNames – members (DN), lehet egymásba ágyazott is groupOfURLs – memberURL (kereső kifejezések, nem lehet egymásba ágyazott) Dinamikus esetben nincs olyan módszer melyel könnyen megállapítható, hogy egy DN mely csoportok tagja!
Séma (2) Szerepek/Szabályok A csoport inverze nsRole - (csak olvasható dinamikus) nsRoleDN - (írható, olvasható) A visszacstolás hiány indokolja Típusai: nsNestedRoleDefinition nsManagedRoleDefinition (alap) nsFilteredRoleDefinition Problémás lehet ha a felhasználónak joga van saját adatait írni
Séma (3) Szolgáltatás Osztálya (Class of Service CoS) Egy tulajdonságot több tulajdonsághoz rendel (X.500 alséma) Előnye Hatékonyabb helykihasználás Egyszerűbb menedzsment Hátránya Nem használható kereső mezőnek Típusai: cosTemplate cos defniciós bejegyzések cosClassicDefinition cosIndirectDefinition cosPointerDefinition
Séma (4) cos definiciós bejegyzések PointerCoS Meghatározzák a helyükkel az érvényességi kört Minden alattuk lévő elemre vonatkozik cosAttribute – megmondja mely tulajdonságokra érvényes specifier – az értéket adja meg (más-más módon) PointerCoS cosTemplateDN – cosTemplate (egy DN mely a template-re mutat) cosAttribute (egy tulajdonság mely megmondja mit kell kiolvasni)
Ábra
Séma(5) cosClassicDefinition cosAttribute – ezt olvassa ki cosSpecifier - Ezt pakolja hozzá az alsóhoz cosTemplateDN - ez a template helye Pl.:Egy cél bejegyzés: Bilicki Vilmos: o=cab, … cosSpecifier = o cosTemplateDN = cn=u-szeged,cn=hu ekkor a cél o értéket csapja hozzá a cosTemplateDN értékhez
Ábra
Séma(6) cosIndirectDefinition Pl.: cosIndirectSpecifier = manager cosIndirectSpecifier – a cél bejegyzésen egy érték, ezt DN-nek tekintve lekérdezi az cosAttribute értékét Pl.: cosIndirectSpecifier = manager A manager tulajdonság a menedzserteljes DN címét tartalmazza, így a menedszer bejegyzés egy a cosAttribute tulajdonságban megadott értékeét foja megkani a cél elem. Pl.: o Így lehet egy menedzser mozgatásával átmozgatni egy egész csoportot…
Ábra
Menedzsment Sok megoldás LDAP Proxy iPlanet MetaDirectory HTML, GUI Saját szabályok adhatóak meg Biztonságos megoldás iPlanet MetaDirectory Sok csatlakozó SQL, …
Replikáció Push modell (a forrás szól ha változás történt) Elemei: Master – írható, olvastható, változás napló Consumer – olvasható, írásnál a masterre irányít Hub – ugyanaz mint a fogyasztó, csak ez is tükrözhető Replikációs megegyezések Fogyasztó Adatbázis Időzítés Azonosítás Titkosítás Multimaster -> mindkét irányba megegyezést definiálni Ütközés Utolsó változás (időbélyeg) Manuális (nsds5ReplConflict) A séma automatikusan replikálódik (elsőnek)
Biztonság Nagyon sokoldalú Digitális Igazlovány – userCertificate Proxy (személyetelnítés, …) Dinamikus csoport Szabály Tetszőleges tulajdonság IP DNS név, … Digitális Igazlovány – userCertificate Kliens továbbadás (mint kerberos esetén) Engedélyezés Statikus és dinamikus ACI Cél pl.: (target=”ldap://cn=*,ou=*,dc=u-szeged,dc=hu), tetszőleges kereső kifejezés Fejléc (verzió, név) Engedélyek Kötési szabályok (a felhasználó azonosítását írja le: DN, DNS, IP, …) ACL Makró használat
Active Directory NT 4.0 AcitveDirectory Nagyon jól integrált megoldás Lapos névtér (netbios) Csak azonositás AcitveDirectory RFC kompatibilis LDAP cimtár Platform függő (Win200, Win2003) Inkább menedzsment eszköz mint cimtár Nagyon jól integrált megoldás Kliens menedzsment (jogok, programok,…) Cimjegyzék Digitális bizonyitványok, …
Névtér(1) DNS-hez kötött (RFC2247) Minden objektumnak globálisan is egyedi azonositoja van Használja a DNS SRV bejegyzéseket (round-robin terheléselosztásra is) A kliens a legközelebbi szervert tudja kiválasztani (sites) A DNS is integrálható az AD-be Nem kell a replikációval foglalkoznunk Biztonságos frissités lehetősége Nem támogatja az X.500 névtér tervet
Névtér(2) Az alábbi egységekből épül fel: Erdő – egy erdőben több különböző DNS névtér tartozhat Pl.: cab.inf.u-szeged.hu, inform.inf.u-szeged.hu Közös séma Közös konfiguráció Fa – Az erdő épitőköve: egy DNS névtér (folytonos) Pl.: cab.u-szeged.hu Közös névtér Tartomány – A fa ága, egy DNS azonositó Pl.: windom.cab.u-szeged.hu Tartományvezérlők tárolják Egy tartományvezérlő csak egy tartományt tárolhat Az elsőnek létrehozott lesz az erdő és fa gyökér, … Egy tartománz tetszőleges számú gépen tárolható Replikálás biztositja az adat konzisztenciát
Névtér(3) Helyek (Sites) Egy olyan egység mely nagysávszélességű kapcsolatokkal rendelkezik a hozzátartozó elemek között A cimtár forgalomszabályozását segitik speciális paraméterek segitségével Független a cimtár felépitésétől A cimtérban van tárolva A replikáció a site-k között definiálható Hely híd (site bridge) Megadható a sávszélesség, költség, … Site alapján is kereshetünk Nyomtató, …
Névtér(4) Particiók: Minden tartományvezérlőn 3 partíció van A partíció a replikáció alaegysége Tipusai: Tartomány elnevezési környezet (Domain Naming Context) Ez a felhasználó adat tárolója Konfiguráció elnevezési környezet (Configuration Naming Context) Ez közös minden tartományvezérlőn az erdőben Séma elnevezési környezet (Schema Naming Context) Minden tartományvezérlő kvázi függetlenül működhet a többitől
Névtér(5) Konfiguráció partíció Az egész cimtárban állandó Configuration WellKnowSecurityPrincipals (AuthenticatedUsers) Services (az erdőben érvényes csoportházirend is itt van tárolva) NetServices RRAS WindowsNT Public Key Services ExtendedRights (saját jogok) Sites (pl. GC helye) Intersite Transports DisplaySpecifiers Partitions (hivatkozások - crossRef) LostAndFoundConfig (replikációs hibák, árva elemek, …)
Névtér(6) Tartomány partíció Ez a felhasználó adatok tárolója Computers Builtins LostAndFound ForeignSecurityPrincipals – proxy azonositok Users DomainControlers System – FSMO, DNS bejegyzések Ez a felhasználó adatok tárolója
Névtér(7) Flexible Single Master Operations Csak egy helyen irható, olvasható Tipusai: Infrastruktúra – particiok közötti konzisztencia RID master – egyedi azonositó gyártás Schema master Domain Naming master PDC emulator – NT4.0
Névtér (8) Séma partíció(142 osztály, 863 tulajdonság) Az erdőben egyforma Két objektum engedélyezett: attributeSchema classSchema Saját osztályt, tulajdonságot definiálhatunk Globális Katalógus – GC Gyorstár Minden objektumot tárol, nem minden tulajdonsággal A tulajdonságról a sémában mondhatjuk meg, hogy szerepeljen-e a GC-ben Csak olvasható Azonositásban kritikus szerepe van
Műveletek, Kliensek LDAP v3 kompatibils A klinesek nagyon jól integrálják a cimtár szolgáltatásait Azonositas Kereső segitő Cimjegyzék Nyomtató keresés Megosztott mappák DFS, … Komoly programozói támogatás ADSI Active Directory Services Interface – cimtár független is tud lenni LDAP API SDK Vezérlők (16): Statisztika Lusta módositás Törölt objektumok visszaadása … Exchange integrálás Levelezés Naptár Üzenetküldés, …
Séma Mindenhol egyforma Sok előre gyártott elem Néhány részét nem lehet megváltoztatni Néhány helyen nem teljesen szabványos (X.500): sn egy értékű Nem lehet új szintxisokat, összehasonlitasokat definiálni Osztályok: Származtatás Top osztályból származik minden Nincs Alias User, Computer objektum nagyon sokoldalú Principal name … objectGUID, objectSID Tulajdonságok Kapcsolt tulajdonságok, ha egy elemhez adott tulajdonsággal hozzáadok egy másikat akkor ez viszont is működik másik attribútum párral
Menedzsment MMC ADSI LDIF, … Replikáció Indexelés SMTP, RPC Minden partíció külön replikálható Séma, Konfiguráció minden tartományvezérlőre Tartomány csak az azonos tartományba lévőekre Gyűrű replikációs topológia KCC Sirkő UpdateSequenceNumber, Időbélyeg Indexelés Microsoft Metadirectory Services
Replikáció Alap Késleltés = 5 perc Ha nincs változás = Egy óra Eredti Frissités Domain Controller A Változás Értesités Domain Controller C Domain Controller B Replikált Frissités Alap Késleltés = 5 perc Ha nincs változás = Egy óra Fontos Változás = Azonnali Értesités
Konfliktus kezelés Konfliktusok okai: Attribútum változás Domain Controller A Originating Update Domain Controller B Konfl. Bélyeg Verzió Szám Időbélyeg Szerver GUID Konfliktusok okai: Attribútum változás Törölt tárolóba helyezni objektumokat
Biztonság PKI támogatás Cert hatóság Kerberos V5 NTLM TLS Smart Card A következő óra erről fog szólni
Áttekintés/1 Sun ONE Directory Server Névtér Kliens LDAP műveletek Adatbázisok Indexelés Hivatkozások Láncolás Kliens LDAP műveletek Kliensek Vezérlők Plug-in-ek Séma Csoportok Szabályok/Szerepkörök Szolgáltatás osztályok Menedzsment Replikáció Biztonság
Áttekintés/2 Microsoft Active Directory Névtér Kliens LDAP műveletek Particiók Elosztott Címtár funkcionalitás Adatbázisok Kliens LDAP műveletek Kliensek Vezérlők Séma Osztályok Tulajdonságok Menedzsment Replikáció Biztonság
A következő előadás tartalma ADAM Biztonság Problémák Technológiák Azonosítás NTLM TLS Kerberos V5