Wat een Mac VPN-export bevat, en wat hij achterlaat
Een Mac VPN-export draagt instellingen en soms een privésleutel, maar niet het sleutelhangerwachtwoord of de apparaatregistratie. Controleer elk onderdeel eerst.
Klik op Export in een Mac VPN-client en u houdt een bestand over dat een verbinding beschrijft zonder er een te zijn. Serveradres, poort, protocol en vaak de certificaten zitten erin. Het inlogwachtwoord, de wachtwoordzin van een privésleutel en de registratie die precies deze Mac autoriseert meestal niet. Daarom kan een profiel schoon importeren, in de clientlijst verschijnen en toch bij de eerste authenticatievraag mislukken; de kloof is een eigenschap van het formaat, geen beschadigde 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 |
Wat het geëxporteerde bestand werkelijk bevat
Een export is een container, en de bestandsextensie zegt minder dan de inhoud. OpenVPN-profielen zijn tekst: richtlijnen, plus optionele inline <ca>, <cert> en <key>-blokken. Tunnelblick-instellingen zijn gecomprimeerde archieven van configuraties en instellingen. Een beheerd .mobileconfig is een plist van payloads. Twee lijsten beantwoorden het grootste deel van de vraag voordat u iets importeert.
Voor een tekstprofiel telt u de PEM-blokken die het bevat: grep -c "PRIVATE KEY" your-profile.ovpn. Een resultaat dat niet nul is, betekent dat het bestand sleutelmateriaal bevat en vanaf dat moment als een wachtwoord moet worden behandeld. Voor een archief lijst u het op zonder het uit te pakken: tar -tf export.tbz, of unzip -l export.zip als de client een zip heeft gemaakt. Sleutelbestanden, certificaatbestanden en op- of afschriften in die lijst zijn de onderdelen die een heruitgifte van een gebruikersaccount niet opnieuw maakt.
Het omgekeerde geval is even belangrijk. Wanneer het profiel naar een sleutel verwijst bij bestandsnaam in plaats van hem in te sluiten, is de export met opzet onvolledig en moet de ontbrekende helft komen van wie hem heeft uitgegeven. Dat bestand ernaast kopiëren is prima wanneer u de certificaatautoriteit bezit; het is niet prima wanneer het bestand kwam met een apparaatgebonden certificaat dat op de oude Mac is gegenereerd.
Waarom de sleutelhangerhelft nooit meereist
macOS bewaart VPN-wachtwoorden en sleutelwachtwoordzinnen in de inlogsleutelhanger, en clients slaan ze daar op in plaats van in hun eigen instellingenbestanden. Tunnelblick zegt dat in zijn handleiding voor exporteren en importeren: het installatiearchief draagt configuraties en instellingen en laat de gebruikersnamen, wachtwoorden en wachtwoordzinnen weg die in de sleutelhanger staan. Het weglaten is bewust. Sleutelhangeritems zijn per gebruiker en per machine beschermd, dus een gekopieerd item heeft geen geldige toegangscontrole op de bestemming, wat ofwel een nutteloos bestand ofwel een geheim in platte tekst achterlaat.
U kunt bevestigen waar de inloggegevens leven voordat u de verhuizing plant. security find-internet-password -s vpn.example.com drukt de attributen af van een overeenkomend item en eindigt met een niet-nulcode wanneer er geen is; dezelfde opdracht met -g zou vragen om het wachtwoord te onthullen, daarom is de zoekopdracht zonder die optie de veiligere controle. Een treffer daar betekent dat het profiel het wachtwoord niet draagt en er niet toe kan worden gedwongen. Het betekent ook dat het wachtwoord opnieuw wordt gevraagd op de nieuwe Mac, en een «Altijd toestaan»-toestemming op de oude telt daar niet mee.
Niet elk geheim is echter een sleutelhangeritem. Tunnelblicks eigen pakketdocumentatie merkt op dat een pakket sleutel-, certificaat- en scriptbestanden kan bevatten. Dat de export sleutelhangeritems uitsluit is dus niet dezelfde bewering als dat de export veilig is om te e-mailen; behandel het archief als gevoelig tot u hebt opgesomd wat erin zit.
Ingebouwde en beheerde VPN's hebben geen exportpad
Verbindingen die via Systeeminstellingen zijn geconfigureerd, bieden geen ondersteunde export. scutil --nc list toont de services die het systeem kent, en scutil --nc show "Work VPN" drukt de configuratie van één service af, genoeg om de server en het protocol te lezen. Geen van beide is een migratiehulpmiddel. De service-identificaties die in /Library/Preferences/SystemConfiguration/preferences.plist zijn opgeslagen, zijn verwijzingen in dat bestand, dus het bestand kopiëren en identificaties herschrijven is geen ondersteunde overdracht en kan niet-verwante netwerkservices op de bestemming verstoren.
Het ondersteunde pad is dat wat Apple documenteert: installeer een VPN-instellingenbestand van een beheerder, of voer de instellingen in die de operator u geeft. Wanneer de verbinding wordt beheerd, vraag dan om een nieuw bestand of een nieuwe registratie in plaats van hem opnieuw op te bouwen uit een schermafbeelding van de oude dialoog. Voor een profiel dat door MDM wordt gepusht, kan de certificaatpayload de identiteit dragen terwijl de privésleutel op het apparaat wordt gegenereerd, en in dat geval kan zelfs een foutloze kopie van het oude profiel de nieuwe Mac niet authenticeren.
Controleer de herstelling in plaats van de lijst te vertrouwen
Een profiel in de lijst en een werkende tunnel zijn twee verschillende toestanden, en slechts één ervan is het rapporteren waard. Controleer na het importeren en verbinden of de tunnelinterface bestaat, en controleer dan wat de tunnel doet.
ifconfig | grep -A3 utun toont de tunnelinterface en zijn adressen. scutil --dns | grep nameserver toont welke resolvers actief zijn na de verbinding, en daar wijken split-DNS-profielen meestal af. Bereik daarna de bron die er echt toe doet: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Als alle drie slagen, zijn instellingen, DNS en routes aangekomen; een groen pictogram in de client betekent daarvan op zichzelf niets.
Twee fouten duiken vaak op na een import en beide krijgen het bestand de schuld. Dat openbare namen wel resolven en interne niet, betekent meestal dat de DNS-servers van het profiel zijn weggevallen of dat split-DNS niet is bewaard. Een tunnel die opkomt en geen verkeer doorlaat, betekent meestal dat routes of autorisatie aan de serverkant het profiel niet hebben gevolgd. Hetzelfde archief opnieuw importeren reproduceert beide.
Voordat u de oude Mac buiten gebruik stelt
Het verwijderen van de export is geen intrekking. Als het oude apparaat zich met een certificaat authenticeerde, vertrouwt de server dat certificaat nog tot het wordt ingetrokken of opnieuw uitgegeven. Als het zich met een gedeeld account authenticeerde, kunnen sessies op dat account nog leven. Doe de stap aan de serverkant terwijl de hardware nog voor u staat.
Bewaar het nieuwe profiel bij uw andere inloggegevens wanneer het een sleutel bevat, en typ het wachtwoord in de client zodat het in de nieuwe sleutelhanger belandt en niet in een bestand. Laatste controle: verbind vanaf de vervanging terwijl de oude Mac uit staat. Een overdracht die alleen werkt zolang de bronmachine online is, was nooit compleet.