La finestra di connessione offre una casella per ricordare l'accesso, e spuntandola i dati dell'account escono dalla testa dell'utente e passano nella macchina. L'interfaccia non dice mai dove. Su Windows i candidati sono l'area di registro dell'utente corrente, un file di profilo che già contiene l'accesso e ciò che fa uno script di automazione. Ogni posizione ha un lettore diverso, un modo di fallire diverso e una pulizia diversa, quindi la domanda utile è quale processo può recuperare il segreto e per quanto tempo. Seguite la casella dalla finestra verso l'esterno, poi decidete che cosa espone davvero un portatile smarrito.

Iniziate dalla casella nella finestra di connessione

I valori ricordati sono conservati per profilo e per account Windows, nell'hive dell'utente e non in un archivio condiviso della macchina. Per questo un secondo utente sullo stesso computer non vede alcun accesso salvato, e per questo reinstallare il client non cancella necessariamente la voce memorizzata.

Il file di profilo conserva il server, la porta e le impostazioni ma nessun segreto, ed è per questo che si ispeziona prima l'artefatto sbagliato. Cancellare il profilo rimuove quindi la connessione e lascia indietro la credenziale. Questa è la sorpresa più comune durante la pulizia. Rimuovete entrambi gli artefatti, non uno solo.

Cosa rivela il valore di registro

Il nome dell'account è in testo leggibile, quindi qualunque cosa giri come quell'utente può decodificarlo senza alcuna chiamata speciale. La password è diversa: è sigillata con Windows DPAPI, legata all'account e, a seconda dei flag, alla macchina specifica. Spostare il blocco sigillato su un altro computer e riprodurlo non produce quindi un segreto utilizzabile.

Elencare i valori risponde alla domanda operativa senza toccare il segreto stesso. Non serve decifrare nulla per confermare che una voce esiste. L'elenco funge anche da registro prima e dopo per la pulizia.

reg query "HKCU\Software\OpenVPN-GUI\configs" /s
cmdkey /list | findstr /i vpn
reg query "HKCU\Software\OpenVPN-GUI" /s | findstr /i "username password"

Due limiti meritano di essere detti chiaramente. Un processo nella stessa sessione connessa può chiamare la stessa routine di deprotezione usata dal client, quindi la sigillatura è una protezione a riposo e non contro un desktop compromesso. E senza cifratura completa del disco, il valore sigillato è privato quanto il disco.

Quando il file di profilo contiene già l'accesso

Alcuni portali distribuiscono una configurazione con nome account e password scritti dentro, così il client si connette in silenzio. A quel punto il file è una credenziale funzionante, e ogni sua copia è un'altra chiave per la stessa porta.

Quei file finiscono in backup, thread di chat e cartelle sincronizzate, e nessuna di quelle copie smette di funzionare quando l'originale viene cancellato. Modificare il file locale non cambia nulla sugli altri. Revocare l'accesso significa cambiare la password sul server, e farlo subito. La pulizia su un solo portatile è un compito separato e più piccolo.

Dove un prompt è accettabile, preferitelo e usate i controlli di cache del client. Se un profilo precompilato è davvero necessario, tenetelo fuori dalle cartelle sincronizzate e rimuovetelo quando il lavoro finisce.

L'automazione sposta il segreto altrove

Gli script introducono altri due canali: argomenti del processo e battute di tasto sintetiche. Un file nominato su una riga di comando è visibile a tutto ciò che può leggere gli argomenti del processo o i permessi del file, e una password digitata da uno strumento va alla finestra che in quel momento ha il focus. Un esempio pubblicato digita la password del desktop in quel modo prima di avviare il client. Un seme di password monouso memorizzato merita la stessa cura, perché può generare ogni codice futuro e sopravvive a un solo accesso.

Lo schema migliore conserva il segreto dove solo l'account di servizio può leggerlo, si affida alle opzioni documentate del client per il nuovo tentativo e l'origine delle credenziali, ed evita la digitazione iniettata nei prompt dei privilegi. Se lo script ha bisogno della password del desktop per l'elevazione, è una questione di progettazione dei privilegi, non di VPN.

Pulizia dopo un dispositivo smarrito

Revocate o disattivate l'account sul server prima di ogni altra cosa, perché la cancellazione locale non può invalidare una copia che qualcuno ha già. Poi cancellate i valori di registro ricordati, rimuovete il profilo e ogni file di credenziali, e cercate password incollate nella cronologia della shell e nelle cartelle degli script.

Annotate che cosa è stato rimosso e quando l'accesso è finito. Quella coppia risponde all'unica domanda che fa una revisione dell'incidente: se qualche copia della credenziale funzionava ancora dopo che il dispositivo se n'era andato.

Articoli correlati