Klicka på Export i en Mac VPN-klient och du får en fil som beskriver en anslutning utan att vara en. Serveradress, port, protokoll och ofta certifikaten ligger i den. Inloggningslösenordet, lösenfrasen för en privat nyckel och registreringen som auktoriserar just den här Macen gör det vanligtvis inte. Därför kan en profil importeras rent, dyka upp i klientlistan och ändå misslyckas vid den första autentiseringsförfrågan; gapet är en egenskap hos formatet, inte en skadad nedladdning.

Part of the connectionWhere it lives on the old MacWhat an export does with it
Server, port, protocol, routesClient profile or managed settingsUsually included when the client exports configuration
Client certificate and private keyInside the package, the login keychain, or issued by MDMIncluded only if the format packs it; a keychain-held key stays behind
Login password, key passphraseLogin keychainLeft out by design
Device authorization or enrollmentServer side, bound to the certificate or the device recordNot transferable; the new device has to enroll

Vad den exporterade filen egentligen innehåller

En export är en behållare, och filändelsen säger mindre än innehållet. OpenVPN-profiler är text: direktiv plus valfria inbäddade <ca>, <cert> och <key>-block. Tunnelblick-inställningar är komprimerade arkiv med konfigurationer och inställningar. En hanterad .mobileconfig är en plist med nyttolaster. Två listningar svarar på det mesta av frågan innan du importerar något.

För en textprofil, räkna PEM-blocken den bär: grep -c "PRIVATE KEY" your-profile.ovpn. Ett resultat som inte är noll betyder att filen innehåller nyckelmaterial och måste hanteras som ett lösenord från det ögonblicket. För ett arkiv, lista det utan att packa upp: tar -tf export.tbz, eller unzip -l export.zip om klienten skapade en zip. Nyckelfiler, certifikatfiler och upp- eller nedskript i den listningen är de delar som en nyutgivning av ett användarkonto inte återskapar.

Det motsatta fallet spelar lika stor roll. När profilen pekar på en nyckel via filnamn i stället för att bädda in den är exporten medvetet ofullständig och den saknade halvan måste komma från den som utfärdade den. Att kopiera filen bredvid är okej när du äger certifikatutfärdaren; det är inte okej när filen kom med ett enhetsbundet certifikat som genererades på den gamla Macen.

Varför nyckelringens halva aldrig reser

macOS förvarar VPN-lösenord och nyckellösenfraser i inloggningsnyckelringen, och klienter lagrar dem där i stället för i sina egna inställningsfiler. Tunnelblick säger det i sin guide för export och import: installationsarkivet bär konfigurationer och inställningar och utelämnar användarnamnen, lösenorden och lösenfraserna som ligger i nyckelringen. Utelämnandet är avsiktligt. Nyckelringsobjekt skyddas per användare och per maskin, så ett kopierat objekt har ingen giltig åtkomstkontroll på målet, vilket lämnar antingen en oanvändbar fil eller en hemlighet i klartext.

Du kan bekräfta var inloggningsuppgiften bor innan du planerar flytten. security find-internet-password -s vpn.example.com skriver ut attributen för ett matchande objekt och avslutar med en kod som inte är noll när det inte finns något; samma kommando med -g skulle begära att lösenordet avslöjas, därför är frågan utan den den säkrare kontrollen. En träff där betyder att profilen inte bär lösenordet och inte kan tvingas till det. Det betyder också att lösenordet kommer att efterfrågas igen på den nya Macen, och ett «Tillåt alltid»-godkännande på den gamla räknas inte där.

Inte varje hemlighet är dock ett nyckelringsobjekt. Tunnelblicks egen paketdokumentation noterar att ett paket kan innehålla nyckel-, certifikat- och skriptfiler. Så att exporten utesluter nyckelringsposter är inte samma påstående som att exporten är säker att skicka via e-post; behandla arkivet som känsligt tills du har listat vad det innehåller.

Inbyggda och hanterade VPN har ingen exportväg

Anslutningar som konfigureras via Systeminställningar erbjuder ingen stödd export. scutil --nc list visar de tjänster som systemet känner till, och scutil --nc show "Work VPN" skriver ut konfigurationen för en tjänst, nog för att läsa dess server och protokoll. Ingen av dem är ett migreringsverktyg. Tjänsteidentifierarna som lagras i /Library/Preferences/SystemConfiguration/preferences.plist är referenser in i den filen, så att kopiera filen och skriva om identifierare är inte en stödd överföring och kan störa orelaterade nätverkstjänster på målet.

Den stödda vägen är den som Apple dokumenterar: installera en VPN-inställningsfil från en administratör, eller ange de inställningar som operatören ger dig. När anslutningen hanteras, be om en ny fil eller en ny registrering i stället för att bygga om den från en skärmbild av den gamla dialogen. För en profil som skjuts ut av MDM kan certifikatets nyttolast bära identiteten medan den privata nyckeln genereras på enheten, och i så fall kan inte ens en felfri kopia av den gamla profilen autentisera den nya Macen.

Verifiera återställningen i stället för att lita på listan

En profil i listan och en fungerande tunnel är två olika tillstånd, och bara ett av dem är värt att rapportera. Efter import och anslutning, kontrollera att tunnelgränssnittet finns och kontrollera sedan vad tunneln gör.

ifconfig | grep -A3 utun visar tunnelgränssnittet och dess adresser. scutil --dns | grep nameserver visar vilka resolvers som är aktiva efter anslutningen, och det är där split-DNS-profiler vanligtvis skiljer sig. Nå sedan resursen som verkligen spelar roll: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Om alla tre passerar har inställningar, DNS och rutter anlänt; en grön ikon i klienten betyder inget av det i sig själv.

Två fel dyker ofta upp efter en import och båda skylls på filen. Att offentliga namn löses upp medan interna inte gör det betyder vanligtvis att profilens DNS-servrar tappades eller att split-DNS inte bevarades. En tunnel som kommer upp och inte släpper igenom trafik betyder vanligtvis att rutter eller server-side-auktorisering inte följde profilen. Att importera samma arkiv igen återskapar båda.

Innan du pensionerar den gamla Macen

Att radera exporten är inte återkallelse. Om den gamla enheten autentiserade med ett certifikat litar servern fortfarande på det certifikatet tills det återkallas eller utfärdas på nytt. Om den autentiserade med ett delat konto kan sessioner på det kontot fortfarande vara aktiva. Gör serversidesteget medan hårdvaran fortfarande är framför dig.

Förvara den nya profilen tillsammans med dina andra inloggningsuppgifter när den innehåller en nyckel, och skriv in lösenordet i klienten så att det hamnar i den nya nyckelringen i stället för i en fil. Sista kontrollen: anslut från ersättaren medan den gamla Macen är avstängd. En överlämning som bara fungerar medan källmaskinen är online har aldrig varit komplett.

Relaterade artiklar