سایت فقط با روشن بودن VPN شما را مسدود میکند؟ این چیزی است که میبیند
مسدودسازی معمولاً نشانی خروج است، نه نشت. شبکهای را که ترافیک شما از آن به نظر میرسد، resolverی که سایت میتواند ثبت کند و آنچه کد صفحه میداند بررسی کنید.
فروشگاه در خانه بیمشکل بارگذاری میشود و همان لحظه که تونل بالا میآید دیواری از «ترافیک غیرعادی» نشان میدهد. یک انجمن از ورود شما خودداری میکند و یک صفحه پخش ادعا میکند که در کشوری هستید که هرگز به آن سفر نکردهاید. هیچیک از اینها به نرمافزار جاسوسی نیاز ندارد. سایت نشانیای را میبیند که بستههای شما از آن میرسند و با VPN آن نشانی به یک مرکز داده تعلق دارد، نه به یک خط خانگی. بیشتر آنچه تشخیص VPN نامیده میشود با همین یک واقعیت آغاز و پایان مییابد و بقیه استنتاجی با نرخ خطای قابل پیشبینی است.
مسدودسازی با این آغاز میشود که بستههای شما به نظر میرسد از کجا میآیند
هر درخواست یک نشانی مبدأ حمل میکند و سرور دریافتکننده میتواند آن را در دادههای عمومی جستوجو کند: کدام شبکه آن را اعلام میکند، آیا آن شبکه ارائهدهنده میزبانی است، آیا در فهرستهای سوءاستفاده آمده است و ثبتکننده کدام کشور را به آن اختصاص میدهد. هیچیک از اینها شما را شناسایی نمیکند و همهشان با هم کافی است تا شما را در دستهای بگذارد.
به ترافیک خودتان مثل یک غریبه نگاه کنید. دو فرمان بیشتر سطح را پوشش میدهند و دومی همان است که مردم فراموش میکنند:
curl -sS https://ipinfo.io/json
dig +short TXT o-o.myaddr.l.google.com @ns1.google.com
اولی نشانی خروج، سازمان و کشور آن را برمیگرداند. دومی نشانی resolverی را برمیگرداند که به سرور نام Google رسیده است؛ این نشانی اغلب به شبکهای متفاوت از خروج شما تعلق دارد و همان نشانیای است که سایت میبیند اگر دادههای سمت resolver را ثبت کند. وقتی این دو به کشورهای مختلف تعلق دارند، برخی سایتها این ناسازگاری را مشکوک میدانند، حتی وقتی هیچ ایرادی در پیکربندی شما نیست.
وقتی رد شدن فقط پس از بالا آمدن تونل شروع میشود، پیش از هر چیز به نشانی خروج شک کنید. پیش از دست زدن به مرورگر، سرور را عوض کنید و دوباره امتحان کنید. مسدودسازیای که در سه خروج از یک ارائهدهنده شما را دنبال میکند مربوط به محدودههای آن ارائهدهنده است؛ مسدودسازیای که روی سروری دیگر ناپدید میشود مربوط به همان یک نشانی است.
منطقه زمانی، زبان و ساعت با نشانی همخوانی ندارند
کد صفحه میتواند منطقه زمانی، ترجیحات زبانی و تنظیمات نمایشگر شما را بدون هیچ درخواست مجوزی بخواند. مرورگری که زمان اروپای مرکزی را گزارش میکند در حالی که اتصال از مرکز دادهای در سنگاپور میرسد، نشانهای قویتر از خود نشانی است و دقیقاً همان نوع ناسازگاری است که امتیازدهی تقلب برای توجه به آن ساخته شده است.
Intl.DateTimeFormat().resolvedOptions().timeZone
navigator.language
Intl.DateTimeFormat().resolvedOptions().locale
آن سه خط در کنسول توسعهدهنده به شما میگوید مرورگرتان داوطلبانه چه چیزی میدهد. کلاینت VPN میتواند مسیر شما را عوض کند و هیچ چیز دیگر، پس مشخصاتی که حمل میکنید داخلی میماند در حالی که خروج شما نیست. آنچه اینجا مهم است سازگاری است: لپتاپی که روی همان منطقه خروج تنظیم شده عادی به نظر میرسد و لپتاپی که با خودش نمیخواند، نه.
به همین دلیل است که شکست گاهبهگاه است. بسیاری از سایتها اهمیتی نمیدهند، چندتایی به آن امتیاز میدهند و یک سایت عضویتی تصمیم میگیرد که شما کلاهبردار هستید. کلاینت در هر سه حالت درست کار میکند و به همین دلیل پاسخ معمول پشتیبانی، «حتماً مرورگرتان است»، هم آزاردهنده است و هم تا حدی درست.
کد صفحه واقعاً چه چیزی از دستگاه شما میداند
JavaScript هیچ APIای ندارد که رابطهای شبکه را فهرست کند. یک صفحه نمیتواند بپرسد لپتاپ شما چه نشانیهایی دارد، بنابراین ادعای قدیمی که اسکریپتی نشانی LAN شما را میخواند بیشتر خاطرهای از عصر افزونههاست، زمانی که کنترلهای ActiveX، اپلتهای Java و کد بومی دیگر دقیقاً همین کار را میتوانستند بکنند.
| Signal | What it reveals | Status today |
|---|---|---|
| Source address of the request | Exit network, country, hosting status | Always visible; the main signal |
| Time zone and language | Where the profile claims to be | Readable without permission |
| WebRTC candidates | Local addresses, historically | Host candidates are mDNS-obfuscated by default |
| Interface list | All local addresses | Not available to ordinary JavaScript |
WebRTC استثنای صادقانه «هیچ نشت نشانی محلی» است. گردآوری نامزدهای آن زمانی نشانیهای محلی را به هر صفحهای که میپرسید نشان میداد و راهحل جایگزینی نامزدهای میزبان با نامهای تصادفی mDNS بود. این پیشفرض در مرورگرهای کنونی برقرار است، اما تصمیمی از سوی مرورگر است نه تضمینی از پروتکل، پس نسخهای قدیمی یا پیکربندی سختگیرانهای که نامزدهای محلی را دوباره فعال میکند هنوز میتواند نشت کند. بهروزرسانی مرورگر در اینجا بیشتر از هر افزونهای به شما کمک میکند.
ارائهدهنده شما نامها را میبیند، نه محتوا را
HTTPS محتوای صفحه را سرتاسر محافظت میکند و اپراتور تونلی که آن بایتها را هدایت میکند نمیتواند بخواندشان. اپراتور هنوز میتواند ببیند به کدام نشانی متصل شدهاید، و در بیشتر استقرارها نام سرور را در دستدادن، زیرا نام باید خوانا باشد تا اتصال به سایت درست هدایت شود. Encrypted Client Hello دقیقاً برای پنهان کردن آن فیلد وجود دارد و فقط وقتی کمک میکند که هم کلاینت و هم سایت از آن پشتیبانی کنند.
تجزیه و تحلیل نام نیمه دیگر است. اگر ارائهدهنده شما resolver را هم تأمین کند، هر نامی را که جستوجو میکنید پیش از وجود هر اتصالی میبیند. اگر دستگاه شما از resolver عمومی روی HTTPS استفاده کند، ارائهدهنده اتصالی به آن resolver میبیند و هیچ چیز دیگر، در حالی که خود resolver فهرست را میبیند.
درخواست HTTP بدون رمزنگاری برای اپراتور خواناست، به همان دلیلی که برای شبکه هتل خواناست: هیچ چیز درونش رمزنگاری نشده است. تونل هرگز خلافش را ادعا نکرده و انتخاب برنامه را درست نمیکند.
«این یک VPN است» را از «این من هستم» جدا کنید
تشخیص ارزان، احتمالی و اغلب نادرست است. نشانیهای خروج مشترک علامت میخورند چون کس دیگری از آنها سوءاستفاده کرده است، محدودههای شرکتی به عنوان میزبانی طبقهبندی میشوند و اپراتورهای موبایل نتایج جغرافیاییای تولید میکنند که همه را شگفتزده میکند. شناسایی مسئله دیگری است: به پیوندی پایدار نیاز دارد مانند حسابی که وارد آن شدهاید، یک کوکی، یک جزئیات پرداخت یا دو ناظر که یادداشتهایشان را مقایسه میکنند.
تصمیم بگیرید واقعاً با کدامیک میجنگید. اگر هدف خواندن یک صفحه است، HTTPS از قبل این کار را میکند و تونل کم چیزی را تغییر میدهد. اگر هدف جلوگیری از فهمیدن شهری است که در آن هستید، خروج و resolver مهماند. اگر هدف قطع پیوند با هویت واقعی شماست، حساب نقطه ضعف است و عوض کردن سرور هیچ کاری به ورودی که همین حالا استفاده کردید ندارد.
یک خروج تازه شما را از چیزی خارج نمیکند و نمیتواند آنچه را سایتی درباره حسابی که استفاده کردید ذخیره کرده پاک کند. بنابراین ترتیب عملی بیزرقوبرق است: خروجی انتخاب کنید که شبکهاش عادی به نظر میرسد، مشخصات مرورگر را با آن سازگار نگه دارید، مرورگر را بهروز کنید تا ویژگیهای مستعد نشت از پیشفرضهای مدرن خود استفاده کنند و بپذیرید که تعداد کمی سایت همچنان درباره شما اشتباه حدس خواهند زد.