A VPN gomb sudo-t igényel: szűkítse a szabályt, validálja a házirendet
Egy asztali gomb nem ok a jelszó nélküli rootra. Ellenőrizze, tudja-e a hálózatkezelő, szűkítse egyetlen parancsra, majd validálja a teljes sudo-házirendet.
A VPN gomb a rendszergazdának működik, mindenki másnál elbukik, ezért valaki hozzáad egy sort a sudoers-hez. Az a sor általában túléli a problémát, amit meg kellett volna oldania, és gyakran többet ad, mint amire a gombnak szüksége van. Mielőtt szerkeszti a házirendet, ellenőrizze, hogy a támogatott kapcsolattulajdonos már el tudja-e végezni a munkát. Az alábbi három feltétel dönti el, hogy egyáltalán szerepel-e a sudo.
1. feltétel: a támogatott tulajdonos sudo nélkül is meg tudja tenni
A legtöbb Linux asztalon a hálózatkezelő már a VPN-kapcsolatok tulajdonosa, és az engedélyezése a sudo helyett a polkiton keresztül megy. Egy felhasználó, akinek engedélye van kapcsolatot felhozni, ezt a parancssorból root-szabály nélkül is megteheti. Ellenőrizze, mit enged a kezelő, mielőtt feltételezi, hogy a gombnak jogosultság kell. Ha a válasz igen, akkor a sudoers-módosítás egy nem létező problémát old meg.
nmcli connection show
nmcli connection up "Work VPN"
Ha a kezelő megtagadja, olvassa el, miért: hiányzó polkit-szabály, más felhasználó tulajdonában lévő kapcsolat vagy olyan helyen tárolt profil, ahol a felhasználó nem tudja olvasni. Mindegyiknek van a sudo-szabálynál szűkebb, támogatott javítása. A jogosultságnövelés az utolsó eszköz, nem az első.
2. feltétel: a szabály egyetlen végrehajtható fájlt és annak argumentumait nevezi meg
Ha a sudo valóban szükséges, a szabálynak meg kell neveznie a pontos parancsot és, ahol lehet, azokat az argumentumokat, amelyeket használhat. Egy szabály, amely engedi a felhasználónak egy burkolószkript futtatását, csak annyira biztonságos, mint a szkript jogosultságai, mert a felhasználó szerkesztheti, mit fog a root végrehajtani. Egy szabály a parancs utáni helyettesítő karakterrel ugyanaz a probléma rövidebb formában.
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
Ellenőrizze a parancslánc minden útvonalát: a binárist, az általa hívott szkriptet, az általa olvasott konfigurációs fájlt és a köztük lévő összes könyvtárat. Ha bármelyik írható a felhasználó számára, a szűkített szabály a gyakorlatban korlátlan root. Az argumentumok is számítanak, mert egy konfigurációs útvonalat elfogadó parancs ráirányítható egy felhasználó által vezérelt fájlra. A műveletre írja a szabályt, ne a gombra.
Álljon meg, ha a parancsnak felhasználó által vezérelt fájlra van szüksége a működéshez. Akkor a tervezés hibás, és semmilyen sudoers-szintaxis nem teszi biztonságossá.
3. feltétel: a teljes házirend elemződik le, nem csak az Ön sora
Azzal a szerkesztővel validáljon, amely zárolja a fájlt és ellenőrzi a szintaxist, és az összeállított házirendet validálja, nem egy töredéket. Egy önmagában elemződő fájl még mindig megtörheti a beillesztési sorrendet, vagy megkettőzhet egy szabályt úgy, hogy megváltozik a viselkedés.visudo kézikönyv dokumentálja a zároló szerkesztőt és az itt használt csak-ellenőrző módot is.
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
Az ellenőrzés hiba esetén jelzi a fájlt és a sort, és éppen ez a jelentés a hasznos rész. A szándékolt módosítást a szerkesztőn keresztül javítsa, ne erőltesse egy ismert hiba mentését, mert egy elrontott házirend egyszerre zárhat ki minden rendszergazdát. A beillesztési könyvtár fájljainak is a kézikönyv által előírt tulajdonra és módra van szükségük, különben figyelmen kívül hagyják vagy elutasítják őket. A szintaxis csak az első kapu: miután átment, olvassa el újra a szabályt, és kérdezze meg, mit is engedélyez valójában.
Álljon meg, ha a módosítás működésének egyetlen módja a szintaxis-ellenőrzés kikapcsolása. Az nem házirend, hanem újraindításra váró kiesés.
Helyreállítás: tartson meg egy még működő munkamenetet
Mentés előtt győződjön meg arról, hogy egy jogosult adminisztratív munkamenet már nyitva van, és létezik egy második út a gépbe. Egy sudoers-hiba elveheti a javítás lehetőségét, és egy asztali gomb nem ér meg ekkora kockázatot. Ha a sudo már elromlott, használja a rendszer dokumentált helyreállítási útját, ne improvizáljon sajátot.
sudo -n true
id
Az olyan alternatívák, mint a pkexec, a saját telepítésüktől és házirendjüktől függenek, tehát nem garantált második root-kérés. A helyi engedélyezést a VPN-titok átadásától is tartsa külön: egy sudo-szabály nem tud feloldani egy hiányzó titokügynököt, és nem elégíti ki az átjáró MFA-ját. A javítás után a normál fiókot csak a szándékolt művelet végrehajtásával tesztelje, majd használja a kezelő szokásos vezérlőit.
A döntés akkor zárul le, amikor meg tudja mondani, melyik feltétel indokolta a sudo-t, mit nevez meg a szabály, hogy a teljes házirend elemződik, és hogyan állna helyre, ha nem így lenne. Egy kiváltságos indító, amely az adminisztratív hozzáférésébe kerül, rossz üzlet, és általában elkerülhető.