Ce que contient un export VPN Mac, et ce qu’il laisse derrière lui
Un export VPN Mac transporte des réglages et parfois une clé privée, mais pas le mot de passe du trousseau ni l’enrôlement de l’appareil. Vérifiez chaque partie d’abord.
Cliquez sur Export dans un client VPN Mac et vous obtenez un fichier qui décrit une connexion sans en être une. L’adresse du serveur, le port, le protocole et souvent les certificats s’y trouvent. Le mot de passe de connexion, la phrase secrète d’une clé privée et l’enrôlement qui autorise précisément ce Mac ne s’y trouvent généralement pas. C’est pourquoi un profil peut s’importer proprement, apparaître dans la liste du client et échouer malgré tout à la première demande d’authentification ; l’écart est une propriété du format, pas un téléchargement corrompu.
| 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 |
Ce que contient réellement le fichier exporté
Un export est un conteneur, et l’extension du fichier en dit moins que le contenu. Les profils OpenVPN sont du texte : des directives, plus des blocs en ligne facultatifs <ca>, <cert> et <key>. Les configurations Tunnelblick sont des archives compressées de configurations et de réglages. Un .mobileconfig géré est un plist de charges utiles. Deux listages répondent à l’essentiel de la question avant que vous n’importiez quoi que ce soit.
Pour un profil texte, comptez les blocs PEM qu’il porte : grep -c "PRIVATE KEY" your-profile.ovpn. Un résultat non nul signifie que le fichier contient de la matière de clé et doit être traité comme un mot de passe à partir de là. Pour une archive, listez-la sans l’extraire : tar -tf export.tbz, ou unzip -l export.zip si le client a produit un zip. Les fichiers de clé, les fichiers de certificat et les scripts de montée ou de descente de ce listage sont les parties qu’une réémission de compte utilisateur ne recréera pas.
Le cas inverse compte tout autant. Lorsque le profil pointe vers une clé par nom de fichier au lieu de l’intégrer, l’export est volontairement incomplet et la moitié manquante doit venir de celui qui l’a émis. Copier ce fichier à côté est correct lorsque vous possédez l’autorité de certification ; ce ne l’est pas lorsque le fichier venait avec un certificat lié à l’appareil qui a été généré sur l’ancien Mac.
Pourquoi la moitié du trousseau ne voyage jamais
macOS conserve les mots de passe VPN et les phrases secrètes des clés dans le trousseau de connexion, et les clients les y stockent plutôt que dans leurs propres fichiers de réglages. Tunnelblick le dit dans son guide d’export et d’import : l’archive de configuration transporte les configurations et les réglages et laisse de côté les noms d’utilisateur, les mots de passe et les phrases secrètes détenus dans le trousseau. L’omission est délibérée. Les éléments du trousseau sont protégés par utilisateur et par machine, si bien qu’un élément copié n’a aucun contrôle d’accès valide sur la destination, ce qui laisse soit un fichier inutile, soit un secret en clair.
Vous pouvez confirmer où vit l’identifiant avant de planifier le déménagement. security find-internet-password -s vpn.example.com imprime les attributs d’un élément correspondant et se termine par un code non nul lorsqu’il n’y en a aucun ; la même commande avec -g demanderait à révéler le mot de passe, c’est pourquoi la requête sans elle est la vérification la plus sûre. Une correspondance à cet endroit signifie que le profil ne porte pas le mot de passe et ne peut pas y être contraint. Cela signifie aussi que le mot de passe sera redemandé sur le nouveau Mac, et qu’une autorisation « Toujours autoriser » sur l’ancien n’y compte pour rien.
Tout secret n’est cependant pas un élément de trousseau. La documentation du paquet Tunnelblick lui-même note qu’un paquet peut contenir des fichiers de clé, de certificat et de script. Donc le fait que l’export exclue les entrées du trousseau n’est pas la même affirmation que celle que l’export est sûr à envoyer par courriel ; traitez l’archive comme sensible jusqu’à ce que vous ayez listé ce qu’elle contient.
Les VPN natifs et gérés n’ont pas de chemin d’export
Les connexions configurées via Réglages Système n’offrent pas d’export pris en charge. scutil --nc list montre les services que le système connaît, et scutil --nc show "Work VPN" imprime la configuration d’un service, assez pour en lire le serveur et le protocole. Ni l’un ni l’autre n’est un outil de migration. Les identifiants de service stockés dans /Library/Preferences/SystemConfiguration/preferences.plist sont des références vers ce fichier, donc copier le fichier et réécrire les identifiants n’est pas un transfert pris en charge et peut perturber des services réseau sans rapport sur la destination.
Le chemin pris en charge est celui qu’Apple documente : installez un fichier de réglages VPN fourni par l’administrateur, ou saisissez les réglages que l’opérateur vous donne. Lorsque la connexion est gérée, demandez un fichier neuf ou un enrôlement neuf au lieu de la reconstruire à partir d’une capture de l’ancienne boîte de dialogue. Pour un profil poussé par MDM, la charge du certificat peut porter l’identité tandis que la clé privée est générée sur l’appareil, et dans ce cas même une copie impeccable de l’ancien profil ne peut pas authentifier le nouveau Mac.
Vérifiez la restauration au lieu de faire confiance à la liste
Un profil dans la liste et un tunnel qui fonctionne sont deux états différents, et un seul des deux mérite d’être rapporté. Après l’import et la connexion, vérifiez que l’interface du tunnel existe, puis vérifiez ce que fait le tunnel.
ifconfig | grep -A3 utun montre l’interface du tunnel et ses adresses. scutil --dns | grep nameserver montre quels résolveurs sont actifs après la connexion, et c’est là que les profils split-DNS divergent généralement. Atteignez ensuite la ressource qui compte vraiment : curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Si les trois passent, les réglages, le DNS et les routes sont arrivés ; une icône verte dans le client ne signifie rien de tout cela à elle seule.
Deux échecs apparaissent souvent après un import et tous deux sont imputés au fichier. Que les noms publics se résolvent et pas les internes signifie généralement que les serveurs DNS du profil ont été perdus ou que le split-DNS n’a pas été préservé. Un tunnel qui monte et ne fait passer aucun trafic signifie généralement que les routes ou l’autorisation côté serveur n’ont pas suivi le profil. Réimporter la même archive reproduit les deux.
Avant de mettre l’ancien Mac au rebut
Supprimer l’export n’est pas une révocation. Si l’ancien appareil s’authentifiait avec un certificat, le serveur fait toujours confiance à ce certificat jusqu’à ce qu’il soit révoqué ou réémis. S’il s’authentifiait avec un compte partagé, des sessions sur ce compte peuvent encore être actives. Faites l’étape côté serveur pendant que le matériel est encore devant vous.
Conservez le nouveau profil avec vos autres identifiants lorsqu’il contient une clé, et saisissez le mot de passe dans le client pour qu’il arrive dans le nouveau trousseau plutôt que dans un fichier. Dernière vérification : connectez-vous depuis le remplaçant avec l’ancien Mac éteint. Un transfert qui ne fonctionne que tant que la machine source est en ligne n’a jamais été complet.