Tartomány RBAC

Az AIX 6.1 változatában bevezetett Szerep alapú hozzáférés-felügyelet (RBAC) módot biztosít a root kiemelt felhasználó különféle funkcióinak felosztására szerepekbe, amelyek a rendszer más felhasználóinak delegálhatók. Az RBAC segítségével delegálhatók a feladatok és ezzel javul a rendszer biztonsága, mert könnyebb megfigyelni és követni a rendszeren zajló tevékenységeket. Az RBAC használatával átruházható a felelősség egy másik felhasználóra (a felhatalmazott felhasználóra), de nem korlátozhatók a felhatalmazott felhasználó adminisztrátori jogai a rendszer bizonyos erőforrásaira. Például a hálózatadminisztrátori jogokkal rendelkező felhasználó a rendszeren található összes hálózati csatolót kezelheti. Nem korlátozhatja a felhatalmazott felhasználó jogait, hogy csak bizonyos csatolókat módosíthasson.

Az RBAC tartomány szolgáltatása segítségével korlátozható a hozzáférés a felhatalmazott felhasználókra. A felhasználók és a rendszer erőforrásai címkékkel, úgynevezett tartományokkal vannak jelölve, és a specifikus hozzáférési szabályok határozzák meg a felhasználók hozzáférését az erőforrásokhoz.

Meghatározások
A hozzáférési szabályokkal kapcsolatos meghatározások:
alany: Az alany olyan entitás, amely hozzáférést kér egy objektumhoz. Alany például egy folyamat.
objektum: Az objektum olyan entitás, amely értékes információkat tartalmaz. Objektumok például a fájlok, eszközök és hálózati portok.
tartomány: A tartomány olyan kategória, amelybe egy entitás tartozik. Amikor egy entitás egy tartományba tartozik, akkor az entitás hozzáférés-felügyeletét a hozzáférési szabályok határozzák meg az alábbiak szerint:
Hozzáférési szabályok
  • Egy alany akkor férhet hozzá egy objektumhoz, ha az összes olyan tartománnyal rendelkezik, amelybe az objektum tartozik. Ez meghatározza, hogy az alany tartományainak listája bővebb, mint az objektum tartományainak készlete. Ez az alapértelmezett viselkedés.
  • Egy alany akkor férhet hozzá egy objektumhoz, ha rendelkezik az objektumnak legalább egy tartományával. Vagyis az alanynak és az objektumnak van legalább egy közös tartománya. Ez a viselkedés az objektum biztonsági kapcsolóitól függ.
  • Egy objektum megtagadhatja a hozzáférést bizonyos tartományokhoz. Ha egy objektum meghatároz egy tartománykészletet mint ütközési készletet, és az alany tartományainak egyike az ütközési készlet része, akkor az objektum megtagadhatja a hozzáférést az alany számára.

Tartományadatbázis

A rendszer által támogatott tartományokat egy konfigurációs fájlban kell tárolni az /etc/security/domains alatt. A fájl egy szakaszának formátuma az alábbi:
domain-name:
id = <szám>
dfltmsg = <Üzenet>
msgcat = <Üzenetkatalógus>
msgset = <Üzenetkészlet a katalógusban>
msgnum = <Üzenetazonosító a katalógusban>
Az adatbázis a mkdom és a chdom paranccsal kezelhető. Az lsdom paranccsal jeleníthető meg az adatbázis. A bejegyzések az rmdom paranccsal törölhetők.

Az adatbázis bejegyzései mindaddig nem lépnek érvénybe, amíg le nem tölti az adatbázist a kernelbe a setkst paranccsal.

Legfeljebb 1024 tartomány támogatott a rendszeren, és a tartományazonosító (ID attribútum) lehetséges legnagyobb értéke 1024.

Tartományhoz rendelt objektumok

