Miért akadályozza a nosuid, hogy egy VPN-segéd root legyen
A titkosított otthoni könyvtár és a nosuid csatolás különböző tulajdonságok. A segédnek megbízható telepítési útra és a kiváltságbitjét tiszteletben tartó indítási környezetre van szüksége.
A lemeztitkosítás és a nosuid csatolás ugyanannak az ötletnek a változatainak hangzik, és semmi közük egymáshoz. Az egyik a nyugalmi állapotban lévő adatokat védi, a másik pedig eldönti, hogy a kernel tiszteletben tart-e egy kiváltságbitet abban a pillanatban, amikor egy program elindul. Az a segéd, amely nem éri el a várt identitást, a másodikról panaszkodik. Az a feltevés, hogy az első a felelős, embereket küld soha nem hibás kliensek újratelepítésére.
Két Független Tulajdonság
A lemeztitkosítás arra válaszol, ki olvashatja a blokkokat, amikor a gép ki van kapcsolva. A csatolási beállítás arra válaszol, mit tesz a kernel egy fájl módbitjeivel, amikor valaki végrehajtja. Az elsőben semmi sem korlátozza a másodikat, és egy teljesen titkosított laptop minden korlátozással együtt csatolhat fájlrendszert.
Egyetlen tulajdonságként olvasni őket az teremti meg azt az elméletet, hogy a titkosított otthoni könyvtár megakadályozza a root hozzáférést. Az elmélet azért marad fenn, mert a két tünet ugyanazon a gépen jelenik meg, nem azért, mert közös okuk van.
Mi Nyomja El Valójában az Átmenetet
Az execve leírása elmagyarázza, hogyan változtatja meg a set-user-ID jelzésű végrehajtható fájl az új folyamat tényleges identitását a fájl tulajdonosáéra. Ugyanez az oldal felsorolja azokat a feltételeket, amelyek elnyomják ezt az átmenetet, és a csoportazonosítókra vonatkozó megfelelőjüket: egy no_new_privs beállítást, egy nosuid-dzsal csatolt fájlrendszert és egy nyomon követett folyamatot. A fájlképességeket ugyanezen feltételek mellett figyelmen kívül hagyják. Ez a négy szabály szinte minden ilyen jellegű jelentést lefed.
Ez a lista megmagyarázza, miért nem az ls által kiírt mód a teljes engedélyezési történet soha. Nem mondja meg, melyik feltétel okozott egy adott hibaüzenetet, és a program előfordulhat, hogy azonos szavakkal egy nem kapcsolódó hitelesítő műveletről számol be. Jegyezze fel a pontos programot, az indítót és a hibasorrendet, mielőtt következtetést von le.
Azonosítsa a támogatott csomag által telepített végrehajtható fájlt, annak tulajdonosát, valódi útvonalát és az őt tartalmazó fájlrendszer szabályzatát. A letöltések mappájában heverő másolat nem a telepített segéd, bármit is mond a módja.
Mit Ne Tegyünk
Set-user-ID biteket tenni egy ellenőrizetlen binárisra és ide-oda mozgatni, amíg a korlátozás el nem tűnik, nem javítás. Egy általad nem értett szabályzatot helyettesít egy nem auditálható kiváltsággal, és ugyanez a technika egy segéden alkalmazva jól ismert eszkalációs út. A nosuid eltávolítása egy csatolásból rosszabb, mert azon a fájlrendszeren minden programra hat, nem csak egyre.
A támogatott út az ügyfél dokumentált segéd- vagy szolgáltatástelepítése, amelyet rendszergazda végez, és amely a binárist oda teszi, ahol a szabályzat várja. Így egy kiváltságmechanizmus marad kettő helyett.
Erősítse Meg a Valódi Indítási Környezetet
Egy engedélyezett javítás után futtassa a segédet úgy, ahogy a termék futtatja, ne pedig root shellből. A rootként elért siker semmit sem bizonyít arról az útról, amelyet egy hétköznapi felhasználó bejár, és a két környezet közötti különbség pontosan az, amiről a hiba szólt.
Utána erősítse meg azt a hálózati műveletet, amelyre a segéd létezik. Az a segéd, amely elindul, de nem tudja beállítani az interfészt, egy szakasszal későbbre tolta a problémát, nem oldotta meg.
findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper
Jegyezze fel a csatolási beállításokat és a segéd tulajdonosát ugyanabban a jegyzetben. Különben a következő ember, aki ezt hibakeresi, elölről kezdi a titkosítási elméletet.