Felhasználó kezelés, engedélyezés

32
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Felhasználó kezelés, engedélyezés Tóth Dániel Micskei Zoltán Intelligens rendszerfelügyelet

description

Intelligens rendszerfelügyelet. Felhasználó kezelés, engedélyezés. Tóth Dániel Micskei Zoltán. Számítógépes rendszerek biztonsága. Fontos ez? Mindenkinek fontos? Mikor fontos?. Mikor fontos a számítógépes biztonság?. Szoftverfejlesztésben minden szinten foglakozni kell a biztonsággal - PowerPoint PPT Presentation

Transcript of Felhasználó kezelés, engedélyezés

Page 1: Felhasználó kezelés, engedélyezés

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

Felhasználó kezelés, engedélyezés

Tóth DánielMicskei Zoltán

Intelligens rendszerfelügyelet

Page 2: Felhasználó kezelés, engedélyezés

2

Számítógépes rendszerek biztonsága Fontos ez?

Mindenkinek fontos?

Mikor fontos?

Page 3: Felhasználó kezelés, engedélyezés

3

Mikor fontos a számítógépes biztonság?

tervezés

implementáció

üzemeltetés

Szoftverfejlesztésben minden szinten foglakozni kell a biztonsággal

„Ha egy rendszert nem terveztek biztonságosra, akkor később lehetetlen azzá tenni”

A rendszer biztonsága a leggyengébb láncszem biztonságával azonos.

Page 4: Felhasználó kezelés, engedélyezés

4

Sértetlenség(Integrity)

Rendelkezésre állás(Availability)

Bizalmasság(Confidentiality)

Miből áll a „biztonság” fogalma „C.I.A.”: Három kölcsönösen

egymásra épülő alapfogalom Cél:

o garantálni, hogy a rendszer mindig az elvárt módon viselkedjen

o Ne lehessen illetéktelenül adatokhoz jutni, műveletetvégezni

Normális esetben: „jóindulatú”

meghibásodások

Biztonsági kontextusban: „rosszindulatú” meghibásodás

„A valószínűtlen is valószínű”Most speciálisan ezzel foglalkozunk

Page 5: Felhasználó kezelés, engedélyezés

5

Ki az „illetékes”?

Hitelesítés(Autentikáció)• Ki vagyok?• Az vagyok-e

akinek mondom magam?

Engedélyezés(Autorizáció)• Mihez férhetek

hozzá?• Mit csinálhatok

vele?

Page 6: Felhasználó kezelés, engedélyezés

6

Tartalom Számítógépes biztonság bevezető Felhasználó kezelés, hitelesítés

o Linux alatto Windows alatto Központosított címtárak

Engedélyezéso Engedélyezés általános sémái

• Szerep alapú hozzáférés-vezérlés• Hozzáférési jogosultság listák

o Engedélyezés Linux alatto Engedélyezés Windows alatt

• Biztonsági alrendszer alapok• Központosított hozzáférés-vezérlés, csoportházirendek

Ezekről majd a következő két előadáson

részletesen

Page 7: Felhasználó kezelés, engedélyezés

7

Hitelesítés Mi alapján dönthető el, hogy ki kicsoda?

o…amit tud (pl.: jelszó)o…amije van (pl.: kulcs, belépőkártya)o…ami ő (pl.: ujjlenyomat, arckép)

Ezek (akár egy kombinációja) alapján egy (sértetlen) gép el tudja dönteni, hogy ki a személy, aki előtte üloMi a helyzet, ha nem sértetlen a gép?oMi a helyzet a gép-gép közötti szolgáltatásokkal?

Page 8: Felhasználó kezelés, engedélyezés

8

Hitelesítés Mindenféle szolgáltatás esetén szükség van rá

o Hálózati és egy operációs rendszeren belüliek között iso Technikai és üzleti szolgáltatásokhoz is

Hitelesítési protokollok kelleneko Lényegében csak az „amit tud” séma lehetséges

(bizalmasságot igényel – pl. közös titok)o Itt már feltételezhető bonyolult kriptográfiai számítás

elvégzése is (embernél fejben nyilván nem)

Page 9: Felhasználó kezelés, engedélyezés

9

Miből áll egy felhasználói fiók

User

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

A rendszer számára a felhasználó egy objektum…

Page 10: Felhasználó kezelés, engedélyezés

10

Miből áll egy felhasználói fiók Emlékeztetőül operációs rendszerekből A felhasználói fiókot azonosítja…

o Linux, UNIX alapú rendszerek alatt UID• Integer (root 0, felhasználók 1000-…)• /etc/passwd, /etc/shadow, /etc/group tárolja az

attribútumokatoWindows alatt SID , pl:

• S-1-5-21-2052111302-1677128483-839522115-500

• Nemcsak felhasználónak van SID-je:

Page 11: Felhasználó kezelés, engedélyezés

11

DEMO

