Tlačidlo VPN funguje administrátorovi a všetkým ostatným zlyháva, takže niekto pridá riadok do sudoers. Ten riadok zvyčajne prežije problém, ktorý mal vyriešiť, a často udeľuje viac, než tlačidlo potrebuje. Skôr než upravíte politiku, skontrolujte, či podporovaný vlastník pripojenia už prácu zvládne. Tri nižšie uvedené podmienky rozhodujú, či je sudo vôbec zapojené.

Podmienka 1: podporovaný vlastník to zvládne bez sudo

Na väčšine linuxových plôch už správca siete vlastní pripojenia VPN a jeho autorizácia ide cez polkit, nie cez sudo. Používateľ, ktorý smie zdvihnúť pripojenie, to zvládne z príkazového riadka bez akéhokoľvek pravidla root. Skôr než budete predpokladať, že tlačidlo potrebuje oprávnenie, skontrolujte, čo správca dovoľuje. Ak je odpoveď áno, zmena v sudoers rieši problém, ktorý neexistuje.

nmcli connection show
nmcli connection up "Work VPN"

Ak správca odmietne, prečítajte si prečo: chýbajúce pravidlo polkit, pripojenie vlastnené iným používateľom alebo profil uložený tam, kde ho používateľ nemôže prečítať. Každý z týchto prípadov má podporovanú opravu užšiu než pravidlo sudo. Eskalácia oprávnení je posledná možnosť, nie prvá.

Podmienka 2: pravidlo pomenúva jeden spustiteľný súbor a jeho argumenty

Ak je sudo skutočne potrebné, pravidlo by malo pomenovať presný príkaz a ak je to možné, argumenty, ktoré smie použiť. Pravidlo, ktoré používateľovi dovolí spustiť obalový skript, je bezpečné len natoľko, nakoľko sú bezpečné oprávnenia toho skriptu, pretože používateľ môže upraviť, čo root vykoná. Pravidlo s divokým znakom za príkazom je ten istý problém v kratšej podobe.

sudo -l -U alice
ls -l /usr/local/sbin/vpn-up

Skontrolujte každú cestu v reťazci príkazu: binárku, skript, ktorý volá, konfiguračný súbor, ktorý číta, a každý adresár medzi nimi. Ak do ktoréhokoľvek z nich používateľ môže zapisovať, zúžené pravidlo je fakticky neobmedzený root. Argumenty tiež záležia, pretože príkaz, ktorý prijíma cestu ku konfigurácii, sa dá nasmerovať na súbor, ktorý používateľ ovláda. Píšte pravidlo pre operáciu, nie pre tlačidlo.

Zastavte sa, ak príkaz na fungovanie potrebuje súbor, ktorý používateľ ovláda. Potom je návrh nesprávny a žiadna syntax sudoers ho neurobí bezpečným.

Podmienka 3: parsuje sa celá politika, nielen váš riadok

Overujte editorom, ktorý súbor zamyká a kontroluje syntax, a overujte zostavenú politiku, nie fragment. Súbor, ktorý sa parsuje sám, môže stále narušiť poradie vkladania alebo zduplikovať pravidlo tak, že sa zmení správanie.manuál visudo dokumentuje ako zamykajúci editor, tak režim iba kontroly použitý tu.

sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher

Kontrola pri zlyhaní hlási súbor a riadok, a práve tento výstup je užitočná časť. Opravte zamýšľanú zmenu editorom, namiesto toho, aby ste násilím uložili známu chybu, pretože pokazená politika môže naraz uzamknúť všetkých administrátorov. Súbory v adresári vkladania tiež potrebujú vlastníctvo a režim, ktoré vyžaduje manuál, inak budú ignorované alebo odmietnuté. Syntax je len prvá brána: keď ňou prejdete, prečítajte pravidlo znova a opýtajte sa, čo skutočne dovoľuje.

Zastavte sa, ak jediným spôsobom, ako zmenu rozbehnúť, je vypnutie kontroly syntaxe. To nie je politika, to je výpadok čakajúci na reštart.

Obnova: udržte reláciu, ktorá ešte funguje

Pred uložením sa uistite, že autorizovaná administratívna relácia je už otvorená a že existuje druhá cesta do stroja. Chyba v sudoers vám môže vziať schopnosť opraviť ju, a tlačidlo na ploche nestojí za toto riziko. Ak je sudo už pokazené, použite dokumentovanú cestu obnovy systému, nie improvizovanú vlastnú.

sudo -n true
id

Alternatívy ako pkexec závisia od vlastnej inštalácie a politiky, takže nie sú garantovanou druhou výzvou na root. Držte lokálnu autorizáciu oddelene aj od poskytnutia tajomstva VPN: pravidlo sudo neodomkne chýbajúceho agenta tajomstiev a nesplní MFA brány. Po oprave otestujte bežný účet vykonávajúci iba zamýšľanú operáciu, potom použite obvyklé ovládacie prvky správcu.

Rozhodnutie sa končí, keď dokážete povedať, ktorá podmienka sudo ospravedlnila, čo pravidlo pomenúva, že celá politika sa parsuje a ako by ste sa obnovili, keby nie. Privilegovaný spúšťač, ktorý vás stojí administratívny prístup, je zlý obchod a zvyčajne sa mu dá vyhnúť.

Súvisiace články