Ahhoz, hogy tartományt rendeljen egy objektumhoz, határozza meg azt a tartományhoz rendelt objektumok adatbázisában. A rendszeren található összes entitás tartományait az /etc/security/domobjs alatti konfigurációs fájl tárolja. A fájl egy szakaszának formátuma az alábbi, amely példa egy tartomány hozzárendelésére egy objektumhoz:
/dev/hrvg:
domains=HR,IT
conflictsets=payroll
objtype=device
secflags=FSF_DOM_ANY
domains: Meghatározza mindazokat a tartományokat, amelyek számára engedélyezett az objektum elérése. Tartományok például: IT, HR és Payroll.
objtype: A tartományhoz hozzárendelt objektum típusát jelzi. Az objektumtípusok: device, file, netint és netport.
conflict sets: Azt jelzi, hogy amennyiben az alany az ebben az attribútumban felsorolt tartományok valamelyikébe tartozik, akkor nem megengedett számára az objektum elérése.
secflags: Ez a kapcsoló adja meg az objektum speciális tulajdonságait. A kapcsolók beállítása FSF_DOM_ANY vagy FSF_DOM_ALL lehet. Ha a kapcsoló FSF_DOM_ANY, akkor az alany abban az esetben érheti el az objektumot, ha tartalmazza a domains attribútum felsorolásában megadott tartományok valamelyikét. Ha a kapcsoló FSF_DOM_ALL, akkor a felsorolásban szereplő összes tartományt ki kell elégítenie az alanynak az objektum eléréséhez. Ha nincs megadva érték, akkor az alapértelmezett FSF_DOM_ALL érték kerül felhasználásra. A secflag csak az objektum domains attribútumának viselkedésére van hatással.
Lehetőség van tartományok hozzárendelésére a fájlrendszerek fájljaihoz. Alapértelmezésben az objektum összes tartományának a folyamat tartományainak részhalmazát kell képeznie ahhoz, hogy a folyamat hozzáférhessen az objektumhoz.
  1. Eszközök: Minden eszköz (beleértve a fájlrendszereket is) hozzárendelhető egy tartományhoz. A tartományellenőrzésekre a kezelési tevékenységek, például az eszköz beállítása közben kerül sor.
    /dev/hrvg:
    domains=HR,IT
    conflictsets=payroll
    objtype=device
    secflags=FSF_DOM_ANY
    
  2. Hálózati csatolók: Amikor hálózati csatolók (például: en0) vannak hozzárendelve a tartományhoz, akkor a kezelési tevékenységek, például a csatoló leállítása megköveteli, hogy a csatoló átmenjen a tartományellenőrzéseken.
    en0:
    domains=NETIF,ADMIN
    objtype=netint
    flags=FSF_DOM_ALL
  3. Hálózati portok: A TCP és az UDP portok hozzárendelhetők a tartományhoz. Tartományellenőrzésekre kerül sor, amikor egy alkalmazás megpróbál csatlakozni egy porthoz.
    TCP_<port#>:
    domains=NETIF,ADMIN
    type=netport
    flags=FSF_DOM_ALL
  4. Folyamatok: A folyamat örökli annak a felhasználónak a tartományait, akinek a nevében a folyamat fut. Amikor a felhasználó bejelentkezik, akkor a felhasználó héj folyamata a felhasználó tartományaival rendelkezik. A tartományok beállításakor a folyamat ezen tartományai egész élete során megmaradnak. A folyamat tartományait nem módosíthatja egy akármilyen felhasználói felület vagy rendszerhívás. Az egyetlen folyamat, amely beállíthatja a tartományokat, a bejelentkezési folyamat. A folyamatok nem rendelkeznek conflict set és secflags attribútummal.

Aktuális korlátozások

Az alábbi elemek az aktuális tartomány RBAC szolgáltatás korlátozásai:
  • A tartománykonfiguráció jelenleg csak a helyi rendszeren és LDAP szerveren támogatott.
  • Az RBAC tartományok nem támogatottak AIX munkaterhelési partíciókban (WPAR).
  • Nem alkalmazhat RBAC tartományokat átmeneti fájlokra.

