Was ein Mac-VPN-Export enthält und was er zurücklässt
Ein Mac-VPN-Export trägt Einstellungen und manchmal einen privaten Schlüssel, aber nicht das Keychain-Passwort oder die Geräteregistrierung. Prüfen Sie jeden Teil zuerst.
Klicken Sie in einem Mac-VPN-Client auf Export, und Sie erhalten eine Datei, die eine Verbindung beschreibt, ohne eine zu sein. Serveradresse, Port, Protokoll und oft auch die Zertifikate stehen darin. Das Anmeldepasswort, die Passphrase eines privaten Schlüssels und die Registrierung, die genau diesen Mac autorisiert, fehlen dagegen meist. Deshalb lässt sich ein Profil sauber importieren, erscheint in der Clientliste und scheitert trotzdem an der ersten Authentifizierungsabfrage; die Lücke ist eine Eigenschaft des Formats, kein beschädigter Download.
| 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 |
Was die exportierte Datei tatsächlich enthält
Ein Export ist ein Container, und die Dateiendung verrät weniger als der Inhalt. OpenVPN-Profile sind Text: Anweisungen plus optionale Inline-<ca>, <cert> und <key>-Blöcke. Tunnelblick-Setups sind komprimierte Archive aus Konfigurationen und Einstellungen. Eine verwaltete .mobileconfig ist eine Plist aus Payloads. Zwei Auflistungen beantworten den größten Teil der Frage, bevor Sie etwas importieren.
Zählen Sie bei einem Textprofil die PEM-Blöcke, die es enthält: grep -c "PRIVATE KEY" your-profile.ovpn. Ein von null verschiedenes Ergebnis bedeutet, dass die Datei Schlüsselmaterial enthält und ab dann wie ein Passwort behandelt werden muss. Bei einem Archiv listen Sie es auf, ohne es zu entpacken: tar -tf export.tbz, oder unzip -l export.zip, wenn der Client eine Zip-Datei erzeugt hat. Schlüsseldateien, Zertifikatsdateien und Up- oder Down-Skripte in dieser Auflistung sind die Teile, die ein neu ausgestelltes Benutzerkonto nicht neu erzeugt.
Der umgekehrte Fall zählt genauso. Wenn das Profil auf einen Schlüssel per Dateinamen verweist, statt ihn einzubetten, ist der Export absichtlich unvollständig, und die fehlende Hälfte muss von der Stelle kommen, die ihn ausgestellt hat. Die Datei danebenzulegen ist in Ordnung, wenn Sie die Zertifizierungsstelle besitzen; es ist nicht in Ordnung, wenn die Datei zu einem gerätegebundenen Zertifikat gehört, das auf dem alten Mac erzeugt wurde.
Warum die Keychain-Hälfte nie mitreist
macOS bewahrt VPN-Passwörter und Schlüssel-Passphrasen im Login-Keychain auf, und Clients speichern sie dort statt in ihren eigenen Einstellungsdateien. Tunnelblick sagt das in seinem Export- und Import-Leitfaden: Das Setup-Archiv enthält Konfigurationen und Einstellungen und lässt die Benutzernamen, Passwörter und Passphrasen aus, die im Keychain liegen. Das Weglassen ist Absicht. Keychain-Einträge sind pro Benutzer und pro Rechner geschützt, sodass ein kopierter Eintrag am Ziel keine gültige Zugriffskontrolle hat; das hinterlässt entweder eine nutzlose Datei oder ein Klartextgeheimnis.
Sie können bestätigen, wo die Zugangsdaten liegen, bevor Sie den Umzug planen. security find-internet-password -s vpn.example.com gibt die Attribute für einen passenden Eintrag aus und endet mit einem Exit-Code ungleich null, wenn keiner existiert; derselbe Befehl mit -g würde zur Offenlegung des Passworts auffordern, weshalb die Abfrage ohne diese Option die sicherere Prüfung ist. Ein Treffer dort bedeutet, dass das Profil das Passwort nicht mitführt und auch nicht dazu gebracht werden kann. Es bedeutet außerdem, dass das Passwort auf dem neuen Mac erneut abgefragt wird, und eine Freigabe vom Typ „Immer erlauben“ auf dem alten zählt dort nichts.
Nicht jedes Geheimnis ist allerdings ein Keychain-Eintrag. Die eigene Paketdokumentation von Tunnelblick weist darauf hin, dass ein Paket Schlüssel-, Zertifikats- und Skriptdateien enthalten kann. Dass der Export Keychain-Einträge auslässt, ist also nicht dieselbe Aussage wie die, dass der Export sicher per E-Mail zu versenden ist; behandeln Sie das Archiv als sensibel, bis Sie aufgelistet haben, was darin steckt.
Native und verwaltete VPNs haben keinen Exportpfad
Über Systemeinstellungen konfigurierte Verbindungen bieten keinen unterstützten Export. scutil --nc list zeigt die Dienste, die das System kennt, und scutil --nc show "Work VPN" gibt die Konfiguration eines Dienstes aus, genug, um Server und Protokoll zu lesen. Beides ist kein Migrationswerkzeug. Die Dienstkennungen in /Library/Preferences/SystemConfiguration/preferences.plist sind Verweise in diese Datei, sodass das Kopieren der Datei und das Umschreiben der Kennungen kein unterstützter Transfer ist und unabhängige Netzwerkdienste am Ziel stören kann.
Der unterstützte Weg ist der, den Apple dokumentiert: eine vom Administrator bereitgestellte VPN-Einstellungsdatei installieren oder die Einstellungen eingeben, die der Betreiber Ihnen gibt. Wenn die Verbindung verwaltet wird, bitten Sie um eine frische Datei oder eine frische Registrierung, statt sie aus einem Screenshot des alten Dialogs nachzubauen. Bei einem per MDM verteilten Profil kann die Zertifikats-Payload die Identität tragen, während der private Schlüssel auf dem Gerät erzeugt wird, und in diesem Fall kann selbst eine fehlerfreie Kopie des alten Profils den neuen Mac nicht authentifizieren.
Prüfen Sie die Wiederherstellung, statt der Liste zu vertrauen
Ein Profil in der Liste und ein funktionierender Tunnel sind zwei verschiedene Zustände, und nur einer davon ist es wert, gemeldet zu werden. Prüfen Sie nach dem Importieren und Verbinden, ob die Tunnelschnittstelle existiert, und prüfen Sie dann, was der Tunnel tut.
ifconfig | grep -A3 utun zeigt die Tunnelschnittstelle und ihre Adressen. scutil --dns | grep nameserver zeigt, welche Resolver nach der Verbindung aktiv sind, und dort weichen Split-DNS-Profile meist ab. Erreichen Sie dann die Ressource, auf die es wirklich ankommt: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Wenn alle drei bestehen, sind Einstellungen, DNS und Routen angekommen; ein grünes Symbol im Client bedeutet für sich genommen nichts davon.
Zwei Fehler treten nach einem Import oft auf, und beide werden der Datei angelastet. Dass öffentliche Namen aufgelöst werden, interne aber nicht, bedeutet meist, dass die DNS-Server des Profils verloren gingen oder Split-DNS nicht erhalten blieb. Ein Tunnel, der aufgebaut wird und keinen Datenverkehr durchlässt, bedeutet meist, dass Routen oder serverseitige Autorisierung dem Profil nicht gefolgt sind. Ein erneuter Import desselben Archivs reproduziert beides.
Bevor Sie den alten Mac außer Dienst stellen
Das Löschen des Exports ist keine Widerrufung. Wenn sich das alte Gerät mit einem Zertifikat authentifiziert hat, vertraut der Server diesem Zertifikat weiterhin, bis es widerrufen oder neu ausgestellt wird. Wenn es sich mit einem gemeinsamen Konto authentifiziert hat, können Sitzungen auf diesem Konto noch aktiv sein. Erledigen Sie den serverseitigen Schritt, solange die Hardware noch vor Ihnen steht.
Bewahren Sie das neue Profil zusammen mit Ihren übrigen Zugangsdaten auf, wenn es einen Schlüssel enthält, und tippen Sie das Passwort in den Client, damit es im neuen Keychain landet und nicht in einer Datei. Letzte Prüfung: Stellen Sie die Verbindung vom Ersatzgerät aus her, während der alte Mac ausgeschaltet ist. Eine Übergabe, die nur funktioniert, solange die Quellmaschine online ist, war nie vollständig.