Tárolás fájlokban:o /etc/passwdo /etc/shadowo /etc/groupo /etc/gshadow

Létrehozás, módosítás, törléso useradd, usermod, userdelo groupadd, groupmod, groupdelo passwd

Felhasználói fiókok Linux alatt

Page 12: Felhasználó kezelés, engedélyezés

12

Miből áll egy felhasználói fiók Linux alatt

User Group

+ GID+ name(+ password)

Initial group

+ UID+ name+ password+ shell+ home directory+ comment+ expiry date

members

1

* *

*

Page 13: Felhasználó kezelés, engedélyezés

13

DEMO

Hogyan állapíthatjuk meg egy futó folyamatról, hogy ki a tulajdonosao ps aux, pstree, /proc/$PID/status

Folyamat futása közben effektív user és group váltásao setuid, setgid mechanizmuso su, sudo parancsok

Futó folyamatok

Page 14: Felhasználó kezelés, engedélyezés

17

Tartalom Számítógépes biztonság bevezető Felhasználó kezelés, hitelesítés

o Linux alatto Windows alatto Központosított címtárak

Engedélyezéso Engedélyezés általános sémái

• Szerep alapú hozzáférés-vezérlés• Hozzáférési jogosultság listák

o Engedélyezés Linux alatto Engedélyezés Windows alatt

• Biztonsági alrendszer alapok• Központosított hozzáférés-vezérlés, csoportházirendek

Page 15: Felhasználó kezelés, engedélyezés

18

Engedélyezés általános sémái

Szereplő(Actor, Subject)

Szereplőt leíróadatszerkezet

Adatok

Erőforrások

???

Biztonságiszabályzat(policy)

A rendszerben a szereplőt egy adatszerkezet reprezentálja

A jogosultság egy reláció a szereplők és a védett objektumok

között

Védett objektumok(protected objects)

Page 16: Felhasználó kezelés, engedélyezés

19

Hozzáférés végrehajtása

Adat1

Olvas(Adat1)

Adat2

Jogosultság végrehajtó

(enforcement point)

elvégezhető

Jogosultsági döntő (decision

point)

Erőforrás3

Page 17: Felhasználó kezelés, engedélyezés

20

Jogosultságkezelés alapjai A rendszer működése során

o A szereplők műveleteket kezdeményezneko A műveletek kontextusa tartalmazza a szereplő

azonosítóját, a célobjektumot és az elvégzendő művelet fajtáját

o A jogosultsági döntő komponens kiértékeli kontextust és engedélyezi vagy megtiltja a műveletet

o A jogosultsági végrehajtó komponens biztosítja, hogy a döntő által hozott döntés érvényre jusson

Page 18: Felhasználó kezelés, engedélyezés

21

Jogosultságkezelés alapjai A rendszer karbantartása során

o Jogosultságok beállítása, módosítása történiko A jogosultságot leíró adatszerkezet maga is egy védett

objektum• Tehát lehetnek olyan jogosultságok, amik saját magukra

hatással vannak!o Általában a rendszer folyamatosan üzemel, nincs

elkülönített karbantartási idő, a jogosultság módosítások azonnal érvényre jutnak

Page 19: Felhasználó kezelés, engedélyezés

22

Jogosultságkezelés gyakorlati kihívásai Sok szereplőt kell kezelni a rendszerben

o Különböző rendszerek különbözőképpen azonosítják őket Sok védett objektumot kell kezelni

o Különböző rendszerek ezeket is különbözőképpen azonosíthatják

A lehetséges jogosultsági relációk száma a szereplők és objektumok valamint a rajtuk végezhető művelettípusok számának szorzatao Az ilyet teljes hozzáférési mátrixnak nevezzükoManuálisan (de még automatizáltan is) kezelhetetlen

méretű adathalmaz

Page 20: Felhasználó kezelés, engedélyezés

23

Jogosultságkezelés gyakorlati kihívásai További jellegzetes kihívások

o A jogosultságok folyamatos, rendszeres karbantartást igényelnek

• … a vállalati adatlopások, károkozások jelentős része ottfelejtett felhasználói fiókok és jogosultságok kihasználásával történik

o Egyéb, esetleg törvényi követelményeknek kell megfelelni

• Ellenőrizhető jogosultsági rendszer: szervezeti tisztségeknek és felelősségeknek megfelelően

• Feladatok és felelősségek szétválasztása• Auditálási kötelezettségek: műveletek naplózása

Page 21: Felhasználó kezelés, engedélyezés

24

Felhatalmazás csoportosítása

Kötelezőség

Kötelező(Mandatory)

Belátás szerint (Discretionary)

Szint

Rendszer szintű

Erőforrás szintű

Típus

Integritási szintek

Hozzáférési listák

Jogosultságkezelés fajtái

Page 22: Felhasználó kezelés, engedélyezés

25

Felhatalmazás fajtái - kötelezőség

Klasszikus fogalmak (US DoD szabvány)

