Dugme VPN-a traži sudo: suzite pravilo, provjerite politiku
Dugme na radnoj površini nije razlog za root bez lozinke. Provjerite može li to mrežni menadžer sam, suzite jednu naredbu, zatim provjerite cijelu sudo politiku.
Dugme VPN-a radi kod administratora, a kod svih ostalih ne uspijeva, pa neko doda red u sudoers. Taj red obično nadživi problem koji je trebalo riješiti i često daje više nego što dugmetu treba. Prije nego uredite politiku, provjerite može li podržani vlasnik veze već obaviti posao. Tri uslova ispod odlučuju da li je sudo uopšte uključen.
Uslov 1: podržani vlasnik to može bez sudo
Na većini Linux radnih površina mrežni menadžer već posjeduje VPN veze, a njegova autorizacija ide kroz polkit, a ne kroz sudo. Korisnik koji smije podići vezu može to uraditi iz komandne linije bez ikakvog root pravila. Provjerite šta menadžer dozvoljava prije nego pretpostavite da dugmetu treba privilegija. Ako je odgovor da, izmjena u sudoers rješava problem koji ne postoji.
nmcli connection show
nmcli connection up "Work VPN"
Ako menadžer odbije, pročitajte zašto: nedostaje polkit pravilo, veza pripada drugom korisniku ili je profil sačuvan tamo gdje ga korisnik ne može pročitati. Svaki od tih slučajeva ima podržano rješenje uže od sudo pravila. Podizanje privilegija je posljednje sredstvo, a ne prvo.
Uslov 2: pravilo imenuje jedan izvršni fajl i njegove argumente
Ako je sudo zaista potreban, pravilo treba imenovati tačnu naredbu i, gdje je moguće, argumente koje smije koristiti. Pravilo koje korisniku dozvoljava pokretanje omotačke skripte sigurno je onoliko koliko su sigurne dozvole te skripte, jer korisnik može urediti ono što će root izvršiti. Pravilo sa zamjenskim znakom nakon naredbe isti je problem u kraćem obliku.
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
Provjerite svaku putanju u lancu naredbe: binarni fajl, skriptu koju poziva, konfiguracijski fajl koji čita i svaki direktorij između. Ako bilo koji od njih korisnik može pisati, suženo pravilo je u praksi neograničen root. Argumenti su takođe važni, jer se naredba koja prima putanju konfiguracije može usmjeriti na fajl koji korisnik kontroliše. Pišite pravilo za radnju, ne za dugme.
Zaustavite se ako naredbi za rad treba fajl koji korisnik kontroliše. Tada je dizajn pogrešan i nikakva sudoers sintaksa ga neće učiniti sigurnim.
Uslov 3: cijela politika se parsira, ne samo vaš red
Provjeravajte editorom koji zaključava fajl i provjerava sintaksu, i provjerite sastavljenu politiku, a ne fragment. Fajl koji se sam parsira ipak može pokvariti redoslijed uključivanja ili duplicirati pravilo tako da promijeni ponašanje.priručnik visudo dokumentuje i editor sa zaključavanjem i režim samo za provjeru koji se ovdje koristi.
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
Provjera prijavi fajl i red kada ne uspije, i taj izvještaj je korisni dio. Popravite predviđenu izmjenu kroz editor umjesto da nasilno sačuvate poznatu grešku, jer pokvarena politika može odjednom zaključati svakog administratora. Fajlovi u direktoriju za uključivanje takođe trebaju vlasništvo i režim koje priručnik zahtijeva, inače će biti ignorisani ili odbijeni. Sintaksa je samo prva kapija: nakon što prođe, pročitajte pravilo ponovo i pitajte šta ono zaista dozvoljava.
Zaustavite se ako je jedini način da izmjena proradi isključivanje provjere sintakse. To nije politika, to je prekid koji čeka ponovno pokretanje.
Oporavak: sačuvajte sesiju koja još radi
Prije nego sačuvate, pobrinite se da je ovlaštena administrativna sesija već otvorena i da postoji drugi put u mašinu. Greška u sudoers može vam oduzeti mogućnost da je popravite, a dugme na radnoj površini ne vrijedi tog rizika. Ako je sudo već pokvaren, koristite dokumentovani put oporavka sistema umjesto da improvizujete svoj.
sudo -n true
id
Alternative poput pkexec zavise od vlastite instalacije i politike, pa nisu garantovani drugi root upit. Držite lokalnu autorizaciju odvojeno i od dostavljanja VPN tajne: sudo pravilo ne može otključati odsutnog agenta za tajne i ne zadovoljava MFA mrežnog prolaza. Nakon ispravke testirajte normalan račun koji izvodi samo predviđenu radnju, zatim koristite uobičajene kontrole menadžera.
Odluka se završava kada možete reći koji uslov je opravdao sudo, šta pravilo imenuje, da se cijela politika parsira i kako biste se oporavili da nije. Privilegovani pokretač koji vas košta administrativnog pristupa loša je trgovina i obično se može izbjeći.