Какво съдържа един Mac VPN експорт и какво оставя след себе си
Експортът на Mac VPN носи настройки и понякога частен ключ, но не паролата от ключодържателя или регистрацията на устройството. Проверете всяка част първо.
Натиснете Export в Mac VPN клиент и получавате файл, който описва връзка, без да е такава. Адресът на сървъра, портът, протоколът и често сертификатите са вътре. Паролата за вход, паролната фраза на частен ключ и регистрацията, която оторизира точно този Mac, обикновено не са. Затова профил може да се импортира чисто, да се появи в списъка на клиента и пак да се провали при първата заявка за удостоверяване; разликата е свойство на формата, а не повредено изтегляне.
| 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 |
Какво всъщност съдържа експортираният файл
Експортът е контейнер и разширението на файла казва по-малко от съдържанието. Профилите на OpenVPN са текст: директиви плюс незадължителни вградени блокове <ca>, <cert> и <key>. Настройките на Tunnelblick са компресирани архиви от конфигурации и настройки. Управляваният .mobileconfig е plist от полезни товари. Два списъка отговарят на по-голямата част от въпроса, преди да импортирате каквото и да е.
За текстов профил пребройте PEM блоковете, които носи: grep -c "PRIVATE KEY" your-profile.ovpn. Резултат, различен от нула, означава, че файлът съдържа ключов материал и от този момент трябва да се третира като парола. За архив го избройте, без да го разархивирате: tar -tf export.tbz, или unzip -l export.zip, ако клиентът е създал zip. Файловете с ключове, сертификати и скриптовете за вдигане или сваляне в този списък са частите, които преиздаването на потребителски акаунт няма да пресъздаде.
Обратният случай е също толкова важен. Когато профилът сочи към ключ по име на файл, вместо да го вгражда, експортът е непълен нарочно и липсващата половина трябва да дойде от този, който го е издал. Копирането на този файл наблизо е допустимо, когато притежавате сертификатния орган; не е допустимо, когато файлът е дошъл с обвързан с устройството сертификат, генериран на стария Mac.
Защо половината от ключодържателя никога не пътува
macOS пази VPN паролите и паролните фрази на ключовете в ключодържателя за вход и клиентите ги съхраняват там, вместо в собствените си файлове с настройки. Tunnelblick казва това в своето ръководство за експорт и импорт: архивът с настройки носи конфигурации и настройки и пропуска потребителските имена, паролите и паролните фрази, съхранявани в ключодържателя. Пропускането е умишлено. Елементите на ключодържателя са защитени за всеки потребител и всяка машина, така че копиран елемент няма валиден контрол на достъпа в местоназначението, което оставя или безполезен файл, или тайна в обикновен текст.
Можете да потвърдите къде живеят идентификационните данни, преди да планирате преместването. security find-internet-password -s vpn.example.com отпечатва атрибутите за съответстващ елемент и завършва с ненулев код, когато няма такъв; същата команда с -g би поискала разкриване на паролата, затова заявката без нея е по-безопасната проверка. Намерен запис там означава, че профилът не носи паролата и не може да бъде принуден да го прави. Означава също, че паролата ще бъде поискана отново на новия Mac, а разрешението „Винаги разрешавай“ на стария там не значи нищо.
Не всяка тайна е елемент на ключодържателя обаче. Собствената документация на пакета Tunnelblick отбелязва, че пакетът може да съдържа файлове с ключове, сертификати и скриптове. Затова изключването на елементите на ключодържателя от експорта не е същото твърдение като това, че експортът е безопасен за изпращане по имейл; третирайте архива като чувствителен, докато не изброите какво има в него.
Вградените и управляваните VPN нямат път за експорт
Връзките, конфигурирани през Системни настройки, не предлагат поддържан експорт. scutil --nc list показва услугите, които системата познава, а scutil --nc show "Work VPN" отпечатва конфигурацията на една услуга, достатъчно, за да прочетете сървъра и протокола ѝ. Нито едно от двете не е инструмент за миграция. Идентификаторите на услуги, съхранявани в /Library/Preferences/SystemConfiguration/preferences.plist, са препратки в този файл, така че копирането на файла и преписването на идентификаторите не е поддържан пренос и може да наруши несвързани мрежови услуги в местоназначението.
Поддържаният път е този, който Apple документира: инсталирайте предоставен от администратора файл с VPN настройки или въведете настройките, които операторът ви дава. Когато връзката е управлявана, поискайте нов файл или нова регистрация, вместо да я пресъздавате от екранна снимка на стария диалог. За профил, изпратен от MDM, полезният товар на сертификата може да носи самоличността, докато частният ключ се генерира на устройството, и в този случай дори безупречно копие на стария профил не може да удостовери новия Mac.
Проверете възстановяването, вместо да вярвате на списъка
Профил в списъка и работещ тунел са две различни състояния и само едно от тях си струва да се докладва. След импортиране и свързване проверете дали интерфейсът на тунела съществува, после проверете какво прави тунелът.
ifconfig | grep -A3 utun показва интерфейса на тунела и адресите му. scutil --dns | grep nameserver показва кои резолвери са активни след връзката и точно там профилите със split-DNS обикновено се разминават. След това достигнете ресурса, който наистина има значение: curl -sS -o /dev/null -w "%{http_code}" https://intranet.example.com. Ако и трите минат, настройките, DNS и маршрутите са пристигнали; зелена икона в клиента сама по себе си не означава нищо от това.
Две повреди се появяват често след импорт и двете се приписват на файла. Публичните имена да се резолвят, а вътрешните не, обикновено означава, че DNS сървърите на профила са изпуснати или split-DNS не е запазен. Тунел, който се вдига и не пропуска трафик, обикновено означава, че маршрутите или оторизацията от страна на сървъра не са последвали профила. Повторният импорт на същия архив възпроизвежда и двете.
Преди да пенсионирате стария Mac
Изтриването на експорта не е отнемане. Ако старото устройство се е удостоверявало със сертификат, сървърът все още се доверява на този сертификат, докато не бъде отнет или преиздаден. Ако се е удостоверявало с общ акаунт, сесиите по него може още да са живи. Направете стъпката от страна на сървъра, докато хардуерът е още пред вас.
Съхранявайте новия профил с останалите си идентификационни данни, когато съдържа ключ, и въведете паролата в клиента, за да попадне в новия ключодържател, а не във файл. Последна проверка: свържете се от замяната, докато старият Mac е изключен. Предаване, което работи само докато изходната машина е онлайн, никога не е било пълно.