A VPN-parancs az Ön felhasználójaként fut, nem jelenik meg jelszó, és az alagút feljön. Ez a sorrend előjogok nélküli műveletnek tűnik, és általában nem az. A hálózati változtatásokat külön szolgáltatás végzi, és az érdekes kérdés az, mit tesz ez a szolgáltatás egy olyan hívóért, amelyet nem ellenőrzött. A jelszókérések számolása semmit sem mond erről a határról.

A felület, a mechanizmus és az ellenőrzés

A felület kéréseket fogad: kapcsolódás, bontás, profil választása. A mechanizmus birtokolja a hálózati műveleteket: felületek létrehozása, útvonalak módosítása, szűrők alkalmazása. Az engedélyezési ellenőrzés eldönti, kérheti-e ez a hívó ezt a műveletet. Ez a három szétosztható egy bináris fájl, egy segédprogram és egy rendszerszolgáltatás között, és a felhasználó csak az elsőt látja.

A szerepek élhetnek egy binárisban, két folyamatban, vagy egy kliensben és egy rendszerszolgáltatásban, és a felhasználó által látott parancs ritkán árulja el, melyikben. Egy tálcai ikon és egy rendszerdémon egyetlen alkalmazásnak tűnhet, miközben nagyon eltérő felhatalmazással futnak. A telepítéskori előjog és a kéréskori előjog szintén különböző dolgok. Egy rootként futott telepítő hátrahagyhat egy szolgáltatást, amely a későbbi kéréseket hallgatja, jóval azután, hogy a csomagkezelő végzett. Ez a szolgáltatás birtokolja a felhatalmazást, nem a beírt parancs.

A delegálás a szokásos terv

Az előjogos hálózati munka szolgáltatásra bízása az észszerű architektúra. A hétköznapi alkalmazásokat előjogok nélkül tartja, és központosítja a gondosságot igénylő műveleteket. A terv csak akkor térül meg, ha a szolgáltatás azt is ellenőrzi, ki kér és miért. E nélkül az ellenőrzés nélkül csak egy szélesebb ajtó.

A NetworkManager a konkrét Linux-példa. A konfigurációs útmutatója elmagyarázza, hogyan engedélyezi a PolicyKit az alapértelmezett beállításban a nem root kéréseket. Ez delegált engedélyezést mutat egy valódi termékben. Nem bizonyítja, hogy minden kereskedelmi kliens NetworkManagert használ, és nem írja le egyetlen szállító szoftvercsatorna-útvonalát vagy házirendjét sem.

A minta mögött házirend álló delegálás. A példa a minta egyetlen megvalósítása, nem univerzális.

Olvassa a határt, ne a kérést

Keresse meg a szolgáltatást, konfigurációjának tulajdonosát és a helyi felületet, amelyet az előtér használ. Aztán kérdezze meg, mely felhasználók mely műveleteket kérhetik. Egy mentett profil fel- és lehozatala nem ugyanaz az engedély, mint egy olyan konfiguráció betöltése, amelyet az üzemeltető soha nem nézett át. A különbség maga a teljes biztonsági kérdés.

Kezdje a szolgáltatáskezelővel és a kliens saját nézetével az engedélyeiről. Az alábbi parancsok megmutatják, fut-e a démon, mit kérhet tőle a hívó, és mit tár fel a démon a futásidejű könyvtárában.

systemctl status NetworkManager
nmcli general permissions
ls -l /run/NetworkManager

Kérdezze meg azt is, mire hat a művelet. Egy személyesnek tűnő menüelem megváltoztathatja az útvonalakat és a DNS-t az egész gépen, ami azt jelenti, hogy megzavarhatja más felhasználók munkameneteit. A hatás sugara ugyanabba az átvizsgálásba tartozik, mint az engedély, és általában ez dönti el, hogy a szolgáltatásnak szűkebb szerepre van-e szüksége.

Javítsa az engedélyeket a támogatott módon

Egy védett vezérlő szoftvercsatorna mindenki számára írhatóvá tétele, vagy egy fiók széles körű adminisztratív csoporthoz adása megszüntet egy engedélyhibát és létrehoz egy nagyobbat. A hiba volt az egyetlen, ami megmondta, hogy ez a határ létezik. Használja a dokumentált tagsági vagy engedélyezési folyamatot, beleértve az általa igényelt munkamenet-frissítést. A csoporttagság gyakran csak az új bejelentkezési munkamenetekre vonatkozik, ezért egy változás a következő bejelentkezésig hatástalannak tűnhet.

Ha a termék szűkebb szerepet kínál a művelethez, előnyben részesítse az átfogó engedélyezéssel szemben. Írja fel a választott szerepet és annak tulajdonosát a szolgáltatás neve mellé.

Hogyan néz ki egy jó felosztás

A hétköznapi alkalmazások előjogok nélkül maradnak, a szolgáltatás csak azt a beállítást végzi, amelyre tervezték, és minden hívót olyan házirend ellenőriz, amelynek van tulajdonosa. Ez védhető terv. Ellenőrizhető is, mert a házirendhez név kapcsolódik. Bármi nagyobb írásos kivételt érdemel a csendes engedélymódosítás helyett.

A hibamód egy olyan szolgáltatás, amely bármely helyi felhasználó bármely kérését végrehajtja, mert a felület kényelmes. A felhasználó oldaláról ugyanolyannak látszik, és sokkal nagyobb felhatalmazást hordoz. Teszteljen egy elutasított kérést, ne csak a sikereset. A házirendből érkező elutasítás a bizonyíték arra, hogy a házirend létezik.

Kapcsolódó cikkek