IBM Tivoli Directory Server

A Wikipédiából, a szabad enciklopédiából
IBM Tivoli Directory Server
FejlesztőIBM
Operációs rendszerAIX
HP-UX
Microsoft Windows
Sun Solaris
RHEL
SuSE
Platformx86
SPARC
PowerPC
IBM System i
IBM System z9
KategóriaCímtárszolgáltatás
Licenczárt
Az IBM Tivoli Directory Server weboldala

Az IBM Tivoli Directory Server (ITDS), korábban IBM Directory Server, az LDAP (Lightweight Directory Access Protocol) egy megvalósítása.

Korábbi verziók[szerkesztés]

Kezdetben IBM SecureWay Directory néven futott a termék, egészen az 5.1-es verzióig. A következő, 5.2-es kiadás nevébe ismét bekerült a Tivoli kulcsszó. Azóta IBM Tivoli Directory Serverként ismert a termék. A legfrissebb verzió jelenleg a 6.2-es verzió, amely 2008 novemberében jelent meg.

Alkotóelemek[szerkesztés]

  • Adattárolásra az IBM DB2 adatbázist használja. A korai verziókban a DB2 viszonylag gyenge teljesítményt nyújtott. Ezen hiányosság az 5.1-es verzióra már ki lett javítva.
  • Kiszolgáló: ibmslapd.
  • A címtár adminisztrációjához használt eszközök a kiszolgáló gépen futó ibmdiradm (IBM Directory Administration Daemon) elnevezésű alkalmazásra támaszkodnak, amely távelérést tesz lehetővé:
    • Web Administration Tool: J2EE alkalmazás, amelyet az IBM WebSphere Application Server-re lehet telepíteni.
    • Configuration Tool (ldapxcfg): Grafikus felhasználói felület a címtár és az adatbázis beállítására.
    • Kisebb, parancssoros alkalmazások.
  • Az IBM Tivoli Directory Server Client SDK fejlesztőeszközöket biztosít LDAP alkalmazások létrehozásához:

Címtár biztonsága[szerkesztés]

Azonosítás[szerkesztés]

Az IBM Tivoli Directory Server támogatja mind a kiszolgáló, mind a kliens azonosítását.

  • A kiszolgáló azonosításához a kliens kap a kiszolgálótól egy X.509 tanúsítványt a kézfogás állapotában. Ha a kliens elfogadja a kiszolgáló tanúsítványát, akkor felépül egy biztonságos, titkosított kommunikációs csatorna a kiszolgáló és a kliens alkalmazás között. Ahhoz, hogy mindez működjön, a kiszolgálónak rendelkeznie kell egy magánkulccsal, és egy a magánkulcshoz kapcsolódó tanúsítvánnyal a kulcsadatbázison belül.
  • A kiszolgáló és a kliens azonosítás gondoskodik arról, hogy a két oldal (LDAP kiszolgáló, LDAP kliens) felismerje egymást. A kliens azonosításához az LDAP kliensnek szintén rendelkeznie kell egy X.509 alapú, digitális tanúsítvánnyal, amely az IBM Tivoli Directory Server felé fogja azonosítani.

Az LDAP a 636-os TCP portot használja biztonságos kommunikációra, illetve a 389-es TCP portot titkosítatlan kommunikációra.

A titkosítás működhet SSL (Secure Sockets Layer), TLS (Transaction Layer Security), vagy mindkettő egyidejű alkalmazásával.

Transaction Layer Security[szerkesztés]

A 2830-as RFC definiálja a Transaction Layer Security (TLS) protokollt, amely két rétegből áll:

  • A TLS Record Protocol gondoskodik a kapcsolat biztonságáról DES (Data Encryption Standard) illetve RC4 (ARCFOUR) eljárások alkalmazásával. Az előbb említett, szimmetrikus titkosításoknál használt kulcsban meg kell egyeznie a két kommunikáló félnek minden egyes kapcsolat kiépítése előtt. A TLS Handshake Protocol segítségével tud a két fél megállapodni a titkos kulcsban.
  • A TLS Handshake Protocol biztosítja, hogy a kiszolgáló és a kliens egymást azonosítani tudják, valamint megállapodjanak a használt titkosítási eljárásban és az eljáráshoz használt kulcsban, mielőtt további adatokat küldenének egymásnak.

