فایل hosts در برابر فیلتر روتر: مسدود کردن یک سایت از طریق VPN
ورودی hosts به صورت محلی پاسخ میدهد و از هر تونلی جان سالم به در میبرد. فیلتر روتر فقط چیزی را میبیند که از روتر عبور میکند، پس VPN که روی لپتاپ پایان مییابد نام را پنهان میکند.
یک ورودی در فایل hosts و یک فیلتر روتر همان سایت را به دلایل کاملاً متفاوت مسدود میکنند، به همین دلیل یکی زیر VPN همچنان کار میکند و دیگری بیصدا متوقف میشود. فایل hosts پیش از آنکه بستهای ماشین را ترک کند به یک نام پاسخ میدهد. فیلتر روتر ترافیکی را که از آن عبور میکند بررسی میکند. بین آن دو نقطه یک تونل بگذارید تا دومی دید خود را از دست بدهد، در حالی که اولی چیزی متوجه نمیشود.
اینکه نام کجا حل میشود همه چیز را تعیین میکند
هر مسدودسازی با یک پرسش آغاز میشود: چه کسی نام را به نشانی تبدیل میکند؟ روی یک رایانه رومیزی معمولی پاسخ را حلکننده سامانه میدهد، که ترتیب تنظیمشده خود را طی میکند و معمولاً پیش از پرسوجو از DNS فایل hosts را میخواند. در شبکه فیلترشده پاسخ ممکن است از روتر بیاید، که پرسوجو را فقط وقتی میبیند که کلاینت آن را بدون محافظت از او بگذراند. مسیر را تغییر دهید تا تغییر دهید چه کسی اجازه پاسخ دارد.
VPN اینجا دو کار را همزمان انجام میدهد: مسیر پیشفرض را جابهجا میکند و میتواند سرور DNS خودش را تحمیل کند. هر یک از این دو تغییر برای دور کردن حل نام از دستگاهی که مسدودسازی را اعمال میکرد کافی است.
این مکانیسم پشت شکایت آشنایی است که میگوید فیلتر کار میکند تا وقتی VPN وصل شود.
یک ورودی hosts پیش از وجود تونل پاسخ میدهد
خطی مانند 127.0.0.1 www.example.com را حلکننده محلی میخواند، پس پاسخ روی ماشین و بدون دخالت شبکه تولید میشود. تونل وصل کنید، سرور DNS را عوض کنید، شبکه را تغییر دهید: ورودی همچنان loopback برمیگرداند. به همین دلیل مسدودسازی با hosts تنها یکی از این دو است که از محل پایان VPN تأثیر نمیگیرد.
نقاط کور آن هم به همان اندازه محلی است. برنامهای که حلکننده خودش را همراه دارد، DNS over HTTPS صحبت میکند یا به یک نشانی صریح وصل میشود هرگز از سامانه نمیپرسد، پس ورودی بررسی نمیشود. نشانی ذخیرهشده در حافظه پنهان یک فرایند در حال اجرا نیز همین اثر را دارد تا آن فرایند دوباره راهاندازی شود.
پاسخ را با getent ahosts در لینوکس یا Resolve-DnsName در ویندوز تأیید کنید، نه با اعتماد به یک زبانه مرورگر.
فیلتر روتر فقط چیزی را میبیند که از آن عبور میکند
فیلتر محتوا یا URL روی روتر خانگی نامها و درخواستهایی را که به شکلی خوانا از آن میگذرند تطبیق میدهد. وقتی کلاینت تونل رمزگذاریشدهای به سروری در جایی دیگر میسازد، روتر یک جریان واحد به آن سرور میبیند و هیچ چیز درونش را نه. فیلتر نامی برای تطبیق ندارد، پس ترافیک را مجاز میکند، و اینطور به نظر میرسد که فیلتر شکست خورده، نه اینکه دور زده شده باشد.
جغرافیای شبکه که کار میکند دیگری است: روتر خودش تونل را نگه میدارد، در نقطه پایانی رمزگشایی میکند و فیلتر را همانجا اعمال میکند. در آن طراحی فیلتر جایی مینشیند که متن آشکار پدیدار میشود.
اگر تونل روی لپتاپ پایان یابد، روتر بنا به تعریف بیرون از مسیر محافظتشده است، هر طور که قاعده نوشته شده باشد.
چهار نقطه اعمال و اینکه هر کدام چه چیزی را از دست میدهد
چهار جا میتوانند مسدودسازی را اعمال کنند و هر کدام به شکلی متفاوت شکست میخورند. این فهرست را به عنوان نقشه پوشش بخوانید، نه رتبهبندی.
- فایل hosts یا حلکننده محلی: بدون اینترنت و زیر هر تونلی کار میکند، اما حلکننده همراه یا نشانی سختکد شده آن را دور میزند.
- فیلتر DNS در دروازه VPN: کلاینتهایی را که از حلکننده تحمیلی استفاده میکنند پوشش میدهد و کلاینتهایی را که DNS را نادیده میگیرند از دست میدهد.
- قواعد خروج در دروازه بر اساس نشانی یا SNI: مستقل از DNS کلاینت، اما کور در برابر نامهایی که نمیتواند بخواند و نشانیهایی که یاد نگرفته است.
- سیاست مدیریتشده مرورگر یا دستگاه: قوی روی سختافزار مدیریتشده، غایب روی دستگاههای شخصی.
هیچیک از اینها مرز امنیتی در برابر کاربر مصمم روی دستگاه مدیریتنشده نیست. آنها کنترلهای سیاستی هستند و توصیف صادقانه میگوید هر کدام در واقع چه ترافیکی را پوشش میدهد.
لایهای را انتخاب کنید که با قصد همخوانی دارد: آسودگی خانگی به دستگاه تعلق دارد و قاعده سازمانی به دروازه.
پیش از تمامشده دانستن، هر دو حالت را بیازمایید
همان سه فرمان را با VPN متصل و قطعشده اجرا کنید: getent ahosts برای دیدن پاسخ حلکننده، nslookup برای دیدن آنچه پرسوجو برمیگرداند و curl -I در برابر سایت برای دیدن اینکه آیا اتصال هنوز کامل میشود. اگر اولی loopback برگرداند و سومی به نشانی واقعی وصل شود، چیزی حلکننده را دور زده و ورودی hosts همان کنترلی نیست که فکر میکنید.
روی روتر، شمارندههای فیلتر را پیش و پس از یک درخواست بخوانید. شمارندهای که هرگز تکان نمیخورد یعنی ترافیک هرگز به فیلتر نرسیده، و این پاسخ مسیریابی است نه پاسخ قاعده.
نتیجه را همراه با توپولوژی بنویسید، چون تغییر بعدی VPN دوباره مسیر را جابهجا میکند.