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

Címtár szolgáltatások

Jan 29, 2016

Download

Documents

thiery

Intelligens rendszerfelügyelet. Címtár szolgáltatások. Tóth Dániel Szatmári Zoltán. Előző és következő részek tartalmából. Modellezés Felhasználókezelés Alapjai, hitelesítés Engedélyezés Linux fájlrendszeri jogosultságok Központosított felhasználókezelés, címtárak. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Címtár szolgáltatások

1Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék

Címtár szolgáltatások

Tóth DánielSzatmári Zoltán

Intelligens rendszerfelügyelet

Page 2: Címtár szolgáltatások

2

Előző és következő részek tartalmából Modellezés

Felhasználókezeléso Alapjai, hitelesítéso Engedélyezéso Linux fájlrendszeri jogosultságoko Központosított felhasználókezelés, címtárak

Page 3: Címtár szolgáltatások

3

Linux fájlrendszer jogosultságok Felhasználó (folyamat) és az állomány viszonya

o Tulajdonos (owner)o Csoporttárs (group)o Egyéb (others)

Hozzáférési jogosultságoko Olvasás (R)o Írás (W)o Végrehajtás/Keresés (X)

Jogosultságok speciális értelmezése könyvtárakon

Page 4: Címtár szolgáltatások

4

DEMO

Tulajdonos manipulálása: chowno csak rootnak engedélyezett

Jogosultság bitek módosítása: chmodo Csak tulajdonosnak engedélyezett

Listázás: ls –l illetve ls –l –n Alapértelmezett jogosultságok: umask

o umask 002 -> 664 / 775

(POSIX ACL is létezik, idő hiányában nem tárgyaljuk)

Linux fájlrendszer jogosultságok

Page 5: Címtár szolgáltatások

5

DEMO

Módosítsuk a jelszavunkat!o passwd parancso /etc/shadow állomány módosítása• root:shadow rw-r----

setuid, setgid biteko Effektiv uid, effektiv gid

Sticky bit

Linux fájlrendszer jogosultságok

???

Page 6: Címtár szolgáltatások

6

Tartalom

A felhasználókezelés nehézségei

Címtár szolgáltatásoko LDAPo Active Directory

Page 7: Címtár szolgáltatások

7

DEMO

Sok rendszer Sok felhasználó (minden rendszeren külön-külön) Kitör a káosz

o Elburjánzó felhasználói fiókoko Szétszinkronizálódó jelszavakoWebes alkalmazásnak, VPN-nek is kéne beléptetés,

teljesen más rendszert használnak…

Felhasználókezelés nehézségei

Page 8: Címtár szolgáltatások

8

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

Page 9: Címtár szolgáltatások

9

Címtár (directory) szolgáltatásDefiníció:o nyilvános adattáro „intelligens” címjegyzék (phone directory)

Tárolt adatoko felhasználó adatai (e-mail címek, különböző fajta

nevek, azonosítók, ...)o számítógépek adataio biztonsági információko bármi egyéb

Page 10: Címtár szolgáltatások

10

Címtár szolgáltatás hitelesítésre

CímtárSzerver

Hogy fogja ez megoldani a hitelesítést?

WebSzerver

VPNSzerver

SSHSzerver

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.

Page 11: Címtár szolgáltatások

11

Hogy néz ki egy címtár?

Speciális adatbázis struktúrao szigorúan hierarchikus (általában objektum-orientált)

Domináns műveletek:o kereséso olvasáso batch jellegű hozzáadás / módosítás

User

+ ID+ Name+ Real Name+ Personal data…+ Shared Secret (Password, etc.)+ Private Datastore path

Page 12: Címtár szolgáltatások

12

Címtárak fejlődéstörténeteDNS (Domain Name Service)

NIS (Network Information System)o volt Sun Yellow Pages (Sun Microsystems, 1988, SunOS

4.0)

A korszerűbbeko X.500 / LDAPo Active Directory

Page 13: Címtár szolgáltatások

13

Tartalom

A felhasználókezelés nehézségei

Címtár szolgáltatásoko LDAPo Active Directory

Page 14: Címtár szolgáltatások

14

Lightweight Directory Access Protocol (LDAP)

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

Page 15: Címtár szolgáltatások

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

Page 16: Címtár szolgáltatások

16

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

Page 17: Címtár szolgáltatások

17

Alaptulajdonságok és fogalmak

Hierarchikus felépítés (directory tree) Csomópontok, bejegyzések (entries) Objektum-orientált szemlélet Kitüntetett attribútum

(relative distinguished name - rdn) Megkülönböztető név (distinguished name - dn) Többértékű attribútumok

Page 18: Címtár szolgáltatások

18

LDAP felépítése

Adatbázis

LDAPSzerver

LDAPsémák

Címtártartalma

Page 19: Címtár szolgáltatások

19

LDAP séma

Class

+Attribútumok

StatikusoMűködés közben nem változiko 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»

Tartalmazottelemek

Referenciák

Page 20: Címtár szolgáltatások

20

LDAP séma

Class

+Attribútumok

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 (hogy lehet ez?)

«supertype»

Tartalmazottelemek

Referenciák

Page 21: Címtár szolgáltatások

21

LDAP séma

Class

+Attribútumok

Osztályok típusaio 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»