Kötelező (mandatory)o csak központi jogosultság osztáso felhasználók nem módosíthatják a házirendet

Belátás szerint (discretionary)omegfelelő jogú felhasználó továbboszthatja a jogokat

Page 23: Felhasználó kezelés, engedélyezés

26

Felhatalmazás fajtái - típus

Integritás védelemo Objektumok címkézése

• alacsony, közepes, magas… integritási szinto Ellenőrzés:

• alacsonyabb szintű felhasználó nem olvashat/írhat magasabb szintű objektumot

o Bell LaPadula (bizalmassági) és Biba (sértetlenségi) modellek

Hozzáférés vezérlési listáko objektum → (szereplő, engedélyek)

• engedély: adatok írása, attribútumok olvasása…

Feltételek:„No read up” – nem olvashatok magamnál

magasabb szintű objektumból„No write down” – nem írhatok magamnál

alacsonyabb szintű objektumba

Feltételek:„No write up” – nem írhatok magamnál

magasabb szintű objektumba„No read down” – nem olvashatok

magamnál alacsonyabb szintű objektumból

Page 24: Felhasználó kezelés, engedélyezés

27

Hozzáférés vezérlési listák

+ mask*

Szereplő Védett objektumEngedély(Permission)

A hozzáférési maszk (access mask)

tartalmazza, hogy pontosan milyen

műveletekre vonatkozik az

engedély

+ OP1()+ OP2()

Page 25: Felhasználó kezelés, engedélyezés

28

Hozzáférés vezérlési listák

+ mask* *

Szereplő Védett objektumEngedély(Permission)

Egy védett objektumhoz engedélyek

halmaza rendelhető

*

Néha sorrendezést is megkövetel

Page 26: Felhasználó kezelés, engedélyezés

29

Role-based Access Control (RBAC)

Szerep alapú hozzáférés-vezérlés

Szereplő Védett objektumSzerep(Role)

+ mask

Engedély(Permission)

*

*

***

A szerep fogalom hierarchikus

szereplő csoportosítási

lehetőséget ad.

A szükséges engedélyek száma kezelhető szintre

csökken

Page 27: Felhasználó kezelés, engedélyezés

30

Hierarchikus objektumok

Szereplő Védett objektumSzerep(Role)

+ mask+inherit

Engedély(Permission)

*

*

***

*1

Ha a védett objektumok között természetszerűen hierarchia van…

…egy engedély vonatkozhat

egész részfára is öröklődéssel(inheritance)

Page 28: Felhasználó kezelés, engedélyezés

31

Miből áll egy felhasználói fiók

User

Group

+ Name(+ Purpose…)(+ Shared Secret)

memberOf

A felhasználó csoporttagság valójában egy RBAC megvalósítási

lehetőség

Page 29: Felhasználó kezelés, engedélyezés

32

Szoftverfejlesztői percek… Miket kell megtervezni:

o Hogyan kezeljük a szereplőket• Legyen-e hierarchia? (Legyen!)

oMik lesznek a védett objektumaink • nyilván osztályok szintjén tervezzük• Van-e kihasználható hierarchia (pl. tartalmazások mentén)

oMik a védett objektumokon végezhető műveletek• Itt dől el, hogy az AccessMask hogy is nézzen ki: enumeráció,

boolean flagek, egyedi alosztályok…o Ezek alapján melyik séma felel meg legjobban

Page 30: Felhasználó kezelés, engedélyezés

33

Szoftverfejlesztői percek… Készen vagyunk? Nem…

oMi fogja garantálni az engedélyek betartását?• Aspektus orientált programozási szemléletmód kell

o Az engedélyek karbantartását hogyan végezzük?oMi a helyzet egyéb követeleményekkel?

• Pl. bizonyos műveletek loggolása

Szabványos megoldás használata…o XACML – XML alapú platformfüggetlen engedélyezési

szabályleíró szabványo http://www.oasis-open.org/committees/download.php

/2406/oasis-xacml-1.0.pdf

Page 31: Felhasználó kezelés, engedélyezés

34

Jogosultságkezelési architektúraPolicy

Administration Point(PAP)

Policy Decision

Point(PDP)

PolicyEnforcement

Point(PEP)

Policy Information Point(PIP)

Hozzáférési szabályoklétrehozása,

karbantartása

Attribútum szolgáltatás

Hozzáférési kérelmek eldöntése

Hozzáférési döntés

érvényesítése

Page 32: Felhasználó kezelés, engedélyezés

35

A következő rész tartalmából… Számítógépes biztonság bevezető Felhasználó kezelés, hitelesítés

o Linux alatto Windows alatto Központosított címtárak

Engedélyezéso Engedélyezés általános sémái

• Szerep alapú hozzáférés-vezérlés• Hozzáférési jogosultság listák

o Engedélyezés Linux alatto Engedélyezés Windows alatt

• Biztonsági alrendszer alapok• Központosított hozzáférés-vezérlés, csoportházirendek