Secure Sockets Layer[szerkesztés]

Amikor SSL-t használunk az LDAP kommunikáció biztonságossá tételére az IBM Directory Serverrel, akkor mind a kiszolgáló, mint a kliens oldali azonosítás támogatott. A kiszolgáló azonosításához van egy X.509 alapú, digitális tanúsítvány, amely a kliensek felé azonosítja az IBM Tivoli Directory Servert.

Tanúsítványok[szerkesztés]

Ha kiszolgáló és kliens azonosítást is használunk SSL esetén, akkor a kiszolgáló beállítható úgy, hogy ellenőrizze azt, hogy a klienstől érkező tanúsítvány lejárt-e vagy érvénytelenítették-e. Amikor a kliens kérést küld a kiszolgáló felé, akkor a kiszolgáló lekérdezi az érvénytelenített tanúsítványok listáját egy LDAP kiszolgálótól. Ha a kliens tanúsítványa nem szerepel a visszakapott listán, akkor a kommunikáció engedélyezett SSL-en keresztül a kliens és a kiszolgáló között. Ellenkező esetben nem engedélyezett a kommunikáció.

Interneten keresztül történő használathoz célszerű egy széles körben elfogadott tanúsítványszolgáltató (CA) által kiadott tanúsítvány használata. Ha kizárólag intranetes környezetben használjuk az IBM Tivoli Directory Servert, akkor elegendő lehet a saját cég által aláírt tanúsítvány is.

Sértetlenség[szerkesztés]

Az adatok sértetlenségét az IBM DB2, valamint az LDAP biztonságos, kommunikációs protokolljai garantálják.

Titkosság[szerkesztés]

A bizalmas adatok védelme titkosítások használatával történik, hogy illetéktelenek ne férjenek hozzá ezen adatokhoz. Egyik legérzékenyebb adat a felhasználó jelszava. Éppen ezért a biztonságos azonosításon kívül az IBM Tivoli Directory Server egyéb funkciókat is biztosít a titkosság növelésének érdekében.

Jelszavak titkosítása[szerkesztés]

A felhasználók jelszavai külön titkosítva vannak eltárolva. Ez megakadályozza, hogy a jelszavakhoz bárki hozzáférhessen, beleértve a rendszergazdákat is. Az adminisztrátornak lehetősége van beállítani a userPassword attribútumra egyirányú vagy kétirányú kódolást. Négyféle beállítás létezik jelszavak kódolására:

None Nincs titkosítás. A jelszavak nyílt szövegként vannak eltárolva.
crypt A UNIX crypt kódoló algoritmusát használja a jelszavak kódolására tárolás előtt.
SHA-1 Az SHA-1 nemzetközileg elfogadott, szabványosított lenyomatkészítő eljárást alkalmazza a jelszavakra tárolás előtt.
imask Tárolás előtt alkalmazza a jelszavakra az imask algoritmust. A jelszavak visszanyerése az eredeti, nyílt szöveg egy részével történik. Ez az alapértelmezett beállítás.

Jelszóházirend[szerkesztés]

Szabályrendszer, amely a jelszavak használatát és adminisztrációját írja le az IBM Tivoli Directory Server rendszeren belül. A szabályok biztosítják, hogy a felhasználók bizonyos időközönként cseréljék a jelszavaikat, valamint hogy a jelszavakra vonatkozó szintaktikai követelmények teljesüljenek. Ugyanezen szabályok korlátozzák a régi jelszavak újrafelhasználását, és kizárják azon felhasználókat, akik meghatározott számszor rossz jelszót adnak meg. Minden felhasználóra vonatkozik ezen jelszóházirend, kivéve a rendszergazdát, és az adminisztrációs csoportba tartozókat.

Jogosultságkezelés[szerkesztés]

Az ACL (Access Control List) egy engedélylista, amely a címtárbejegyzésekhez van kapcsolva. Lényege, hogy a rendszergazdák korlátozhassák illetve engedélyezhessék a címtár egyes részeihez a hozzáférést. Az ACL terminológiában az Object és a Subject általánosan használt kifejezések. Az Object az a címtárbejegyzés, amelyre az ACL alkalmazva van, míg a Subject azon címtárbejegyzés, amelyre a konkrét engedély vagy korlátozás vonatkozik.

