A konzol kiváltság: miért kér saját jogosultságot
A konzol képernyőnek látszik, valójában viszont shell. A "módosíthat beállításokat" és a "nyithat shellt" pedig két különböző hatalom; az egyik másikként kezelése root jogosultság kiosztását jelenti.
AtlasPVE ·
A bejegyzés ezekre válaszol
- proxmox konzol jogosultság
- mi az a sys.console proxmox
- proxmox shell hozzáférés felhasználónak
- proxmox szerepkör jogosultságok
- proxmox vnc hozzáférés jogosultság
A konzol képernyőnek látszik. Megnyílik, megjelenik egy ablak, benne szöveg gördül. Az érzés az, hogy "itt csak nézelődés történik".
A konzol viszont shell. A szerveren futó shell pedig a legmagasabb kiváltság, ami azon a gépen létezik.
Két külön hatalom
Beállítások módosítása. Elvégezhető mindaz, amit a felület enged. A határok tiszták, mert a felület rajzolja meg őket.
Shell megnyitása. Bármi elvégezhető. Beleértve azt is, amit a felület megtagadna, és azt is, amiről a felület soha nem hallott.
Ez a két hatalom nem tartalmazza egymást. Az egyik megléte nem igényli a másikat, és ami fontosabb: az egyik megadása nem jelentheti a másik megadását.
A megkülönböztetés valódi, és látszik a beépített szerepkörökben
A Proxmox a konzolt saját, külön jogosultsághoz köti, nem az általános módosítási jogosultsághoz. A beépített szerepkörökön látszik, hogy ez valódi: a rendszergazda szerepkör az ellenőrzési, a konzol és a napló jogosultságot viszi, módosítási jogosultságot viszont nem tartalmaz.
Jogos beállítás tehát az, hogy valaki konzolnyitási jogot kap a beállítások módosításának joga nélkül. És fordítva is.
A gyakori helyzet, amiért ez számít
A Proxmoxban egyedi szerepkörök is létrehozhatók, és nagyon gyakori az ilyen szerepkör: olyan üzemeltető, aki módosíthatja a hálózati beállításokat, de a szerver shell hozzáférését nem kaphatja meg.
Ez ésszerű igény. A hálózati konfiguráció szerkesztése és a szerveren bármilyen parancs futtatása nem ugyanaz.
Ha viszont egy termék úgy gondolkodik, hogy "aki módosíthat, az konzolt is nyithat", akkor észrevétlenül root shellt ad ennek az üzemeltetőnek. A panelen keresztül megkapja azt, amit a Proxmoxban nem kaphatott meg.
Az ebből következő általános elv
A jogosultsági modellnek másolnia kell a platform saját meghatározását, nem átfogalmaznia.
Az a kapu, amely "nagyjából ugyanazt" mondja, a szokásos beállításokon helyesen működik, és senkinek nem tűnik fel. A rés azon a napon nyílik meg, amikor szokatlan szerepkör jön létre. És amikor eljön az a nap, az évekkel korábban leírt közelítésre már senki nem emlékszik.
A fájlhozzáférésre ugyanaz a mérce vonatkozik
Még egy részlet, mert ez gyakran kimarad: a szerver fájlrendszeréhez való hozzáférés még csak olvasható módban is egyenértékű a shellel.
Az ok egyszerű: a jelszófájlok, a kulcsok és a fürt titkai ezen a fájlrendszeren laknak. Aki csak olvasási jogosultsággal olvashat fájlokat, az máris mindent megtudhat.
A fájlhozzáférés tehát nem adható meg "nézelődési" jogosultsággal; ugyanazt a mércét kívánja, mint a shell.
Mit csinál az Atlas
Az Atlasban a konzol, a távoli shell és a fájlhozzáférés kizárólag a konzol jogosultsághoz kötődik. A módosítási jogosultság önmagában nem nyitja meg ezeket a felületeket.
Ez nem volt mindig így, és a cikknek őszintén kell zárulnia: ezek a felületek korábban a módosítási jogosultságot is elfogadták. A kódban lévő megjegyzés a helyeset mondta, azt írta, hogy "a megfelelője a konzol jogosultság", a kód viszont mást csinált.
Ez a Proxmox saját meghatározásához mérve derült ki, és javításra került. A mérés egyértelmű volt: a Proxmox a shellt kizárólag a konzol jogosultsághoz köti, és nem fogadja el a módosítási jogosultságot.
A valódi súlyt is ki kell mondani úgy, ahogy van: beépített szerepkörökkel nem volt kihasználható, mert az egyetlen beépített szerepkör, amely a módosítási jogosultságot tartalmazza, a konzol jogosultságot is hordozza. A kockázat az egyedi szerepkörökben volt, vagyis a fent leírt hálózati üzemeltető példájában.
Az ebből következő tanulság magára a termékre vonatkozik: attól, hogy a megjegyzés helyes, a kód még nem helyes. A kettőt külön kell megmérni.
Források
A Proxmox saját dokumentációja. Angol nyelvű, és ebben a kérdésben az övé az utolsó szó.