Kliknij Export w kliencie VPN na Macu i otrzymasz plik, który opisuje połączenie, nie będąc nim. Adres serwera, port, protokół i często certyfikaty są w środku. Hasła logowania, frazy hasła klucza prywatnego i rejestracji autoryzującej właśnie tego Maca zwykle nie ma. Dlatego profil może się czysto zaimportować, pojawić na liście klienta i mimo to zawieść przy pierwszym żądaniu uwierzytelnienia; ta luka jest właściwością formatu, a nie uszkodzonym pobraniem.

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

Co naprawdę zawiera wyeksportowany plik

Eksport to kontener, a rozszerzenie pliku mówi mniej niż zawartość. Profile OpenVPN to tekst: dyrektywy plus opcjonalne wbudowane bloki <ca>, <cert> i <key>. Konfiguracje Tunnelblick to skompresowane archiwa konfiguracji i ustawień. Zarządzany .mobileconfig to plist ładunków. Dwie listy odpowiadają na większość pytania, zanim cokolwiek zaimportujesz.

Dla profilu tekstowego policz bloki PEM, które niesie: grep -c "PRIVATE KEY" your-profile.ovpn. Wynik różny od zera oznacza, że plik zawiera materiał klucza i od tego momentu trzeba go traktować jak hasło. Dla archiwum wylistuj je bez rozpakowywania: tar -tf export.tbz, albo unzip -l export.zip, jeśli klient utworzył zip. Pliki kluczy, pliki certyfikatów i skrypty podnoszenia lub opuszczania z tej listy to części, których ponowne wydanie konta użytkownika nie odtworzy.

Odwrotny przypadek jest równie ważny. Gdy profil wskazuje klucz po nazwie pliku zamiast go osadzać, eksport jest celowo niekompletny i brakująca połowa musi pochodzić od tego, kto go wydał. Skopiowanie tego pliku obok jest w porządku, gdy posiadasz urząd certyfikacji; nie jest w porządku, gdy plik przyszedł z certyfikatem powiązanym z urządzeniem, wygenerowanym na starym Macu.

Dlaczego połowa z pęku kluczy nigdy nie podróżuje

macOS przechowuje hasła VPN i frazy haseł kluczy w pęku kluczy logowania, a klienci zapisują je tam zamiast we własnych plikach ustawień. Tunnelblick mówi o tym w swoim przewodniku po eksporcie i imporcie: archiwum konfiguracji przenosi konfiguracje i ustawienia i pomija nazwy użytkowników, hasła i frazy haseł trzymane w pęku kluczy. Pominięcie jest zamierzone. Elementy pęku kluczy są chronione dla każdego użytkownika i każdej maszyny, więc skopiowany element nie ma ważnej kontroli dostępu w miejscu docelowym, co zostawia albo bezużyteczny plik, albo sekret w czystym tekście.

Możesz potwierdzić, gdzie mieszka poświadczenie, zanim zaplanujesz przeniesienie. security find-internet-password -s vpn.example.com wypisuje atrybuty pasującego elementu i kończy kodem różnym od zera, gdy go nie ma; ta sama komenda z -g poprosiłaby o ujawnienie hasła, dlatego zapytanie bez niej jest bezpieczniejszym sprawdzeniem. Znalezienie tam oznacza, że profil nie niesie hasła i nie można go do tego zmusić. Oznacza też, że hasło zostanie ponownie zapytane na nowym Macu, a zgoda «Zawsze zezwalaj» na starym nic tam nie znaczy.

Nie każdy sekret jest jednak elementem pęku kluczy. Dokumentacja pakietu Tunnelblick zauważa, że pakiet może zawierać pliki kluczy, certyfikatów i skryptów. To, że eksport pomija wpisy pęku kluczy, nie jest więc tym samym twierdzeniem co to, że eksport jest bezpieczny do wysłania e-mailem; traktuj archiwum jako wrażliwe, dopóki nie wylistujesz, co jest w środku.

Natywne i zarządzane VPN-y nie mają ścieżki eksportu

Połączenia skonfigurowane przez Ustawienia systemowe nie oferują obsługiwanego eksportu. scutil --nc list pokazuje usługi, które system zna, a scutil --nc show "Work VPN" wypisuje konfigurację jednej usługi, co wystarcza do odczytania jej serwera i protokołu. Żadne z nich nie jest narzędziem migracji. Identyfikatory usług zapisane w /Library/Preferences/SystemConfiguration/preferences.plist to odwołania do tego pliku, więc kopiowanie pliku i przepisywanie identyfikatorów nie jest obsługiwanym przeniesieniem i może zakłócić niepowiązane usługi sieciowe w miejscu docelowym.

Obsługiwana ścieżka to ta, którą dokumentuje Apple: zainstaluj plik ustawień VPN dostarczony przez administratora albo wprowadź ustawienia, które daje ci operator. Gdy połączenie jest zarządzane, poproś o nowy plik lub nową rejestrację zamiast odbudowywać je ze zrzutu ekranu starego okna. Dla profilu wypychanego przez MDM ładunek certyfikatu może nieść tożsamość, podczas gdy klucz prywatny jest generowany na urządzeniu, i wtedy nawet bezbłędna kopia starego profilu nie uwierzytelni nowego Maca.

Sprawdź przywracanie zamiast ufać liście

Profil na liście i działający tunel to dwa różne stany, i tylko jeden z nich warto zgłaszać. Po zaimportowaniu i połączeniu sprawdź, czy interfejs tunelu istnieje, a potem sprawdź, co robi tunel.

ifconfig | grep -A3 utun pokazuje interfejs tunelu i jego adresy. scutil --dns | grep nameserver pokazuje, które resolwery są aktywne po połączeniu, i właśnie tam profile split-DNS zwykle się rozchodzą. Następnie dotrzyj do zasobu, który naprawdę ma znaczenie: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Jeśli wszystkie trzy przejdą, ustawienia, DNS i trasy dotarły; zielona ikona w kliencie sama w sobie nie znaczy nic z tego.

Dwa błędy pojawiają się często po imporcie i oba są zwalane na plik. To, że nazwy publiczne się rozwiązują, a wewnętrzne nie, zwykle oznacza, że serwery DNS profilu zostały pominięte albo split-DNS nie został zachowany. Tunel, który wstaje i nie przepuszcza ruchu, zwykle oznacza, że trasy albo autoryzacja po stronie serwera nie poszły za profilem. Ponowny import tego samego archiwum odtwarza oba.

Zanim wycofasz starego Maca

Usunięcie eksportu nie jest unieważnieniem. Jeśli stare urządzenie uwierzytelniało się certyfikatem, serwer nadal mu ufa, dopóki certyfikat nie zostanie unieważniony lub ponownie wydany. Jeśli uwierzytelniało się wspólnym kontem, sesje na tym koncie mogą być nadal aktywne. Wykonaj krok po stronie serwera, dopóki sprzęt jest jeszcze przed tobą.

Trzymaj nowy profil razem z innymi poświadczeniami, gdy zawiera klucz, i wpisz hasło do klienta, aby trafiło do nowego pęku kluczy, a nie do pliku. Ostatnia kontrola: połącz się z zamiennika przy wyłączonym starym Macu. Przekazanie, które działa tylko wtedy, gdy maszyna źródłowa jest online, nigdy nie było kompletne.

Powiązane artykuły