Ogni ricetta di riconnessione non presidiata arriva prima o poi alla stessa domanda: dove vive la password. La risposta diffusa è l’azione dell’attività stessa, che è anche il posto peggiore per lei. Esistono altri due progetti. Quale si adatta dipende dal fatto che la macchina possa autenticarsi senza una persona e che il server accetti i certificati.

Cosa lascia leggibile un’azione dell’attività

Gli argomenti in un’attività pianificata fanno parte della sua definizione, non sono un valore nascosto in fase di esecuzione. Chiunque possa leggere l’attività, ripristinarne un backup o esportarne l’XML vede la stringa esattamente come l’hai digitata. Durante un’esecuzione la stessa stringa compare nell’elenco dei processi. Un agente di monitoraggio può copiarla in un registro che non controlli mai.

schtasks /query /tn "VPN Reconnect" /xml
cmdkey /list

Verifica prima di supporre il contrario. Il primo comando stampa la definizione completa, inclusa l’azione e i suoi argomenti. Il secondo mostra quali credenziali l’account corrente ha memorizzato nella cache, cosa che conta per i progetti alternativi qui sotto. Se la password compare nell’XML dell’attività, ruotarla è solo metà della riparazione, perché l’attività conserva ancora il valore vecchio.

Cosa compra davvero una chiave precondivisa memorizzata

Add-VpnConnection -L2tpPsk scrive la chiave nella voce della rubrica della connessione anziché in un’attività. È una superficie di esposizione più piccola di un’azione dell’attività. Resta un segreto recuperabile, perché un amministratore sulla macchina può leggere la rubrica.

Per un collegamento di laboratorio tra due macchine che controlli, quello scambio può essere accettabile. Per una credenziale utente su un endpoint condiviso non lo è. Chiamarlo archiviazione crittografata non cambia chi può leggerlo. La rubrica è un file di configurazione. Pianifica per la persona che può aprirlo, non solo per la persona che può accedere come utente.

Le credenziali di Winlogon rimuovono il segreto e aggiungono una dipendenza

-UseWinlogonCredential segue un’altra strada. La connessione si autentica con MSCHAPv2 rispetto alle credenziali dell’utente connesso. Per quell’account non viene memorizzato nulla in più.

La dipendenza che aggiunge è significativa. Deve esserci un accesso interattivo da cui prendere in prestito, il che esclude un account di servizio e un’attività prima dell’accesso. La connessione eredita anche tutto ciò che le credenziali di quell’utente possono raggiungere sul server. Leggi l’opzione come un’affermazione su da dove viene la credenziale, non come un’impostazione di sicurezza. Cambia la fonte, e nulla su come il server autorizzi la sessione in seguito.

L’autenticazione con certificati scala perché non viene memorizzato nulla

Dove il server supporta EAP-TLS, un certificato di macchina elimina del tutto il segreto condiviso, e la revoca avviene a livello di certificato. Un’attività eseguita come SYSTEM può presentare quel certificato senza un accesso interattivo. Conferma che il server accetti l’autenticazione con certificati prima di costruirci sopra. Un progetto che dipende da un metodo non supportato è un piano, non una soluzione. Poi decidi dove vive la chiave privata: l’archivio della macchina per l’identità di un dispositivo, l’archivio dell’utente per una persona.

Dove non si possono evitare nome utente e password, memorizzali in Credential Manager limitati all’account proprio dell’attività. Lascia che il client li legga da lì invece che da un argomento. Un segreto che l’attività può recuperare senza stamparlo è un problema minore di uno scritto nella sua definizione.

Esamina gli artefatti prima della prossima rotazione

Guarda ciò che è memorizzato invece di ciò che intendevi. Controlla la rubrica per utente, la copia per tutti gli utenti, l’XML dell’attività e qualsiasi script che chiami il comando di composizione. Poi conferma che il certificato o la credenziale nella cache sia limitata all’account usato dall’attività, perché una credenziale memorizzata per il tuo account interattivo è invisibile a SYSTEM.

Annota il metodo di autenticazione e l’account nelle note dell’attività stessa. La prossima persona che cambierà i criteri del server deve sapere quale progetto è in gioco. Quella risposta non si vede solo dal comportamento di riconnessione. Scrivila dove la prossima rotazione guarderà per prima.

Articoli correlati