El botó de la VPN funciona per a l’administrador i falla per a tota la resta, així que algú afegeix una línia a sudoers. Aquesta línia sol sobreviure al problema que havia de resoldre i sovint concedeix més del que el botó necessita. Abans d’editar la política, comprova si el propietari compatible de la connexió ja pot fer la feina. Les tres condicions següents decideixen si sudo hi intervé o no.

Condició 1: el propietari compatible ho pot fer sense sudo

A la majoria d’escriptoris Linux, el gestor de xarxa ja posseeix les connexions VPN i la seva autorització passa per polkit, no per sudo. Un usuari a qui es permet aixecar una connexió ho pot fer des de la línia d’ordres sense cap regla de root. Comprova què permet el gestor abans de suposar que el botó necessita privilegis. Si la resposta és sí, el canvi a sudoers resol un problema que no existeix.

nmcli connection show
nmcli connection up "Work VPN"

Si el gestor ho refusa, llegeix per què: una regla de polkit que falta, una connexió propietat d’un altre usuari o un perfil desat on l’usuari no el pot llegir. Cadascun d’aquests casos té una solució compatible més estreta que una regla de sudo. L’escalada de privilegis és l’últim recurs, no el primer.

Condició 2: la regla anomena un sol executable i els seus arguments

Si sudo és realment necessari, la regla hauria d’anomenar l’ordre exacta i, quan sigui possible, els arguments que pot utilitzar. Una regla que permet a un usuari executar un script embolcall és tan segura com els permisos d’aquest script, perquè l’usuari pot editar el que root executarà. Una regla amb un comodí després de l’ordre és el mateix problema en una forma més curta.

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

Comprova cada camí de la cadena d’ordres: el binari, l’script que crida, el fitxer de configuració que llegeix i qualsevol directori entremig. Si l’usuari pot escriure en qualsevol d’ells, la regla limitada és en realitat root sense restriccions. Els arguments també importen, perquè una ordre que accepta un camí de configuració es pot apuntar a un fitxer que controla l’usuari. Escriu la regla per a l’operació, no per al botó.

Atura’t si l’ordre necessita un fitxer controlat per l’usuari per funcionar. Llavors el disseny és incorrecte i cap sintaxi de sudoers no el farà segur.

Condició 3: tota la política s’analitza, no només la teva línia

Valida amb l’editor que bloqueja el fitxer i comprova la sintaxi, i valida la política muntada en lloc d’un fragment. Un fitxer que s’analitza sol encara pot trencar l’ordre d’inclusió o duplicar una regla de manera que canviï el comportament.manual de visudo documenta tant l’editor amb bloqueig com el mode només de comprovació que s’utilitza aquí.

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

La comprovació informa del fitxer i la línia quan falla, i aquest informe és la part útil. Repara el canvi previst a través de l’editor en lloc de desar a la força un error conegut, perquè una política trencada pot deixar fora tots els administradors alhora. Els fitxers del directori d’inclusió també necessiten la propietat i el mode que exigeix el manual, o seran ignorats o rebutjats. La sintaxi és només la primera porta: després de passar-la, torna a llegir la regla i pregunta què permet realment.

Atura’t si l’única manera de fer funcionar el canvi és desactivar la comprovació de sintaxi. Això no és una política, és una caiguda que espera un reinici.

Recuperació: mantén una sessió que encara funcioni

Abans de desar, assegura’t que ja hi ha una sessió administrativa autoritzada oberta i que existeix un segon camí cap a la màquina. Un error a sudoers et pot treure la capacitat d’arreglar-lo, i un botó d’escriptori no val aquest risc. Si sudo ja està trencat, utilitza el camí de recuperació documentat del sistema en lloc d’improvisar-ne un.

sudo -n true
id

Alternatives com pkexec depenen de la seva pròpia instal·lació i política, així que no són una segona petició de root garantida. Mantén l’autorització local separada de proporcionar el secret de la VPN: una regla de sudo no pot desbloquejar un agent de secrets absent ni satisfà l’MFA de la passarel·la. Després de la correcció, prova el compte normal executant només l’operació prevista i després utilitza els controls habituals del gestor.

La decisió s’acaba quan pots dir quina condició va justificar sudo, què anomena la regla, que tota la política s’analitza i com et recuperaries si no fos així. Un llançador privilegiat que et costa l’accés administratiu és un mal negoci, i normalment és evitable.

Articles relacionats