Il tuo portatile è sparito e la VPN lo elenca ancora come client. La domanda urgente non è come eliminare il profilo su una macchina che non hai più, ma quale identità il server accetta ancora. WireGuard controlla una chiave pubblica, una configurazione OpenVPN basata su PKI controlla un certificato client, e una VPN con SSO controlla un account e il suo token di sessione. Questi tre si revocano in luoghi diversi e a velocità diverse, e correggerne uno ignorando gli altri è il modo in cui un dispositivo smarrito resta connesso.

Tre identità e cosa controlla ciascuna

Ogni meccanismo risponde a una domanda diversa. Una chiave peer risponde se questa è la macchina che hai registrato. Un certificato risponde se è stato firmato dalla tua CA e non è stato revocato. Un account risponde se questa persona si è autenticata abbastanza di recente. Un deployment che ne sovrappone due, per esempio certificato più accesso alla directory, chiude la porta solo quando a ogni livello che ha emesso qualcosa per il dispositivo è stato detto di smettere di accettarlo.

La trappola pratica è che la macchina mancante detiene la metà privata di ogni credenziale, quindi nulla di ciò che fai localmente raggiunge il server.

WireGuard: rimuovi il peer, perché non esiste una lista di revoca

WireGuard non tiene alcuna lista di divieto. L’interfaccia accetta esattamente le chiavi pubbliche configurate come peer, quindi revocare significa eliminare: esegui wg set wg0 peer <public-key> remove, la forma documentata in wg(8), poi elimina il blocco [Peer] corrispondente da wg0.conf. Fai entrambe le cose. Una rimozione solo a runtime sopravvive fino al prossimo riavvio o ricaricamento della configurazione, quando il file rimette la chiave.

Le sessioni esistenti non hanno bisogno di un timer per morire. Rimuovere il peer ne scarta l’handshake e il materiale di chiave, quindi il traffico si ferma appena serve di nuovo una coppia di chiavi valida. Controlla wg show wg0 latest-handshakes sul server: la voce della chiave smarrita dovrebbe sparire e restare assente, mentre gli altri peer continuano a riportare epoche recenti.

Un avvertimento conta più di quanto sembri. Se il dispositivo smarrito condivideva una chiave con altri dispositivi perché qualcuno ha copiato un file di configurazione, rimuovere quella chiave li disconnette tutti; è comunque la mossa giusta, e poi emetti chiavi per dispositivo invece di ripristinare quella condivisa.

Certificati: una CRL conta solo se il demone la legge

L’accesso basato su certificati aggiunge un passaggio che le persone saltano. easyrsa revoke laptop-01 segna il certificato come revocato nel database della CA, ma la VPN non impara nulla da quel database. Poi esegui easyrsa gen-crl per scrivere crl.pem, lo copi nel percorso indicato nell’opzione crl-verify del server e confermi che il demone in esecuzione usi il nuovo file. Revocare senza rigenerare e distribuire la CRL è inutile.

Il tempismo è la seconda metà. Una CRL viene consultata quando un client si connette o rinegozia, quindi un tunnel stabilito può continuare a inoltrare fino ad allora. Se il dispositivo deve essere tagliato fuori subito, termina quella sessione esplicitamente tramite l’interfaccia di gestione di OpenVPN invece di aspettare il prossimo handshake. Ricaricare o riavviare il servizio, a seconda di come il deployment carica la CRL, fa parte del cambiamento e non è un extra opzionale.

Vale la pena verificarlo da un’altra macchina: presenta il certificato revocato e aspettati un handshake fallito, tipicamente VERIFY ERROR: depth=0, error=certificate revoked. Se la connessione riesce ancora, il client sta leggendo una CRL diversa da quella che hai aggiornato.

Account e sessioni: disattivare non è la stessa cosa di espellere

Gli accessi alla directory o tramite SSO vengono controllati al momento dell’autenticazione. Disattivare l’account blocca l’accesso successivo, ma il token di aggiornamento e il tunnel stabilito possono continuare a funzionare finché non scadono. Revoca le sessioni e i token di quell’utente, oppure aumenta una versione di sessione se il provider di identità lo supporta. Rimuovi anche il dispositivo smarrito dall’iscrizione MFA, dato che un autenticatore registrato è di per sé una via d’accesso.

Le VPN basate su RADIUS possono inviare un messaggio di disconnessione o un cambio di autorizzazione per far cadere una sessione attiva, ma non ogni server di accesso alla rete lo rispetta. In caso di dubbio, termina la sessione dell’utente dal lato server e conferma nei log che la vecchia sessione è stata chiusa.

Ordine delle operazioni per la prossima ora

Parti dall’inventario, non dal client: elenca ogni identità legata al dispositivo, sia chiave peer, numero di serie del certificato o account. Revoca in ogni sistema emittente nell’ordine in cui viene costruita la connessione, cioè prima l’account, poi il certificato, poi il peer. Poi dimostra il rifiuto da una macchina che controlli.

Due seguiti sono facili da dimenticare. Primo, ruota qualunque altra cosa il dispositivo custodisse, in particolare chiavi SSH, credenziali della console cloud e una chiave pre-condivisa WireGuard. Secondo, controlla che la gestione della configurazione, gli snapshot o le immagini golden non possano reintrodurre il client rimosso alla prossima ricostruzione.

La soluzione duratura è un’identità per dispositivo. Quando ogni portatile porta la propria chiave peer o il proprio certificato, una perdita costa un comando di revoca e una riemissione invece di ricostruire l’intera flotta.

Articoli correlati