Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Felhasználó- és jogosultságkezelés Tóth Dániel, Micskei.

Hasonló előadás


Az előadások a következő témára: "Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Felhasználó- és jogosultságkezelés Tóth Dániel, Micskei."— Előadás másolata:

1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Felhasználó- és jogosultságkezelés Tóth Dániel, Micskei Zoltán Operációs rendszerek (vimia219)

2 Számítógépes rendszerek biztonsága  Fontos ez?  Mindenkinek fontos?  Mikor fontos? 2

3 Mikor fontos a számítógépes biztonság? tervezés implementáció üzemeltetés  Szoftverfejlesztésben minden szinten foglalkozni 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. „Az operációs rendszer nem csodaszer, rosszul megírt alkalmazás ellen nem véd.”

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  Egy technológia magában kevés  A biztonság mindig csak a célkitűzés függvényében értelmezhető Normális esetben: „jóindulatú” meghibásodások Biztonsági kontextusban: „rosszindulatú” meghibásodás Normális esetben: „jóindulatú” meghibásodások Biztonsági kontextusban: „rosszindulatú” meghibásodás

5 Biztonságot biztosító eszközök  Kriptográfia o Kommunikáció sértetlenségéhez, bizalmasságához kell  Platform szintű behatolás elleni védelem o Rendszeren futó alkalmazások sértetlensége  Hálózati behatolás elleni védelem  Redundancia, újrakonfigurálás o Rendelkezésre állás  Hitelesítés, engedélyezés Sértetlenség (Integrity) Rendelkezésre állás (Availability) Bizalmasság (Confidentiality)

6 Ki az „illetékes”? Hitelesítés (Authentication) •Ki vagyok? •Az vagyok-e akinek mondom magam? Engedélyezés (Authorization) •Mihez férhetek hozzá? •Mit csinálhatok vele?

7 Tartalom  Számítógépes biztonság bevezető  Felhasználó kezelés, hitelesítés o UNIX, Linux alatt o Windows alatt  Engedélyezés o 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 UNIX, Linux alatt o Engedélyezés Windows alatt • Biztonsági alrendszer alapok • Központosított hozzáférés-vezérlés Ezekről majd a következő előadáson részletesen 7

8 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 ül o Mi a helyzet, ha nem sértetlen a gép? o Mi a helyzet a gép-gép közötti szolgáltatásokkal? 8

9 Hitelesítés  Hitelesítés három szinten kerülhet elő: o Ember és gép közötti interakció o Gép és gép között valamilyen hálózaton át o Gépen belül futó alkalmazások valamint az OS között  Hitelesítési protokollok kellenek o Gépen belül ill. gépek között 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 – de rendelkezhet segédeszközzel „amije van” sémánál) 9

10 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… 10

11 Miből áll egy felhasználói fiók  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útumokat o Mik ezek az attribútumok • Login név • Jelszó (megváltoztathatóság, lejárati idő) • Home könyvtár • Alapértelmezett shell (illetve shell belépés megtiltása) • Alapértelmezett csoporttagság (erről majd egy kicsit később) • Komment (valódi név) 11

12 DEMO  Tárolás fájlokban: o /etc/passwd o /etc/shadow o /etc/group o /etc/gshadow  Létrehozás, módosítás, törlés o useradd, usermod, userdel o groupadd, groupmod, groupdel o passwd Felhasználói fiókok Linux alatt

13 Miből áll egy felhasználói fiók Linux alatt User Group + GID + name (+ password) + GID + name (+ password) Initial group + UID + name + password + shell + home directory + comment + expiry date + UID + name + password + shell + home directory + comment + expiry date members 1 ** * 13

14 DEMO  Hogyan állapíthatjuk meg egy futó folyamatról, hogy ki a tulajdonosa o ps aux, pstree, /proc/$PID/status  Folyamat futása közben effektív user és group váltása o setuid, setgid mechanizmus o su, sudo parancsok Futó folyamatok

15 Azonosítás Linux alatt  Gépen belül o Felhasználó UID-név hozzárendelés feloldása gyakran kell → /etc/passwd-t mindenkinek kell tudnia olvasni o Jelszó ezért nem itt van, hanem a /etc/shadow alatt, hash-elve  Több gép között? o Pl.: ssh-nál o Felhasználó név/jelszó o Kriptográfiai kulcs alapján o Egyediség? 15

16 Tartalom  Számítógépes biztonság bevezető  Felhasználó kezelés, hitelesítés o UNIX, Linux alatt o Windows alatt  Engedélyezés o 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 UNIX, Linux alatt o Engedélyezés Windows alatt • Biztonsági alrendszer alapok • Központosított hozzáférés-vezérlés 16

17 Engedélyezés általános sémái Szereplő (Actor, Subject) Szereplőt leíró adatszerkezet Adatok Erőforrások ? ? ? Biztonsági szabá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) 17

18 Hozzáférés végrehajtása Adat1 Olvas(Adat1) Adat2 Jogosultság végrehajtó (enforcement point) Jogosultság végrehajtó (enforcement point)       elvégezhető Jogosultsági döntő (decision point) Erőforrás3 18

19 Jogosultságkezelés alapjai  A rendszer működése során o A szereplők műveleteket kezdeményeznek o 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 a kontextust • 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 19

20 Jogosultságkezelés alapjai  A rendszer karbantartása során o Jogosultságok beállítása, módosítása történik o 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 20

21 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  Jogosultsági relációk: o (Szereplők) X (Objektumok) X (Művelettípusok) o Az ilyet teljes hozzáférési mátrixnak nevezzük o Manuálisan (de még automatizáltan is) kezelhetetlen méretű adathalmaz 21