Access control model attribútumai[szerkesztés]

Minden egyes objektum tartalmazza az egyedi nevét, valamint az attribútumait és azok értékeit. Az Access control model két attribútumhalmazt definiál:

  • entryOwner information – bejegyzés tulajdonosa
  • Access Control Information (ACI) – hozzáféréssel kapcsolatos engedélyek

Ez megegyezik az LDAP modellel abban, hogy az ACI Information és az entryOwner information attribútum-érték párként van eltárolva.

Az entryOwner information határozza meg, hogy mely Subject-ek hozhatnak létre ACI-t. A bejegyzés tulajdonosa teljes hozzáférést kap a cél object-hez. A bejegyzés tulajdonosát definiáló attribútumok:

  • entryOwner: Egyértelműen meghatározza a bejegyzés tulajdonosát.
  • ownerPropagate: Meghatározza, hogy az engedélyhalmaz továbbadható-e a részfa leszármazott bejegyzéseire.

A bejegyzés tulajdonosainak teljeskörű engedélye van az object-en bármilyen műveletvégzésre az aclEntry bejegyzéstől függetlenül. Továbbá a bejegyzés tulajdonosai az egyedüliek, akik az object aclEntry bejegyzéseit kezelhetik. A rendszergazdák és az adminisztratív csoport tagjai alapértelmezésben az összes, címtárbeli Object-nek tulajdonosai, és ez a tulajdonosi joguk egyetlen Object-ről sem távolítható el.

Subject[szerkesztés]

A Subject egy olyan entitás, amely hozzáférést kér valamilyen művelet elvégzéséhez egy Object-en. Egy DN típus és egy DN (Distinguished Name/Megkülönböztető Név) kombinációjából áll. Az érvényes DN típusok az access ID (hozzáférés azonosító), group (csoport), és a role (szerepkör). A DN meghatároz egy egyedi hozzáférés azonosítót, szerepkört, és egy csoportot.

Access targets[szerkesztés]

Az engedélyek alkalmazhatók egy teljes Objectre (gyerek bejegyzés hozzáadása, bejegyzés törlése), bejegyzés egyes attribútumaira, attribútumcsoportokra (Attribute Access Classes).

Azon attribútumok, amelyek hasonló engedélyeket követelnek meg, osztályokba vannak csoportosítva. Az attribútumok a címtár sémafájlbeli attribútum-osztályokhoz vannak társítva. Ezen osztályok különállók; egy adott osztályhoz hozzáférés nem jelenti azt, hogy egy másik osztályhoz is hozzáférünk. Egy attribute access class egészére történik engedélybeállítás.

Az IBM Tivoli Directory Server öt attribútumosztályt definiál: normal, sensitive, critical, system, és restricted.

Access rights[szerkesztés]

Egy access target-re alkalmazott LDAP hozzáférési jogok különállók. Egy jog nem von maga után másik jogot. Az egyes jogosultságok persze kombinálhatók, hogy a kívánt jogosultsági listát össze tudjuk állítani. A jogok három részből állnak:

  • Action (művelet): Értéke grant (megad) vagy deny (megtagad). Ha ez a mező nem létezik, akkor az megadást (grant) jelent.
  • Permission (engedély): Hat alapművelet végezhető egy címtár object-en: bejegyzés hozzáadása, bejegyzés törlése, attribútumérték olvasása, attribútumérték írása, attribútum keresése, attribútumérték összehasonlítás. A lehetséges attribútum engedélyek: olvasás (r), írás (w), keresés (s), és összehasonlítás (c). Ezen felül a felsorolt object engedélyek a bejegyzés egészére vonatkoznak: gyerek bejegyzés hozzáadása (a), bejegyzés törlése (d).
  • Access target (hozzáférés célja)

Címtár séma[szerkesztés]

A séma egy szabályhalmaz, amely a címtárbeli adattárolás elveit határozza meg. Definiálja a megengedett bejegyzéstípusokat, azok attribútum struktúráját, és az attribútumok szintaxisát.

