تفاوت Tor و VPN: کدام برای امنیت شما مناسبتر است؟
در این مقاله بررسی میکنیم که چرا VPN و Tor اهداف متفاوتی دارند. متوجه شوید چه کسی آدرس IP شما را میبیند و چرا اجاره VPS شخصی به معنای ناشناسی کامل نیست. تفاوتهای فنی را درک کنید.
مقایسه Tor و VPN: کدامیک واقعاً مورد نیاز شماست
Tor و VPN هر دو ترافیک شما را از طریق ماشینهایی که متعلق به شما نیستند عبور میدهند، اما به پرسشهای متفاوتی پاسخ میدهند. یک VPN (شبکه خصوصی مجازی) اعتماد شما را از ارائهدهنده اینترنت به یک شرکت منتقل میکند؛ شرکتی که در این حالت آدرس واقعی شما و تمام مقاصدی که بازدید میکنید را میبیند. Tor این اعتماد را بین سه رله که توسط افراد مختلف اداره میشوند پخش میکند، بنابراین هیچ رلهای به تنهایی نمیداند شما چه کسی هستید و به کجا میروید. انتخاب خود را بر اساس نام بردن از طرفی که میخواهید از آن پنهان شوید، انجام دهید.
اگر آن طرف، شبکهای است که به آن متصل هستید، VPN ابزار مناسبی است. اگر آن طرف، خود وبسایت است یا هر کسی که میتواند سوابق یک شرکت را مطالبه کند، Tor ابزار مناسب است. باقی این راهنما جزئیات پشت این دو جمله را شرح میدهد.
دنبال کردن یک درخواست در هر دو طراحی
یک درخواست معمولی را در نظر بگیرید: مرورگر شما https://news.example.com را باز میکند. در هر دو حالت، TLS (امنیت لایه انتقال) محتوای صفحه را محافظت میکند، بنابراین هیچکس در میانه مسیر نمیتواند مقاله را بخواند. بخش جالب، متادیتا است: چه کسی آدرس IP شما را میفهمد، چه کسی مقصد را میداند و چه کسی میتواند این دو واقعیت را به هم پیوند دهد. یک ابزار حریم خصوصی، ماشینی برای جدا کردن این جفت است. یک VPN این جفت را به دارنده متفاوتی منتقل میکند. Tor آنها را از هم جدا میکند.
آنچه هر طرف هنگام استفاده از VPN میبیند
کلاینت شما هر بسته را رمزنگاری کرده و به یک نقطه پایانی ارسال میکند. از آن نقطه به بعد، ترافیک دوباره به حالت عادی برمیگردد.
- ISP (ارائهدهنده خدمات اینترنتی) شما، بستههای رمزنگاریشده را بین خط شما و آدرس یک سرور VPN میبیند. ISP حجم و زمانبندی ترافیک را مشاهده میکند. تا زمانی که پرسوجوهای DNS (سامانه نام دامنه) نیز از داخل تونل عبور کنند، ISP نام میزبان مقصد را نمیبیند.
- اپراتور VPN، آدرس IP واقعی شما را در یک سمت و تمام آدرسهای مقصد را در سمت دیگر، به همراه زمانها و حجمها میبیند. هر دو نیمه این جفت در یک ماشین واحد قرار میگیرند.
- مقصد، آدرس خروجی VPN و همچنین تمام جزئیات شناسایی که مرورگر شما ارسال میکند را میبیند.
بنابراین، VPN ناشناسی ایجاد نمیکند. VPN ناظر را از ISP شما به ارائهدهنده VPN منتقل میکند. این یک مزیت واقعی است زمانی که شبکه محلی مشکلساز باشد، یا زمانی که ISP شما آنچه را میبیند فیلتر یا بازفروش میکند. این کار در برابر سایتی که از آن بازدید میکنید هیچ مزیتی ندارد، زیرا ترافیک شما همچنان به عنوان یک جریان واحد از شرکتی میرسد که دقیقاً میداند شما کی هستید و سوابق پرداخت شما را در اختیار دارد.
ادعای "عدم ثبت لاگ" (no logs) کل محصول است و این تنها بخشی است که نمیتوانید از سمت خود بررسی کنید. شما میتوانید تأیید کنید که تونل برقرار است. میتوانید تأیید کنید که نشت DNS وجود ندارد. شما نمیتوانید تأیید کنید که اپراتور چه چیزی را روی دیسک مینویسد. این معاملهای است که میپذیرید: یک شرکت، که توسط شما انتخاب شده، تصویر کامل را در اختیار دارد.
نشتی که بیسروصدا تونل را بیاثر میکند بررسی کنید:
resolvectl status
curl -s https://ifconfig.me; echoآدرسی که توسط ifconfig.me چاپ میشود باید خروجی VPN باشد. سرورهای DNS فهرستشده برای لینکی که مسیر پیشفرض شما را حمل میکند، باید resolver تونل باشند. اگر آنها همچنان روتر محلی شما را در 192.168.1.1 فهرست میکنند، جستجوهای نام شما از طریق لینک محلی به صورت متن آشکار (cleartext) خارج میشوند، زیرا مسیر به آن روتر on-link است و نسبت به مسیر پیشفرض تونل، اختصاصیتر است. ترافیک شما خصوصی است اما فهرست سایتهای شما خیر. خروج پرسوجوهای DNS از تونل WireGuard راه حل این مشکل را توضیح میدهد.
آنچه هر طرف هنگام استفاده از Tor میبیند
Tor یک مدار متشکل از سه رله ایجاد میکند که از یک لیست امضاشده به نام consensus انتخاب شدهاند؛ این لیست توسط گروه کوچکی از directory authorities منتشر میشود. کلاینت شما دادهها را در لایههایی بستهبندی میکند که برای هر رله یک لایه در نظر گرفته شده است. هر رله یک لایه را حذف میکند، فقط مقصد بعدی را میشناسد و باقیمانده را عبور میدهد. این لایهها دلیل آن هستند که هیچکس در مسیر، هر دو واقعیت (مبدأ و مقصد) را همزمان در اختیار ندارد.
- ISP شما ترافیک رمزنگاریشده به سمت یک guard relay را میبیند. آدرسهای رله عمومی هستند، بنابراین ISP شما میتواند تشخیص دهد که از Tor استفاده میکنید. اما نمیتواند بفهمد به چه چیزی دسترسی دارید.
- guard relay آدرس IP واقعی شما را میبیند. این رله نمیتواند مقصد را ببیند، زیرا بخشی از پیام که نام سایت را مشخص میکند، برای رلههای بعدی همچنان رمزنگاریشده است.
- middle relay یک guard در یک سمت و یک exit در سمت دیگر میبیند. این رله نه شما را میبیند و نه مقصد را. وجود آن برای این است که guard و exit هرگز مستقیماً با هم صحبت نکنند.
- exit relay مقصد و ترافیک را هنگام خروج از شبکه میبیند. این رله آدرس middle relay را میبیند، نه آدرس شما را. با استفاده از HTTPS، این رله نام میزبان و متادیتای اتصال را میآموزد، نه محتوای صفحه را.
- مقصد، آدرس exit relay را میبیند که در لیستهای عمومی خروجی ظاهر میشود، بهعلاوه هر چیزی که مرورگر شما در اختیارش قرار میدهد.
اتصال شما به سایت، نیازمند دسترسی همزمان به guard و exit است. این طراحی در یک جمله است. به همین دلیل است که کلاینت شما به جای انتخاب یک guard جدید در هر بار شروع، همان guard را برای ماهها نگه میدارد: چرخش مداوم نقطه ورود، به یک رله مخرب فرصتهای مکرری میدهد تا به guard شما تبدیل شود.
مدارها دائمی نیستند. اتصالات جدید تقریباً هر ده دقیقه به یک مدار تازه منتقل میشوند، در حالی که جریانی که از قبل باز است، روی همان مداری که شروع شده باقی میماند. یک دانلود طولانی و تب دیگری که پانزده دقیقه بعد باز میکنید، معمولاً از exitهای متفاوتی خارج میشوند.
نحوه ایجاد سه گام بدون اینکه هیچ رلهای از رلههای دیگر مطلع شود
کلاینت لیست رلهها را به guard نمیدهد. ابتدا با guard کلیدهایی را مذاکره میکند، سپس درخواستی از طریق guard میفرستد و از آن میخواهد مدار را به middle relay گسترش دهد، سپس درخواست دیگری از طریق آن گام میفرستد تا به exit گسترش یابد. به هر رله فقط در مورد همسایهای که باید با آن صحبت کند اطلاع داده میشود و هر گام کلید خاص خود را دارد که سایر گامها هرگز آن را نمیبینند. به همین دلیل است که middle relay نمیتواند با بررسی ترافیک، نقش exit را بفهمد و چرا رلهای که همه چیز را لاگ میکند، فقط یک قطعه از داده را ثبت میکند.
آن را نصب کنید و مسیر را اثبات کنید:
sudo apt update && sudo apt install -y tor
systemctl status tor@default
journalctl -u tor@default -n 20
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ipلاگ باید به Bootstrapped 100% (done): Done برسد. دستور curl باید {"IsTor":true,"IP":"..."} را با آدرسی که نمیشناسید چاپ کند، که همان exit فعلی شماست. اگر IsTor برابر با false باشد، درخواست هرگز از طریق پروکسی عبور نکرده است. نسخه بستهبندیشده Tor در Ubuntu ممکن است از نسخه فعلی عقبتر باشد؛ اگر نیاز دارید نسخه upstream را دنبال کنید، Tor Project مخزن apt اختصاصی خود را منتشر میکند.
یک تله در آن دستور وجود دارد. --socks5 باعث میشود curl خودش نام میزبان را resolve کند و سپس آدرس حاصل را از طریق پروکسی بفرستد، بنابراین resolver معمولی شما هر نامی که بازدید میکنید را میآموزد. --socks5-hostname نام را به Tor میفرستد و اجازه میدهد exit آن را resolve کند. تونل یکی است، اما نشت اطلاعات کاملاً متفاوت است. Tor Browser و torsocks این کار را درست انجام میدهند. ابزارهایی که بهصورت دستی پیکربندی میشوند، اغلب اینطور نیستند.
Tor فقط جریانهای TCP را حمل میکند. این پروتکل نمیتواند UDP را حمل کند، بنابراین ping 1.1.1.1 هرگز از طریق آن عبور نمیکند و یک پروتکل VPN مبتنی بر UDP نمیتواند داخل آن اجرا شود. هر برنامهای که تنظیمات پروکسی خود را نادیده بگیرد، بهسادگی از مسیر معمولی شما با آدرس معمولی شما استفاده میکند و هیچ هشداری دریافت نمیکنید. به همین دلیل است که Tor در سطح سیستم با یک پروکسی شفاف (transparent proxy) روی یک دستگاه جداگانه انجام میشود، نه با یک متغیر محیطی.
جایی که اعتماد واقعاً در آن قرار میگیرد
یک VPN اعتماد را متمرکز میکند. یک شرکت هویت، سوابق پرداخت و الگوی کامل ترافیک شما را در اختیار دارد و محافظت شما تنها به وعده آن شرکت مبنی بر عدم نگهداری لاگها وابسته است. تا زمانی که این وعده معتبر باشد، طراحی آن تمیز، سریع و قابلدرک است. اما زمانی که این اعتماد به دلیل احضاریه قضایی، نفوذ امنیتی یا دروغ از بین برود، کل ترافیک شما بهطور یکجا به خطر میافتد.
Tor اعتماد را توزیع میکند. سه طرف که عمدتاً یکدیگر را نمیشناسند، هر کدام بخشی از دادهها را در اختیار دارند و یک بخش بهتنهایی ارزش چندانی ندارد. برای کارکرد این طراحی، هیچکس مجبور نیست صادق باشد. تنها کافی است که آنها مستقل باشند. شما بهای این امنیت را با کاهش سرعت، محدودیت به پروتکل TCP و شبکهای میپردازید که برخی از رلههای آن قطعاً توسط افرادی اداره میشوند که مایل به نظارت بر شما هستند. پاسخ Tor به یک رله مخرب این است که یک رله بهتنهایی هرگز کافی نیست.
چه زمانی VPN ابزار مناسبی است
- به شبکه محلی اعتماد ندارید: هتل، فرودگاه، سالن کنفرانس یا روتر صاحبخانه. اپراتور شبکه فقط یک تونل رمزنگاریشده میبیند و هیچ چیز دیگری برای او قابل مشاهده نیست.
- میخواهید به ماشینهای خود دسترسی داشته باشید یا ترافیک شما از یک آدرس ثابت که تحت کنترل خودتان است خارج شود.
- به سرعت و پروتکل UDP نیاز دارید: تماسهای ویدیویی، بازیها، انتقال فایلهای حجیم و پشتیبانگیری.
- به یک آدرس ثابت نیاز دارید که سایتها نسبت به آن حساس نباشند. خروجیهای Tor در بخش بزرگی از وب مسدود شدهاند یا با چالش CAPTCHA مواجه میشوند.
این لیست، دلایل راهاندازی VPN شخصی روی یک VPS بهجای خرید اشتراک را بیان میکند و یک سرور WireGuard که خودتان پیکربندی کردهاید، تونلی در اختیار شما میگذارد که سیاست ثبت لاگ آن، فایلی است که مالکیتش با شماست. اگر همان تونل را همراه با مدیریت کلید بین دستگاهها میخواهید، تفاوت بین WireGuard ساده و Tailscale مقایسهای است که باید بخوانید. هر یک از این موارد برای انجام وظایف ذکر شده در این لیست عالی هستند. هیچکدام از آنها وظایف لیست بعدی را انجام نمیدهند.
چه زمانی Tor ابزار مناسبی است
- دشمن شما شامل سایت مقصد یا هر کسی است که بتواند از یک شرکت واحد درخواست ارائه سوابق کند.
- شما در حال خواندن یا انتشار مطلبی هستید که اگر به خط اینترنت شما ردیابی شود، به شما آسیب میرساند.
- شما به یک onion service نیاز دارید: ترافیکی که هرگز شبکه را ترک نمیکند، هیچ exit relay در آن دخیل نیست و آدرس سرور مخفی میماند.
- شما میتوانید با صفحات کند، CAPTCHAها و
403 Forbiddenگاهبهگاه کنار بیایید.
از Tor Browser استفاده کنید، نه مرورگر روزمره خود که به پورت 9050 متصل شده است. مرورگر نیمی از محافظت است و بخش بعد از بخش بعدی، دلیل آن را توضیح میدهد.
چرا VPS اجارهای برای ناشناس ماندن از VPN تجاری بدتر است
این موضوعی است که بسیاری از افراد آن را اشتباه متوجه میشوند. VPS اجارهای شما، قراردادی است که نام شما روی آن ثبت شده است. ایمیل ثبتنام، کارت بانکی، صورتحسابها و تیکتهای پشتیبانی، همگی در پایگاه داده یک شرکت در کنار آن آدرس IP قرار دارند. برای متصل کردن آن آدرس به شما، نیازی نیست کسی چیزی را هک کند. این اطلاعات از قبل ثبت شدهاند، به دلایل حسابداری عادی نگهداری میشوند و در دسترس هر کسی هستند که بتواند با پشتوانه قانونی از ارائهدهنده سوال کند.
مشکل دوم، جمعیت است. آدرس خروجی یک VPN تجاری در یک لحظه توسط مشتریان زیادی به اشتراک گذاشته میشود، بنابراین آن آدرس بهتنهایی به یک شخص خاص اشاره نمیکند. آدرس VPS شما فقط متعلق به خودتان است. هر درخواستی که از آن خارج میشود متعلق به شماست، چه امروز و چه ماه آینده؛ و چون آدرس تغییر نمیکند، مقصد میتواند بدون نیاز به هیچ کوکی، در طول ماهها برای شما پروفایل بسازد.
هیچکدام از اینها به این معنی نیست که VPN شخصی (self-hosted) چیز بدی است. این ابزار برای رمزنگاری ترافیک شما در شبکهای که کنترلش نمیکنید و برای دسترسی به سرویسهای خودتان از هر جایی، بسیار عالی است. مشکل اینجاست که این ابزار برای ناشناس ماندن طراحی نشده است و استفاده از آن با این هدف، یک اشتباه است. برای مطالعه شرحی ساده از آنچه ارائهدهنده شما میتواند یا نمیتواند روی خودِ ماشین ببیند، چقدر امنیت میزبانی VPS واقعی است را بخوانید.
مواردی که Tor یا VPN آنها را برطرف نمیکنند
- اثرانگشت مرورگر (Browser fingerprinting). شناسه مرورگر (user agent)، اندازه صفحه، منطقه زمانی، فونتهای نصبشده، زبان و نحوه رندر کردن canvas، همگی با هم ترکیب شده و مقداری را میسازند که اغلب منحصربهفرد است؛ این مقدار در تمامی آدرسهای IP که استفاده میکنید، همراه شماست. Tor Browser با یکسانسازی ظاهر کاربران و تغییر اندازه پنجره در گامهای ثابت، با این مسئله مقابله میکند. مرورگر معمولی شما پشت یک SOCKS proxy، همچنان اثرانگشت و کوکیهای خود را حفظ میکند.
- ورود به حساب کاربری (Logging in). در لحظهای که به حسابی وارد میشوید که نام شما را میداند، لایه شبکه دیگر اهمیتی ندارد. یک بار ورود از خانه و یک بار ورود از طریق Tor به همان حساب، هر دو نشست (session) را به یکدیگر پیوند میدهد.
- هر چیزی که نقطه پایانی (endpoint) به هر حال ثبت میکند: آنچه تایپ کردهاید، آنچه خریدهاید و آنچه جستجو کردهاید.
- همبستگی سرتاسری (End-to-end correlation). کسی که همزمان خط شما و خروجی (exit node) را زیر نظر داشته باشد، میتواند زمانبندی و حجم بستهها را تطبیق داده و دو سر ارتباط را به هم متصل کند. Tor بهصراحت اعلام میکند که در برابر دشمنی که میتواند هر دو سمت را ببیند، دفاعی ندارد.
آیا میتوان از Tor و VPN بهصورت همزمان استفاده کرد؟
استفاده از Tor روی VPN به این معناست که ابتدا اتصال VPN برقرار میشود و سپس Tor درون آن اجرا میگردد. در این حالت، ISP شما فقط اتصال VPN را میبیند و guard relay نیز بهجای آدرس واقعی شما، آدرس VPN را مشاهده میکند. با این کار، شما شرکتی را که نام و اطلاعات کارت بانکیتان را در اختیار دارد، در مقابل سیستمی قرار دادهاید که دقیقاً برای اجتناب از چنین وضعیتی طراحی شده است. این روش تنها در یک شرایط ارزش انجام دادن دارد: زمانی که استفاده از Tor در شبکه شما خطرناک باشد و گزینه بهتری در دسترس نداشته باشید.
استفاده از VPN روی Tor، که در آن ترافیک پس از خروج از شبکه Tor وارد یک حساب VPN میشود، پیکربندی دشوارتری دارد و معمولاً نتیجه بدتری میدهد. آن حساب VPN دارای سوابق پرداخت شماست؛ بنابراین شما یک هویت ثابت را به ترافیکی متصل کردهاید که تا لحظاتی پیش ناشناس بود.
اگر هدف تنها مخفی کردن استفاده از Tor از دید ISP است، راهکار پشتیبانیشده استفاده از bridge است: یک نقطه ورود که در لیست عمومی گرهها (consensus) وجود ندارد و با یک pluggable transport مانند obfs4 یا Snowflake ترکیب شده است تا تشخیص ترافیک را دشوار کند. Tor Browser بهصورت پیشفرض هر دو را ارائه میدهد و نیازی نیست نام خود را در اختیار شرکت ثالثی قرار دهید.
FAQ
آیا Tor صرفاً یک VPN رایگان است؟
خیر. یک VPN ترافیک شما را از طریق یک سرور که توسط یک شرکت اداره میشود عبور میدهد؛ آن شرکت آدرس واقعی شما و تمام مقاصدتان را میبیند، بنابراین شما فقط ISP خود را با ارائهدهندهای که انتخاب کردهاید جایگزین میکنید. Tor ترافیک را از طریق سه رله که توسط افراد مختلف اداره میشوند عبور میدهد؛ در این حالت، رله ورودی (guard) شما را میبیند اما مقصد را نمیداند، و رله خروجی (exit) مقصد را میبیند اما شما را نمیشناسد. همچنین Tor فقط از پروتکل TCP پشتیبانی میکند، بهطور محسوسی کندتر است و توسط بسیاری از وبسایتها مسدود یا با چالش مواجه میشود، بنابراین جایگزین مستقیمی برای استفادههای روزمره از VPN نیست.
آیا ISP من میتواند بفهمد که از Tor استفاده میکنم؟
بهصورت پیشفرض، بله. آدرسهای رلهها در لیست عمومی (consensus) منتشر میشوند، بنابراین ارائهدهنده اینترنت شما میتواند ببیند که در حال اتصال به یک رله ورودی شناختهشده هستید. ISP نمیتواند ببیند به چه سایتهایی دسترسی دارید. برای مخفیسازی خودِ استفاده از Tor، مرورگر Tor Browser پلهایی (bridges) با قابلیت pluggable transport مانند obfs4 یا Snowflake ارائه میدهد که از طریق یک نقطه ورود که در لیست عمومی نیست، متصل میشوند. استفاده از یک VPN پیش از Tor نیز آن را از دید ISP مخفی میکند، اما این واقعیت را برای اپراتور VPN آشکار میسازد.
آیا راهاندازی VPN روی VPS شخصی، من را ناشناس میکند؟
خیر. سرور به نام شما و با کارت بانکی شما اجاره شده است، بنابراین سوابق پرداخت ارائهدهنده، آن آدرس را به شما پیوند میدهد و با یک درخواست قانونی به ارائهدهنده، این اطلاعات قابل مشاهده است. همچنین این آدرس فقط توسط شما استفاده میشود، بنابراین تمام ترافیک خروجی از آن متعلق به یک نفر است و تا زمانی که سرور را در اختیار دارید، قابل ردیابی باقی میماند. یک VPN شخصی ابزاری قوی برای حفظ حریم خصوصی در برابر شبکه محلی است، اما ابزاری ضعیف برای ناشناسی در برابر هر کسی که بتواند از ارائهدهنده شما استعلام بگیرد.
چرا وبسایتها هنگام استفاده از Tor من را مسدود میکنند یا CAPTCHA نشان میدهند؟
زیرا آدرسهای رلههای خروجی عمومی هستند و توسط افراد بسیار زیادی به اشتراک گذاشته میشوند؛ بنابراین سوءاستفادههای احتمالی از طرف هر یک از آن کاربران، به آدرسی که شما در حال قرض گرفتن آن هستید نسبت داده میشود. شبکههای توزیع محتوا (CDN) به این آدرسها امتیاز منفی میدهند و با یک چالش، یک 403 Forbidden یا فرم ثبتنامی که از ارسال اطلاعات خودداری میکند، پاسخ میدهند. هیچ تنظیمی در سمت شما این مشکل را برطرف نمیکند. ایجاد یک مدار (circuit) جدید، یک رله خروجی متفاوت در اختیار شما قرار میدهد که گاهی اوقات اعتبار بهتری دارد.
اگر از VPN استفاده کنم، آیا همچنان نشت DNS خواهم داشت؟
بله، این اتفاق ممکن است و بسیار رایج است. در یک تونل کامل (full tunnel) که هیچ resolver خاصی برای رابط تونل تنظیم نشده باشد، کلاینت شما از همان resolver که از شبکه محلی یاد گرفته استفاده میکند و مسیر رسیدن به آن resolver در شبکه محلی است، بنابراین اولویت آن از مسیر پیشفرض تونل بالاتر است. در این حالت، درخواستهای شما بهصورت متن آشکار (cleartext) ارسال میشوند، در حالی که سایر ترافیک رمزنگاری شده است. دستور resolvectl status را اجرا کنید و تأیید کنید که سرور DNS فهرستشده برای لینکی که مسیر پیشفرض شما را حمل میکند، همان resolver تونل است، نه روتر محلی شما.