22 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 22

23 Engedélyezé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 23

24 Felhatalmazás fajtái - kötelezőség  Klasszikus fogalmak (US DoD szabvány)  Kötelező (mandatory) o csak központi jogosultság osztás o felhasználók nem módosíthatják a házirendet  Belátás szerint (discretionary) o megfelelő jogú felhasználó továbboszthatja a jogokat 24

25 Felhatalmazás fajtái - típus  Integritás védelem o Objektumok címkézése • alacsony, közepes, magas… integritási szint o 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ák o objektum → ( szereplő, engedélyek) • engedély: adatok írása, attribútumok olvasása… 25

26 Felhatalmazás fajtái - típus  Integritás védelem o Objektumok címkézése • alacsony, közepes, magas… integritási szint o 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ák o 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 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 Feltételek: „No write up” – nem írhatok magamnál magasabb szintű objektumba „No read down” – nem olvashatok magamnál alacsonyabb szintű objektumból 26

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() + OP1() + OP2() 27

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 28

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 29

30 Hierarchikus objektumok SzereplőVédett objektumSzerep (Role) + mask +inherit + 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) 30

31 Miből áll egy felhasználói fiók User Group + Name (+ Purpose…) (+ Shared Secret) + Name (+ Purpose…) (+ Shared Secret) memberOf A felhasználó csoporttagság valójában egy RBAC megvalósítási lehetőség 31

32 Tartalom  Számítógépes biztonság bevezető  Felhasználó kezelés, hitelesítés o Linux alatt o Windows alatt o Központosított címtárak  Engedélyezés o 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 alatt o Engedélyezés Windows alatt • Biztonsági alrendszer alapok • Központosított hozzáférés-vezérlés, csoportházirendek 32

33  Alapelemek o Szereplő: user (felhasználó) o Szereplő hierarchia: group (csoport) o Minden user teszőlegesen sok group tagja lehet o Minden group tetszőlegesen sok user t tartalmazhat o Group további group ot nem tartalmazhat  Jogok o 3x3bit, olvasás, írás, végrehajtás (könyvtárba belépés) • Első a tulajdonos felhasználónak • Második a tulajdonos csoportnak • Harmadik mindenkinek o Speciális bitek • setuid, setgid: futtatásnál átveszi a file tulajdonos uid-, gid-jét, • sticky: újonnan létrejött fájlok tulajdonosát állítja o Az execute bit tiltó hatása implicit módon öröklődik a könyvtárakon, más öröklés nincs POSIX fájlrendszer jogosultságok 33

34 POSIX fájlrendszer jogosultságok 34

35 DEMO  Tulajdonos manipulálása: chown o csak rootnak engedélyezett, nem delegálható  Jogosultság bitek módosítása: chmod o Csak tulajdonosnak engedélyezett o Többféle megadási mód: • Teljes felülírás 4 db oktális számmal • Módosítás pl: u+x (felhasználó végrehajtás hozzáadása), g-w (csoport olvasás elvétele)  Listázás: ls –l illetve ls –l –n  (POSIX ACL is létezik, idő hiányában nem tárgyaljuk) Linux fájlrendszer jogosultságok

36 Fájlrendszeren kívüli engedélyek  Egyéb védett objektumok: „UNIX alatt minden erőforrás fájl” – jó elv, sajnos nem igaz következetesen mindenre  Sok periféria valóban rendelkezik fájlrendszerben található interfésszel o Character special file, block special file o Pl. merevlemez teljes tartalma: /dev/sd*, soros port /dev/ttyS* o A kernel és teljes fizikai memória: /dev/kmem, /dev/mem o Mi van azokkal a műveletekkel, amik nem sima olvasás vagy írás jellegűek? o IOCTL, get és set típusba csoportosíthatóak, engedélyezés read és write bitek alapján – elkülöníteni nem lehet az egyszerű read(), write() metódusokra vonatkozó jogoktól 36

37 Fájlrendszeren kívüli engedélyek  Speciális kiváltságok root felhasználó nevében futó folyamatoknak o Kérhetnek valós idejű ütemezési prioritást o Hozzáférhetnek közvetlenül a perifériákhoz (!) • Kell előtte memória illetve I/O tartomány allokáció • A közelmúltig így működtek a grafikus felületet adó X Window server eszközmeghajtó programjai o 1024 alatti TCP/UDP porton hallgathatnak o Kernel bizonyos konfigurációs beállításait megváltoztathatják, új modult tölthetnek be stb.  Nem előnyös, ha ezek nem szabályozhatóak külön-külön o Legkevesebb jog elve (principle of least privileges) o POSIX Capabilities mechanizmus – globális rendszerszintű erőforrásokra vonatkozó jogosultságok (ún. privilégiumok) 37

38 Kitekintés  Finomabb felbontású jogosultságkezelés végrehajtható fájlokra o Platform szintű behatolás elleni védőmechanizmusok támogatására (PAX, grsecurity) o A védőmechanizmusok számos egyébként sértetlen programot tesznek működésképtelenné (pl. JavaVM) o Speciálisan kivételezni kell az ilyen alkalmazásokat fájlrendszerbe írt címkével (SELinux Security Labels) o Alkalmazásokhoz hozzárendelt rendszerhívási profilok (AppArmor) – felfedi ha a „szokásoshoz” képest megváltozik az alkalmazás futása 38


Letölteni ppt "Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Felhasználó- és jogosultságkezelés Tóth Dániel, Micskei."

Hasonló előadás


Google Hirdetések