Az IBM Tivoli Directory Server sémája előre definiált, de az igényeknek megfelelően módosítható. A séma az alábbi címtárszabványok alapján épül fel:

  • Internet Engineering Task Force (IETF) – LDAP Version 3 RFC-k (például RFC 2252 és RFC 2256)
  • Directory Enabled Network (DEN)
  • Desktop Management Task Force (DMTF) – Common Information Model (CIM)
  • Network Application Consortium – Lightweight Internet Person Schema (LIPS)

Rendelkezésre állás és skálázhatóság[szerkesztés]

Az IBM Tivoli Directory Server lehetővé tesz másolatkészítést, felosztást a magas rendelkezésre állás és skálázhatóság érdekében. A másolatkészítési mechanizmus biztosítja a redundáns információtárolást és a gyorsabb keresési lehetőséget (a keresésre vonatkozó kérések több kiszolgáló közt vannak elosztva).

Másolatkészítési topológiák:

  • Master – Replica (eredeti – másolat)
    • Legegyszerűbb kiépítés.
    • Teljesítményt növeli, mert a kérések több kiszolgáló között vannak elosztva.
    • Magas rendelkezésre állás csak olvasható módban.
    • Skálázható címtár.
    • Azonosítás történhet: Simple bind, SASL EXTERNAL és SSL, Kerberos.
  • Master – Forwarder – Replica (eredeti – továbbító – másolat)
    • A Forwarder végzi a másolatkészítési munka egy részét, így csökkentve a Master kiszolgáló terhelését.
    • A Master-Replica topológia jellemzői igazak itt is.
  • Peer replication
    • Tovább növeli a teljesítményt és a Master kiszolgáló rendelkezésre állását azzal, hogy több Mastert alkalmaz.
    • A több Master között a Load Balancer végzi kérések elosztását.
    • A Master kiszolgálókat hívják ebben a topológiában Peer-nek.
  • Gateway
    • Elosztott rendszer több, fizikailag különböző helyszínen.
    • A gateway kiszolgálók gyűjtik és továbbítják a másolatinformációkat a hálózaton.
    • Csökken az adatforgalom a hálózaton azzal, hogy csak a Gateway kiszolgálók kommunikálnak egymással illetve minden Gateway kiszolgáló a hozzá tartozó Master kiszolgálókkal, és nem az összes Master kiszolgáló egymással.

Naplózás[szerkesztés]

Az IBM Tivoli Directory Server több naplózási megoldást is kínál. A naplók a webes adminisztrációs eszközzel illetve parancssorból is megtekinthetők. Több naplófajta létezik, amelyeket egyenként lehet beállítani az egyes szinteken. Az egyes naplótípusok magukban foglalják a következőket:

  • Error log
  • Audit log
  • DB2 error log
  • Bulkload error log
  • Administration daemon error log
  • Administration daemon audit log

Adminisztráció[szerkesztés]

Az IBM Tivoli Directory Server adminisztrációs tulajdonságai:

  • Távoli elérés: Az adminisztrációs eszközök és maga a kiszolgáló külön gépeken fut.
  • Központosított adminisztráció: Bármely címtár kiszolgáló kézben tartható egy helyről.
  • Nagy számú adminisztrációs feladat elérhető beépítve.
  • Felhasználóbarát eszközök.

Az adminisztrációs eszközök a directory administration daemon-ra (címtár adminisztrációs folyamat) támaszkodnak, amelynek minden gépen futni kell, amire az IBM Tivoli Directory Servert telepítették. A directory administration daemon LDAP-on keresztül fogadja a kéréseket. Lehetőség van az Tivoli Directory Server indítására, leállítására, újraindítására és figyelésére. A címtár adminisztrációs folyamat alapból a 3538-as porton figyeli a nem SSL kéréseket, és a 3539-es porton az SSL kéréseket, ha az SSL kommunikáció engedélyezett.[1][2]

Források[szerkesztés]

  1. https://en.wikipedia.org/wiki/IBM_Tivoli_Directory_Server
  2. Axel Bücker: Enterprise Security Architecture: Using IBM Tivoli Security Solutions, IBM Redbooks 2004. II. ISBN 0738498971