سرویس Onion در برابر سرویس VPN: مدلهای دسترسی متفاوت
نشانی Onion به کلید سرویس گره خورده و درون Tor به آن دسترسی پیدا میشود؛ VPN مسیری به یک دروازه میدهد. مخاطب، کشف و احراز هویت برنامه را مقایسه کنید.
مردم سرویس Onion و سرویسی را که فقط از راه VPN در دسترس است، دو گونه از یک ایده میدانند: درگاه را پنهان کن و نشانی محرمانه را به اشتراک بگذار. تفاوت آنها در این است که نشانی به چه چیزی گره خورده، چه کسی میتواند به آن برسد و پیش از رسیدن درخواست چه چیزی باید رخ دهد. یکی نقطه دیدار درون Tor است و دیگری مسیری درون یک شبکه خصوصی. برخورد با آنها بهعنوان چیزهای جایگزینپذیر طرحهایی میسازد که نه خصوصیاند و نه قابل نگهداری.
افسانه: هر دو طرح فقط یک درِ پنهان هستند
ویژگی مشترک واقعی است اما نازک: هیچیک از دو طرح رابط مدیریتی را روی درگاه عمومیِ مستقیماً در دسترس نمیگذارد. همه چیزِ پس از آن واگرا میشود. نشانی Onion از کلید خودِ سرویس مشتق میشود، پس نام به یک هویت گره خورده است؛ نشانی VPN فقط نشانیای درون شبکهای است که به آن پذیرفته شدهاید. یکی سرویس را درون یک لایه پوششی پنهان میکند و دیگری شما را به یک توپولوژی خصوصی میپذیرد. دیدن دومی بهعنوان مترادف اولی آغاز سردرگمی است.
هیچیک از این دو ویژگی کنترل امنیتی برای خودِ برنامه نیست. یک مکان پنهان نرمافزارِ پشت آن را وصله نمیکند و یک مسیر خصوصی احراز هویت را به صفحه ورود اضافه نمیکند. هر دو طرح همچنان به مجوزهای خودِ برنامه نیاز دارند و هر دو همچنان به کسی نیاز دارند که مسئول بهروزرسانی و بازیابی باشد.
نشانی Onion در واقع به چه چیزی اشاره میکند
نشانی Onion نسخه v3 کلید عمومی سرویس را رمزگذاری میکند، از همین رو هیچ کس نمیتواند برای سرویسی که کنترلش نمیکند نشانی برگزیند. کلاینت از راه Tor به یک نقطه دیدار متصل میشود و سرویس از سمت خودش به همان نقطه میرسد؛ هیچ گره خروجی معمولی آن اتصال را به سرویس نمیرساند. نام یک هویت است، نه یک رکورد DNS.
dig +short example.onion
curl --socks5-hostname 127.0.0.1:9050 http://example.onion/
systemctl status tor
از همین رو افزودن یک مسیر یا یک ورودی hosts برای نام onion هیچ سودی ندارد. جستوجو سازوکار نیست؛ کلاینت Tor و مدارهایش سازوکارند. اگر سرویس برای گروه کوچکی از مردم باشد، مجوز کلاینت onion میتواند پیش از پذیرش اتصال کلیدی بخواهد، اما آن هنوز ورود به برنامه نیست. انتشار نشانی هم اقدامی آگاهانه است، زیرا هر کس آن را بیاموزد میتواند اتصال را بیازماید مگر اینکه محدودش کرده باشید.
بایستید اگر تنها دلیل طرح onion پرهیز از پیکربندی احراز هویت است. لایه پوششی آن را فراهم نمیکند و شما بههرحال بعداً آن را میسازید.
مسیر VPN در واقع چه چیزی میدهد
VPN دستگاهی را به شبکهای میپذیرد و به آن مسیری به یک دروازه یا زیرشبکه میدهد. سرویس پشت آن دروازه نشانیای از استخر تونل میبیند و هر مجوزی که دارد اعمال میکند. مسیر چیزی درباره اینکه کاربر کیست نمیگوید؛ میگوید بستهها کجا میتوانند بروند.
ip route get 10.20.30.40
wg show
curl -sv https://files.internal.example/ -o /dev/null
آن مدل برای گروهی شناختهشده با دستگاههای مدیریتشده مناسب است، چون دروازه میتواند وضعیت دستگاه را تحمیل کند و شبکه قابل حسابرسی است. برای بازدیدکنندگان ناشناس یا موردی نامناسب است، زیرا نخست باید ثبتنام شوند. ورود خودِ برنامه همچنان تعیین میکند کاربر متصل چه چیزی میتواند بخواند. اشتباه گرفتن دسترسی با مجوز همان راهی است که VPN در نهایت یک زیرشبکه کامل را به هر کس که میتواند متصل شود میدهد.
بایستید اگر مخاطب ناشناخته است یا پیوسته تغییر میکند. ثبت غریبهها در یک شبکه خصوصی برای نشان دادن یک صفحه، در مقایسه با انتشار یک سرویس تعهد بزرگی است.
انتخاب میان آن دو، و آنچه یکسان میماند
مدل onion را برگزینید هنگامی که مخاطب فنی است، سرویس نباید بهکلی نشانی عمومی داشته باشد و میتوانید الزامات کلاینت Tor را بپذیرید. مدل VPN را برگزینید هنگامی که مخاطب گروهی مشخص است که دستگاههایش را مدیریت میکنید و میخواهید دسترسیاش را در لایه شبکه ثبت کنید. هیچیک از دو انتخاب نیاز به احراز هویت برنامه، وصله یا مسیر بازیابی را برنمیدارد. هیچیک بهطور خودکار در معنایی که برای کاربران شما مهم است خصوصیتر نیست.
در هر دو طرح بنویسید چه کسی میتواند به سرویس برسد، چگونه شناسایی میشوند و هنگام از دست رفتن یک اعتبارنامه چه رخ میدهد. پاسخ برای سرویس onion شامل کلیدهای مجوز کلاینت و خود نشانی است؛ پاسخ برای VPN شامل حساب، دستگاه و سیاست دروازه است. اینها فهرستهای متفاوتی هستند و تنها یکی از آنها برای مدیر بعدی روشن خواهد بود.
مقایسه همانجا پایان مییابد که برنامه آغاز میشود. نشانی پنهان و مسیر خصوصی انتخابهای لایه انتقالاند و برنامه هنوز باید تصمیم بگیرد درخواست چه کاری میتواند بکند. آن تصمیمها را در اسناد جداگانه نگه دارید تا هیچیک از دو طرح بیصدا کار دیگری را نبلعد.