آنچه یک خروجی VPN مک دارد و چه چیزی را پشت سر میگذارد
خروجی VPN مک تنظیمات و گاهی یک کلید خصوصی را همراه دارد، اما نه گذرواژهٔ زنجیرهٔ کلید و نه ثبت دستگاه را. اول هر بخش را بررسی کنید.
در یک کلاینت VPN مک روی Export کلیک کنید و فایلی به دست میآورید که یک اتصال را توصیف میکند بدون آنکه خودش اتصال باشد. نشانی سرور، درگاه، پروتکل و اغلب گواهیها داخل آن هستند. گذرواژهٔ ورود، عبارت عبور یک کلید خصوصی و ثبتی که به همین مک اجازه میدهد معمولاً نیستند. به همین دلیل یک نمایه میتواند پاک وارد شود، در فهرست کلاینت ظاهر شود و باز هم در نخستین درخواست احراز هویت شکست بخورد؛ این شکاف ویژگی قالب است، نه دانلود خراب.
| 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 ساخته باشد. فایلهای کلید، فایلهای گواهی و اسکریپتهای بالا یا پایین در آن فهرست بخشهایی هستند که صدور دوبارهٔ یک حساب کاربری بازسازی نمیکند.
حالت مقابل به همان اندازه مهم است. وقتی نمایه با نام فایل به یک کلید اشاره میکند بهجای گنجاندن آن، خروجی عمداً ناقص است و نیمهٔ گمشده باید از کسی بیاید که آن را صادر کرده است. کپی کردن آن فایل در کنارش درست است وقتی مرجع صدور گواهی را دارید؛ درست نیست وقتی فایل با گواهی وابسته به دستگاهی آمده که روی مک قدیمی ساخته شده بود.
چرا نیمهٔ زنجیرهٔ کلید هرگز سفر نمیکند
macOS گذرواژههای VPN و عبارتهای عبور کلیدها را در زنجیرهٔ کلید ورود نگه میدارد، و کلاینتها آنها را آنجا ذخیره میکنند نه در فایلهای تنظیمات خودشان. Tunnelblick این را در راهنمای خروجی و ورودی میگوید: آرشیو تنظیمات پیکربندیها و تنظیمات را حمل میکند و نامهای کاربری، گذرواژهها و عبارتهای عبور نگهداشتهشده در زنجیرهٔ کلید را بیرون میگذارد. این حذف عمدی است. اقلام زنجیرهٔ کلید برای هر کاربر و هر ماشین محافظت میشوند، بنابراین یک قلم کپیشده کنترل دسترسی معتبری در مقصد ندارد، که یا یک فایل بیفایده باقی میگذارد یا راز بهصورت متن ساده.
میتوانید پیش از برنامهریزی انتقال تأیید کنید که اعتبارنامه کجا زندگی میکند. security find-internet-password -s vpn.example.com ویژگیهای یک قلم مطابق را چاپ میکند و وقتی هیچکدام نیست با کد غیرصفر خارج میشود؛ همان فرمان با -g درخواست آشکارکردن گذرواژه میکرد، از این رو پرسش بدون آن بررسی ایمنتر است. یافتن نتیجه در آنجا یعنی نمایه گذرواژه را حمل نمیکند و نمیتوان وادارش کرد. همچنین یعنی گذرواژه دوباره روی مک جدید خواسته خواهد شد، و اجازهٔ «همیشه مجاز» روی مک قدیمی آنجا هیچ ارزشی ندارد.
البته هر رازی قلم زنجیرهٔ کلید نیست. مستندات بستهٔ خود Tunnelblick اشاره میکند که یک بسته ممکن است فایلهای کلید، گواهی و اسکریپت داشته باشد. پس اینکه خروجی اقلام زنجیرهٔ کلید را کنار میگذارد همان ادعای امن بودن خروجی برای فرستادن با ایمیل نیست؛ تا زمانی که فهرست نکردهاید چه چیزی در آن است با آرشیو مانند یک چیز حساس رفتار کنید.
VPNهای بومی و مدیریتشده مسیر خروجی ندارند
اتصالاتی که از طریق تنظیمات سیستم پیکربندی میشوند خروجی پشتیبانیشدهای ارائه نمیدهند. scutil --nc list سرویسهایی را که سیستم میشناسد نشان میدهد، و scutil --nc show "Work VPN" پیکربندی یک سرویس را چاپ میکند، بهاندازهای که سرور و پروتکل آن را بخوانید. هیچکدام ابزار مهاجرت نیست. شناسههای سرویس ذخیرهشده در /Library/Preferences/SystemConfiguration/preferences.plist ارجاعهایی به داخل آن فایل هستند، بنابراین کپی کردن فایل و بازنویسی شناسهها انتقال پشتیبانیشدهای نیست و میتواند سرویسهای شبکهٔ نامرتبط را در مقصد مختل کند.
مسیر پشتیبانیشده همان است که Apple مستند میکند: فایل تنظیمات VPN که مدیر ارائه میدهد را نصب کنید، یا تنظیماتی را که اپراتور به شما میدهد وارد کنید. وقتی اتصال مدیریتشده است، یک فایل تازه یا یک ثبت تازه بخواهید بهجای بازسازی آن از یک تصویر از پنجرهٔ قدیمی. برای نمایهای که MDM هل میدهد، بار گواهی ممکن است هویت را حمل کند در حالی که کلید خصوصی روی دستگاه تولید میشود، و در آن صورت حتی یک کپی بینقص از نمایهٔ قدیمی نمیتواند مک جدید را احراز هویت کند.
بازیابی را بررسی کنید نه اینکه به فهرست اعتماد کنید
یک نمایه در فهرست و یک تونل کارکننده دو وضعیت متفاوتاند، و فقط یکی از آنها ارزش گزارش دارد. پس از وارد کردن و اتصال، بررسی کنید که رابط تونل وجود دارد، سپس بررسی کنید تونل چه میکند.
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 حفظ نشده است. تونلی که بالا میآید و هیچ ترافیکی عبور نمیدهد معمولاً یعنی مسیرها یا مجوز سمت سرور از نمایه پیروی نکردهاند. وارد کردن دوبارهٔ همان آرشیو هر دو را بازتولید میکند.
پیش از بازنشسته کردن مک قدیمی
حذف خروجی لغو نیست. اگر دستگاه قدیمی با گواهی احراز هویت میکرد، سرور همچنان تا زمانی که آن گواهی لغو یا دوباره صادر نشود به آن اعتماد میکند. اگر با یک حساب مشترک احراز هویت میکرد، نشستهای آن حساب ممکن است هنوز زنده باشند. گام سمت سرور را وقتی سختافزار هنوز جلوی شماست انجام دهید.
نمایهٔ جدید را وقتی کلید دارد همراه دیگر اعتبارنامههایتان نگه دارید، و گذرواژه را در کلاینت تایپ کنید تا در زنجیرهٔ کلید جدید بنشیند نه در یک فایل. آخرین بررسی: با مک قدیمی خاموش از دستگاه جانشین وصل شوید. تحویلی که فقط وقتی ماشین مبدأ آنلاین است کار میکند هرگز کامل نبوده است.