Kiterjesztett RBAC követelmény

A tartomány RBAC a Kiterjesztett RBAC után jön létre, és működéséhez szükséges, hogy a Kiterjesztett RBAC engedélyezett legyen a rendszeren.

Kernel biztonsági táblázatok

A tartományadatbázisban és a Tartomány-objektum adatbázisban meghatározott tartományok és Tartományhoz rendelt objektumok az után lépnek érvénybe, hogy letölti őket a kernelbe a setkst paranccsal. A két tábla a Kernel tartomány tábla (KDOMT) és a Kernel tartomány objektum tábla (KDOT).

A kernel biztonsági táblákkal és a setkst paranccsal kapcsolatos további részleteket az AIX biztonsági kézikönyv szerepalapú hozzáférés-felügyelet (RBAC) témaköre tartalmaz.

Tartomány parancsok

Az alábbi táblázat felsorolja mindazokat a tartomány RBAC szolgáltatással kapcsolatos parancsokat, amelyek rendelkezésre állnak az AIX operációs rendszeren a tartomány RBAC keretrendszer kezeléséhez és használatához:
Parancs Leírás
mkdom Létrehoz egy új tartományt
lsdom Megjeleníti a tartomány attribútumait
rmdom Eltávolítja a tartományt
chdom Módosítja a tartomány attribútumait
setsecattr Beállítja a Tartomány-objektum adatbázis biztonsági attribútumait
lssecattr Megjeleníti a Tartomány-objektum adatbázis biztonsági attribútumait
rmsecattr Eltávolítja a Tartomány-objektum adatbázis meghatározását
setkst Elküldi a tartomány RBAC felhasználói szintű adatbázisok bejegyzéseit a Kernel biztonsági táblázatokba

Tartomány RBAC kapcsolódó fájlok

Az alábbi táblázat felsorolja mindazokat az RBAC szolgáltatással kapcsolatos fájlokat, amelyek rendelkezésre állnak az AIX operációs rendszeren az adatbázis információk beállításhoz és tárolásához:
Fájl Leírás
/etc/security/domains Tartományadatbázis
/etc/security/domobjs Tartomány-objektum adatbázis

Tartományok használata

Tartományok meghatározása: A tartományokat a mkdom paranccsal lehet meghatározni a Tartományadatbázisban.
mkdom id=24 HR
Tartományok hozzárendelése: A tartományok hozzárendelhetők entitásokhoz, például felhasználókhoz, fájlokhoz, eszközökhöz, hálózati portokhoz és csatolóhoz. A felhasználók kivételével az összes entitás támogatja az ütközési beállításokat és a biztonsági kapcsolókat (secflags).

Felhasználók: A felhasználókat a chuser és a chsec paranccsal lehet hozzárendelni a tartományokhoz.

Szintaxis:

chuser domains = <comma-separated list of domains> username
Példa:
chuser domains=INET john

A bejelentkezés során aktiválódnak a felhasználóhoz hozzárendelt tartományok. Ha a tartományok megváltoztak, miközben a munkamenet aktív volt, akkor újra be kell jelentkeznie, hogy érvénybe lépjenek az új tartományok.

Objektumok: Ahhoz, hogy korlátozza az objektumok elérését a tartományokon keresztül, meg kell határoznia az objektumot a Tartomány-objektum adatbázisban a setsecattr paranccsal.

Szintaxis:
setsecattr -o domains=<comma-separated list of allowed domains>
conflictsets=<comma-separated list of restricted domains>
secflags=<FSF_DOM_ALL or FSF_DOM_ANY>
objtype=<file or device or netint or netport>
object-path
Példa:
setsecattr -o domains=INET,WEB conflictsets=DB secflags=FSF_DOM_ANY objtype=netint en0