Un utente fa doppio clic sulla GUI di OpenVPN, approva una richiesta UAC e ripete lo stesso rituale alla riconnessione successiva. La richiesta non è un errore di confezionamento: il client crea un adattatore virtuale e modifica la tabella di routing, ed entrambe sono modifiche privilegiate. La domanda utile è quali di questi diritti l’utente abbia davvero bisogno. Un servizio più una delega ristretta coprono la connessione senza distribuire l’appartenenza al gruppo Administrators.

Quali operazioni richiedono davvero l’elevazione

Il tunnel termina su un’interfaccia di rete virtuale, e installare quell’interfaccia è un’operazione del driver che richiede una volta i diritti di amministratore. Una volta che l’adattatore esiste, ogni connessione scrive ancora rotte e, a seconda del profilo, modifica la configurazione DNS. Sono questi due passaggi a innescare l’elevazione su un account normale. Nulla nell’autenticazione o nella crittografia richiede diritti di amministratore, ed è proprio per questo che il privilegio può essere separato.

Separa il momento dell’installazione da quello della connessione prima di scegliere un’autorizzazione. Hanno proprietari e durate diverse.

Usa il servizio come componente privilegiato

La disposizione supportata esegue un servizio Windows che detiene i diritti necessari, con una GUI che chiede al servizio di connettersi. Così il codice privilegiato non viene mai eseguito dentro la sessione dell’utente.

sc query OpenVPNService
sc qc OpenVPNService

Un servizio in esecuzione il cui percorso binario punta al client installato è il primo fatto da confermare prima di delegare qualsiasi cosa. Il servizio possiede l’adattatore e le rotte, quindi l’utente si limita ad avviare e fermare una connessione. Questa è la forma da usare sulle macchine condivise, perché l’account che fa clic su connetti non detiene alcun privilegio permanente. Leggi il descrittore con sc sdshow prima di modificarlo, e conserva una copia di riferimento dell’output.

Delega le modifiche alle rotte a un gruppo predefinito

Per un client che deve funzionare in modo interattivo, il gruppo predefinito delegato è Network Configuration Operators. Copre le impostazioni di rete e le modifiche alle rotte escludendo l’installazione di software e il lavoro amministrativo generale.

net localgroup "Network Configuration Operators" alice /add
sc sdshow OpenVPNService

Aggiungere l’account non è silenzioso: il criterio predefinito solleva ancora una richiesta per sessione, quindi l’autorizzazione riduce ciò che l’elevazione può fare invece di eliminarla. Documenta l’appartenenza, perché si accumula in silenzio e quasi mai viene riesaminata. Sul percorso del servizio, una modifica del descrittore con sc sdset può delegare avvio e arresto a un gruppo, anche se un errore di battitura nel descrittore può negare i diritti di avvio a ogni account, e annullarla richiede un amministratore. Verifica ogni modifica del descrittore su una macchina di laboratorio prima che raggiunga un host di produzione.

Verifica dall’account utente

Una configurazione eseguita in una sessione di amministratore non dimostra nulla sull’account che la userà. Accedi come quell’utente, connettiti e confronta lo stato della macchina prima e dopo.

route print -4
Get-DnsClientServerAddress

La tabella di routing dovrebbe acquisire le rotte del tunnel, e il resolver dovrebbe puntare ai server forniti dalla VPN durante la connessione. Dopo la disconnessione entrambi gli output dovrebbero corrispondere alle copie catturate in anticipo, ed è per questo che è importante catturarle prima. Gli aggiornamenti dei driver possono reintrodurre il requisito di amministratore, quindi annota la versione del client accanto al risultato. Mantieni i file di profilo e delle chiavi leggibili solo dall’account che li usa invece di allentare i permessi per un’installazione condivisa.

Annota chi può avviare il tunnel, quale gruppo lo concede e cosa richiede ancora un amministratore. Quella nota trasforma il prossimo aggiornamento del client in lavoro pianificato invece che in un pomeriggio di supposizioni.

Articoli correlati