Cambiare la password VPN senza bloccare tutti i dispositivi
Cambiare la password non aggiorna le copie salvate. Inventaria ogni client, sostituisci il valore salvato presso il suo proprietario e ferma il ciclo di tentativi.
Tre telefoni, un router e un controllo di monitoraggio tengono ancora la vecchia password, e uno di loro si riconnette ogni novanta secondi. La password dell’account è cambiata dieci minuti fa, quindi ciascuno di quei client invia ora un valore che il server rifiuta. È il momento in cui il mito si spezza: un cambio di password tocca l’account, non le copie del vecchio valore che stanno su ogni dispositivo. Quello che segue è il lavoro che il cambiamento non ha fatto.
Il mito: un cambiamento, ovunque insieme
La convinzione è che un cambio di password disconnetta tutto e imponga un accesso pulito. Non è così, perché il server tiene traccia solo dell’ultima credenziale accettata, mentre i client conservano ciò che hanno salvato. Un dispositivo con una password salvata la ritenta secondo il proprio calendario e fallisce in silenzio finché qualcuno non nota che l’account è bloccato. Quando accetti che le copie vivono fuori dall’account, la rotazione smette di sembrare un’unica azione.
Niente di ciò argomenta contro la rotazione. Argomenta a favore del trattare le copie salvate come parte del cambiamento e non come un pensiero successivo. Un blocco di solito deriva da tentativi paralleli: ogni dispositivo continua a inviare il vecchio valore secondo il proprio calendario finché il contatore scatta. L’account sembra allora attaccato mentre gli vengono offerte solo credenziali che nessuno ha sostituito. Questa distinzione conta, perché la soluzione è un elenco di dispositivi e non una politica di blocco più severa.
Inventaria le copie prima di ruotare
Scrivi l’inventario prima di aprire il modulo della password. Elenca ogni client, script, automazione e profilo gestito che si autentica come questo account: il telefono che si connette da solo, il router configurato due anni fa, il portatile che si sveglia solo il lunedì e il controllo di monitoraggio che prova ogni minuto. Per ciascuno, annota dove è salvata la credenziale, se il dispositivo è raggiungibile durante il cambiamento e quale percorso di ripristino esiste se non riesce a riconnettersi. È quell’elenco che trasforma un cambiamento rischioso in uno pianificato, e deve esistere prima che la vecchia password smetta di funzionare.
I dispositivi offline sono la dimenticanza classica. Un portatile in un cassetto torna tre settimane dopo e presenta il valore scaduto nel momento peggiore. Annota anche la sua posizione e il suo calendario, perché dovrai inseguirlo invece di aspettarlo.
Su una flotta Linux la ricerca è meccanica e non ingegnosa. Cerca i profili che fanno riferimento a un file di credenziali, poi cerca i file di credenziali stessi, perché è il secondo elenco quello da riscrivere. Ripeti l’esercizio per i client desktop e i telefoni, dove l’archivio è un profilo o una voce del portachiavi e non un percorso. L’obiettivo è un elenco su cui puoi lavorare, non una scansione che pretende di trovare ogni copia.
grep -rl auth-user-pass /etc/openvpn /etc/NetworkManager
grep -rl auth-user-pass ~/.config 2>/dev/null
Confronta le copie con le persone che le possiedono. Un dispositivo che nessuno rivendica è un dispositivo che nessuno aggiornerà, ed è anche quello che più probabilmente continuerà a ritentare.
Quale segreto stai davvero ruotando
Una password dell’account è solo una credenziale in una distribuzione VPN. Una passphrase della chiave, un’identità di certificato e un segreto del peer opzionale hanno ciascuno il proprio percorso di sostituzione e il proprio proprietario. Cambiare la password dell’account non fa nulla per un dispositivo che si autentica con un certificato, e riemettere un certificato non fa nulla per un client che conserva una password salvata. Nomina il segreto prima di nominare la soluzione.
Se la rotazione è guidata dal sospetto e non dalla politica, il processo di incidente prevale sul piano di comodità. Revoca ciò che le prove richiedono e accetta il lavoro extra sull’elenco dei dispositivi. Quella decisione appartiene al responsabile dell’incidente, non a chi tiene per caso il modulo di reimpostazione della password.
Sostituisci il valore salvato dove vive
Cambia la credenziale tramite il meccanismo documentato dal servizio, poi aggiorna la copia salvata o esegui il flusso di accesso su ogni dispositivo che vuoi mantenere. Non modificare una configurazione generata dietro un gestore che la riscrive, perché il gestore ripristina il valore precedente alla sua esecuzione successiva e la modifica diventa un guasto ritardato. Aggiorna la fonte che il gestore legge, oppure usa l’archivio di credenziali del client stesso. In ogni caso, il dispositivo deve finire con il nuovo valore nel punto in cui il client legge davvero.
Un client che salva un file di password ha bisogno del file riscritto, mentre un client che chiede ha bisogno di un accesso completato. NetworkManager tiene il segreto dentro il profilo di connessione, quindi il cambiamento passa per nmcli e non per un editor di testo:
nmcli connection modify work vpn.secrets "password=NEW"
nmcli connection up work
Un profilo che legge un file di credenziali è un terzo caso. Sostituisci il contenuto di quel file, mantieni i suoi permessi chiusi e ricarica il client invece di modificare il profilo che punta a esso. Il profilo non è cambiato; è cambiato solo il segreto che legge.
Riconnetti ogni dispositivo previsto una volta, deliberatamente, e osserva quali falliscono. Se un dispositivo continua a fallire, guarda l’account a cui punta e l’archivio che legge prima di cambiare di nuovo la password, perché un secondo cambiamento moltiplica le copie da aggiornare. Un dispositivo che fallisce due volte di solito punta all’account sbagliato o legge un archivio che non hai ancora trovato. Correggilo, poi riconnetti.
Le sessioni e i token sopravvivono alla password
Cambiare la password non dimostra che le sessioni esistenti o i certificati separati siano stati revocati. Alcuni servizi mantengono viva una sessione finché non scade o non viene terminata esplicitamente, e i token emessi portano la propria durata. Verifica che cosa fa realmente il servizio invece di supporre che il cambiamento sia stato globale. Se il cambiamento è stato guidato dal sospetto, termina esplicitamente le sessioni e conferma il risultato.
La guida al ciclo di vita delle credenziali di NIST SP 800-63B mantiene autenticatori e sessioni in categorie separate, ed è per questo che un cambio di password e una disconnessione globale sono operazioni diverse. Trattali come due attività con due criteri di completamento. La prima è finita quando il nuovo valore funziona, e la seconda quando le vecchie sessioni sono sparite.
Registra il completamento senza scrivere la nuova password nel registro. Un log di rotazione che contiene la credenziale è un nuovo incidente in attesa su un disco condiviso. Annota la data, i dispositivi aggiornati e i dispositivi ancora in sospeso.