Tartalmazottelemek

Referenciák

Page 22: Címtár szolgáltatások

22

LDAP objektumok

Objectrdn = dcdc = gyökér

Objectrdn = cncn = név

Objectrdn = dc cn = értékdc = név2

members = ”dc=gyökér,dc=név2”

Class1+dc

Class2+cn

Class3+members

objectClass = ”Class1”

objectClass = ”Class3”

objectClass = ”Class1,Class3”

Egy objektumnak több típusa is lehet, ilyenkor

az osztályokban definiált attribútumok

uniója szerepel az objektumban. (Miért

lehet unió?)

Minden objektumnak van egy kitűntetett attribútuma:

RDN (relative distinguishing name)Megmutatja, hogy melyik

attribútumot akarjuk egyedi névként használni (~adatbázis

elsődleges kulcs)

A típus-példány kapcsolatot is egy referencia írja le,

ennek neve objectClass

Öröklődnek az attribútumok,

referenciákA referenciák a DN alapján

hivatkoznak a célpontra

A tartalmazások mentén egyedileg

azonosítható minden objektum a szülők rdn

listájával. Ez a DN (distinguished name)Pl: dc=gyökér,cn=név

Page 23: Címtár szolgáltatások

23

Megvalósítások

LDAPSzerver Kliens

IBM Tivoli Directory Server, IBM DB2 backend adatbázissal

OpenLDAP (open source)Pl. BerkleyDB 4.2 backend adatbázissal (lehet más is)

Sun ONE Directory ServerSun Java System Directory ServerJDBC 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.

Page 24: Címtár szolgáltatások

24

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

Page 25: Címtár szolgáltatások

25

Szöveges LDAP transzfer formátum LDIF (LDAP data interchange format) dn: uid=don,dc=thefamily,dc=localcn: Don CorleonegivenName: Donsn: Corleoneuid: dontelephoneNumber: +1 888 555 6789mail: [email protected]: cn=michael,dc=thefamily,dc=localsons: cn=santino,dc=thefamily,dc=localsons: cn=fredo,dc=thefamily,dc=localobjectClass: inetOrgPersonobjectClass: maffiaPersonobjectClass: personobjectClass: top

Page 26: Címtár szolgáltatások

26

LDAP felépítése

Adatbázis

LDAPSzerver Kliens

Alapműveletek:Bind – autentikációSearch – lekérdezés, keresésUpdate – módosítás

Lekérdezhető a séma is,lehet sémafüggetlen klienst is írni(nem mind ilyen )

Page 27: Címtár szolgáltatások

27

Gyakori LDAP elemek Fő (leggyakrabban használt) elemek és RDN-nek használt

attribútumai Domain component (dc) Country (c) Organization (o) Organizational unit (ou) Person (common name cn, second name sn) Group of names (common name cn)

Page 28: Címtár szolgáltatások

28

LDAP URL Csomópontok egy halmazának kiválasztására proto://host:port/DN?attributes?scope?filter

o Proto - ldap/ldapso Host:port – a címtár szerver elérhetőségeo DN – keresés kiindulóponjao Attributes - keresett attribútumok listájao 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

Page 29: Címtár szolgáltatások

29

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 GroupOfNameso Néha sajnos a kliensek megkötik, hogy milyen osztályt

használhatunk, ilyenkor jó a többszörös típusozás

Page 30: Címtár szolgáltatások

30

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

Page 31: Címtár szolgáltatások

31

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

oMindegyiknek van előnye és hátrányao LDAP• Hatékony keresés• Széles támogatottság• Lassú módosítás• Többszörös öröklődés

o RDBMS• Hatékony keresés• Merev adatmodell

Page 32: Címtár szolgáltatások

32

Példarendszer

OpenLDAP, Apache, PowerDNS

OpenVPN, SSH

Page 33: Címtár szolgáltatások

33

DEMO

PAM működése LDAP autentikáció telepítése

o openldap, nss_ldap (pam_ldap), nscdo /etc/nsswitcho /etc/ldap.conf + /etc/ldap.secreto /etc/pam.d/…

Új felhasználók felvétele, módosításao nscd --invalidate

PAM autentikáció

Page 34: Címtár szolgáltatások

34

Mire figyeljünk Akkor hatékony, ha

o sok a keresés jellegű műveleto atomi műveleteket használunk

Veszélyes, hao 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áshol még kellhet• Létrejöhet olyan felhasználó ami adott hoszton nem kell

Page 35: Címtár szolgáltatások

35

DEMO

Apache mod_auth_ldap konfigurációo VirtualHost konfigurációo LDAP autentikáció

Apache mod_vhost_ldap konfigurációo VirtualHost bejegyzések tárolása LDAP-ban

OpenVPN ldap_auth_plugin konfiguráció

Egyéb LDAP lehetőségek

Page 36: Címtár szolgáltatások

36

DEMO

Dnsdomain.schema PowerDNS DNS szerver

o LDAP paraméterek beállítása Domainek felvétele Let test it! Nslookup

http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend

DNS

Page 37: Címtár szolgáltatások

37

DEMO

Autentikáció JAVA alkalmazásból LDAP alapjáno JNDI -> DirContext

Keresés, módosítás LDAP adatbázisban

Programozás óra