Cosa contiene un export VPN per Mac e cosa lascia indietro
Un export VPN per Mac trasporta impostazioni e talvolta una chiave privata, ma non la password del portachiavi né la registrazione del dispositivo. Controllate prima ogni parte.
Fate clic su Export in un client VPN per Mac e ottenete un file che descrive una connessione senza esserlo. L’indirizzo del server, la porta, il protocollo e spesso i certificati sono al suo interno. La password di accesso, la passphrase di una chiave privata e la registrazione che autorizza proprio questo Mac di solito no. Per questo un profilo può essere importato senza problemi, comparire nell’elenco del client e comunque fallire alla prima richiesta di autenticazione; la lacuna è una proprietà del formato, non un download corrotto.
| Part of the connection | Where it lives on the old Mac | What an export does with it |
|---|---|---|
| Server, port, protocol, routes | Client profile or managed settings | Usually included when the client exports configuration |
| Client certificate and private key | Inside the package, the login keychain, or issued by MDM | Included only if the format packs it; a keychain-held key stays behind |
| Login password, key passphrase | Login keychain | Left out by design |
| Device authorization or enrollment | Server side, bound to the certificate or the device record | Not transferable; the new device has to enroll |
Cosa contiene davvero il file esportato
Un export è un contenitore, e l’estensione del file dice meno del contenuto. I profili OpenVPN sono testo: direttive, più blocchi inline facoltativi <ca>, <cert> e <key>. Le configurazioni Tunnelblick sono archivi compressi di configurazioni e impostazioni. Un .mobileconfig gestito è un plist di payload. Due elenchi rispondono alla maggior parte della domanda prima che importiate qualcosa.
Per un profilo di testo, contate i blocchi PEM che porta con sé: grep -c "PRIVATE KEY" your-profile.ovpn. Un risultato diverso da zero significa che il file contiene materiale di chiave e va trattato come una password da quel momento. Per un archivio, elencatelo senza estrarlo: tar -tf export.tbz, o unzip -l export.zip se il client ha prodotto uno zip. I file di chiave, i file di certificato e gli script di attivazione o disattivazione in quell’elenco sono le parti che una riemissione dell’account utente non ricreerà.
Il caso opposto conta altrettanto. Quando il profilo punta a una chiave per nome file invece di incorporarla, l’export è volutamente incompleto e la metà mancante deve venire da chi l’ha emessa. Copiare quel file accanto va bene quando possedete l’autorità di certificazione; non va bene quando il file arrivava con un certificato legato al dispositivo generato sul Mac vecchio.
Perché la metà del portachiavi non viaggia mai
macOS conserva le password VPN e le passphrase delle chiavi nel portachiavi di login, e i client le memorizzano lì invece che nei propri file di impostazioni. Tunnelblick lo dice nella sua guida all’esportazione e all’importazione: l’archivio di configurazione trasporta configurazioni e impostazioni e lascia fuori i nomi utente, le password e le passphrase conservate nel portachiavi. L’omissione è deliberata. Gli elementi del portachiavi sono protetti per utente e per macchina, quindi un elemento copiato non ha un controllo di accesso valido sulla destinazione, il che lascia o un file inutile o un segreto in chiaro.
Potete confermare dove vive la credenziale prima di pianificare il trasloco. security find-internet-password -s vpn.example.com stampa gli attributi di un elemento corrispondente ed esce con un codice diverso da zero quando non ce n’è nessuno; lo stesso comando con -g chiederebbe di rivelare la password, per questo la query senza quell’opzione è il controllo più sicuro. Una corrispondenza lì significa che il profilo non porta la password e non può essere costretto a farlo. Significa anche che la password verrà richiesta di nuovo sul Mac nuovo, e un’autorizzazione «Consenti sempre» sul vecchio lì non conta nulla.
Non ogni segreto è però un elemento del portachiavi. La documentazione del pacchetto Tunnelblick stesso nota che un pacchetto può contenere file di chiave, certificato e script. Quindi il fatto che l’export escluda le voci del portachiavi non è la stessa affermazione del fatto che l’export sia sicuro da inviare per email; trattate l’archivio come sensibile finché non avete elencato cosa contiene.
Le VPN native e gestite non hanno un percorso di esportazione
Le connessioni configurate tramite Impostazioni di Sistema non offrono un’esportazione supportata. scutil --nc list mostra i servizi che il sistema conosce, e scutil --nc show "Work VPN" stampa la configurazione di un servizio, abbastanza per leggerne il server e il protocollo. Nessuno dei due è uno strumento di migrazione. Gli identificatori di servizio memorizzati in /Library/Preferences/SystemConfiguration/preferences.plist sono riferimenti a quel file, quindi copiare il file e riscrivere gli identificatori non è un trasferimento supportato e può disturbare servizi di rete non correlati sulla destinazione.
Il percorso supportato è quello che Apple documenta: installate un file di impostazioni VPN fornito dall’amministratore, o inserite le impostazioni che l’operatore vi dà. Quando la connessione è gestita, chiedete un file nuovo o una registrazione nuova invece di ricostruirla da uno screenshot della vecchia finestra. Per un profilo spinto da MDM, il payload del certificato può portare l’identità mentre la chiave privata è generata sul dispositivo, e in quel caso nemmeno una copia impeccabile del vecchio profilo può autenticare il nuovo Mac.
Verificate il ripristino invece di fidarvi dell’elenco
Un profilo nell’elenco e un tunnel funzionante sono due stati diversi, e solo uno dei due vale la pena di essere riportato. Dopo l’importazione e la connessione, controllate che l’interfaccia del tunnel esista, poi controllate cosa fa il tunnel.
ifconfig | grep -A3 utun mostra l’interfaccia del tunnel e i suoi indirizzi. scutil --dns | grep nameserver mostra quali resolver sono attivi dopo la connessione, ed è lì che i profili con split-DNS di solito divergono. Poi raggiungete la risorsa che conta davvero: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Se tutti e tre passano, impostazioni, DNS e rotte sono arrivate; un’icona verde nel client non significa nulla di tutto ciò da sola.
Due errori compaiono spesso dopo un’importazione ed entrambi vengono attribuiti al file. Il fatto che i nomi pubblici si risolvano e quelli interni no di solito significa che i server DNS del profilo sono stati persi o che lo split-DNS non è stato conservato. Un tunnel che sale e non passa traffico di solito significa che le rotte o l’autorizzazione lato server non hanno seguito il profilo. Reimportare lo stesso archivio riproduce entrambi.
Prima di dismettere il Mac vecchio
Cancellare l’export non è revocare. Se il dispositivo vecchio si autenticava con un certificato, il server si fida ancora di quel certificato finché non viene revocato o riemesso. Se si autenticava con un account condiviso, le sessioni su quell’account possono essere ancora attive. Fate il passo lato server mentre l’hardware è ancora davanti a voi.
Conservate il nuovo profilo con le altre credenziali quando contiene una chiave, e digitate la password nel client in modo che finisca nel nuovo portachiavi e non in un file. Ultimo controllo: collegatevi dal sostituto con il Mac vecchio spento. Un passaggio di consegne che funziona solo finché la macchina di origine è online non è mai stato completo.