شبکه محلی هنوز چه چیزهایی را از طریق VPN شما میبیند
یک تونل محتوا را پنهان میکند، نه حضور شما را. پیش از آنکه فرض کنید یکی همه چیز را پوشش میدهد، مقایسه کنید شبکه دسترسی، دستگاه مدیریتشده و اپراتور VPN چه چیزی یاد میگیرند.
هر بار کسی میپرسد آیا VPN ترافیکش را پنهان میکند، سه ناظر در یک پرسش ادغام میشوند: شبکهای که به آن متصل است، دستگاهی که در دست دارد، و اپراتور تونل. هر یک چیز متفاوتی میآموزد، و تونل هر یک از این دیدگاهها را به شیوهای متفاوت تغییر میدهد. کمک میکند در جهت مخالف کار کنیم و از ادعایی شروع کنیم که مطرح میشود، زیرا ادعا همان چیزی است که باید در برابر بررسی دوام بیاورد. تصمیم بگیرید کدام ادعا را لازم دارید، سپس ابزارها را با آن مقایسه کنید.
ادعای یکم: هیچکس نمیتواند ترافیک را بخواند
با محدودترین ادعا شروع کنید: بار مفید خواناناپذیر میماند. ناظر غیرفعال روی مسیر نمیتواند درون نشست TLS را ببیند، پس تونل چیز کمی به سایتی که از قبل HTTPS دارد اضافه میکند و در برابر دو نقطه پایانی چیزی اضافه نمیکند. طرفی که این ادعا را میشکند کسی است که دستگاه را کنترل میکند، زیرا یک پروکسی بازرسی اتصال را پایان میدهد و آن را با ریشهای که دستگاه از قبل به آن اعتماد دارد دوباره امضا میکند. به همین دلیل قفل همچنان دیده میشود در حالی که زنجیره گواهی نام سازمانی را دارد که ریشه را نصب کرده است.
security find-certificate -a -p /Library/Keychains/System.keychain | openssl crl2pkcs7 -nocrl -certfile /dev/stdin | openssl pkcs7 -noout -print_certs | grep subject
certutil -store Root
در macOS آن خط لوله برای هر گواهی در دستهکلید دستگاه یک خط موضوع چاپ میکند، بدون گشودن هیچ پنجرهای، و در Windows دستور certutil -store Root همان مخزنی را فهرست میکند که certlm.msc بهصورت گرافیکی نشان میدهد. ریشهای که به یک مدرسه، یک کارفرما یا یک محصول امنیت شبکه تعلق دارد همان ورودیای است که باید جستوجو کنید. یافتن یکی فقط ثابت میکند که رهگیری ممکن است، نه اینکه در حال رخ دادن است.
کاری که میتوانید در این باره بکنید پرسشی سیاستی است نه فنی. حذف یک پروفایل یا ریشه بازرسی از سختافزاری که مالک آن نیستید معمولاً توافق استفاده قابلقبول را نقض میکند و سامانه مدیریت معمولاً متوجه میشود و دوباره آن را اعمال میکند، پس شرط اینکه مالک دستگاه ترافیک شما را نخواند به دستگاه دیگری نیاز دارد نه تنظیم دیگری.
ادعای دوم: هیچکس نمیبیند کجا میروید
مقصد ادعای سختتری است، زیرا پیش از بارگذاری یک صفحه دو افشا رخ میدهد. جستوجو به هر حلکنندهای میرود که سامانه برای استفاده از آن پیکربندی شده است، و پاسخ برای شبکهای که آن را حمل میکند دیدنی است. سپس دستدادن TLS نام سرور درخواستی را آشکار حمل میکند مگر آنکه Encrypted Client Hello در هر دو سو پشتیبانی شود. هیچیک از دو افشا شامل رمزگشایی نیست، پس تونل بر هیچیک اثری ندارد.
resolvectl status | grep -A2 "Link"
nslookup example.com
اینکه کدام حلکننده واقعاً به کار میرود میزان افشا را تعیین میکند و میتوان آن را سنجید نه بحث کرد. در Linux دستور resolvectl status سرورهای DNS هر پیوند را چاپ میکند و خروجی آن میگوید حلکننده سایت پاسخ میدهد یا حلکننده تحمیلی. Windows به همان پرسش با nslookup example.com پاسخ میدهد که نخستین بلوک خروجی آن سرور DNS پاسخدهنده است.
وقتی لپتاپ پیش از بالا آمدن تونل از حلکننده سایت میپرسد، یا پروفایل بدون سرور جانشین میرسد و سرور قدیمی در استفاده میماند، مدیر همچنان نام میزبانها را بدون رمزگشایی چیزی جمع میکند. DNS رمزنگاریشده در مرورگر یا حلکننده تحمیلی را دور میزند یا کاملاً مسدود میشود و بسته شکست میخورد. اپراتور خروج همان نامها را از سمت خود میبیند. بنابراین تغییر حلکننده آن افشا را از ارائهدهنده تونل دور نمیکند.
ادعای سوم: هیچکس نمیداند شما متصل شدید
ادعای سوم همان است که تونل نمیتواند پشتیبانش باشد، زیرا بستهها هنوز از شبکه محلی عبور میکنند. آن شبکه نشانی نقطه پایانی، حجم تقریبی، زمانبندی و وجود یک نشست رمزنگاریشده دیرپا را میآموزد، که برای مسدود کردن، محدود کردن یا فقط توجه کردن کافی است. دیوار آتشی که نمیتواند بستهای را بخواند باز هم میتواند از گذراندنش خودداری کند. زیر نظر بودن همان زیر نظر هیچکس نبودن نیست: شما ناظر را جابهجا کردید، آن را حذف نکردید.
تونلزنی شکافته و هر برنامهای که مسیر تحمیلی را نادیده میگیرد جریانهایی بیرون از تونل میسازند که دقیقاً مثل قبل به نظر میرسند. همین جریانها هستند که ناظر دقیق نخست متوجهشان میشود، و جدول مسیر کارخواه نشان میدهد کدام مقصدها کنار گذاشته شدهاند.
اپراتور در سوی دیگر تصویر آینهای همان دید را دارد: نشانی خروج، زمانبندی، حجم و معمولاً نام سایتها. ارائهدهنده شما طرفی میشود که نقطه دید دارد، و این معاملهای متفاوت از نامرئی بودن است. انتخاب ارائهدهندهای که به آن اعتماد دارید تصمیم واقعی است؛ نامیدن نتیجه بهعنوان مشاهدهنشده چنین نیست.
تصمیم بگیرید کدام ادعا را لازم دارید
پیش از دست زدن به هر کارخواه نیاز را در یک خط بنویسید: محتوا را پنهان کنید، مقصدها را پنهان کنید، یا پنهان کنید که آیا اصلاً متصل شدهاید. محتوا از قبل با HTTPS بههمراه تونل اداره میشود، در حالی که مقصدها به حلکننده و مسیری نیاز دارند که تجهیزات سایت را کاملاً دور بزنند.
نیاز سوم همان ناخوشایند است، زیرا چیزی هنوز بهطور دیدنی جایی متصل است، رمزنگاریشده یا نه. هیچ تنظیم کارخواهی آن را تغییر نمیدهد. اگر نیاز و سیاست از هم جدا شوند، آن شکاف جای گفتوگو با صاحب سیاست است، نه گزینهای در کارخواه. کسی که میتواند پاسخش را بدهد همان کسی است که سیاست را نوشته است.