آموزش‌های کلادفلر به‌زودی در این بخش قرار داده می‌شود.

چرا DNS رو برای حریم خصوصی بیشتر باید تغییر دهیم؟

هر بار که یه آدرس سایت رو توی مرورگرت تایپ می‌کنی و اینتر رو می‌زنی، یه تیکه از اطلاعات شخصی تو داره یه جایی ثبت و ضبط می‌شه. این اتفاق معمولا وقتی میفته که داری از تنظیمات پیش‌فرض اینترنتت استفاده می‌کنی؛ یعنی همون تنظیماتی که شرکت سرویس‌دهنده اینترنت (یا همون ISP) یا اپراتور سیم‌کارتت از روز اول برات تنظیم کرده.

قضیه اینه که وقتی از اینترنت اونا استفاده می‌کنی، درخواست‌های تو برای باز کردن سایت‌ها به صورت یه متن ساده و رمزنگاری نشده فرستاده می‌شه. این درخواست‌ها ذخیره می‌شن و بعدا ممکنه به شرکت‌های تبلیغاتی یا هر کس دیگه‌ای که دنبال اینجور اطلاعاته فروخته بشن. پس اگه حریم خصوصی آنلاین برات مهمه، شاید وقتش رسیده باشه که دیگه از سرورهای DNS شرکت اینترنتت استفاده نکنی. لازم نیست حتما خودت یه سرور شخصی راه بندازی، فقط کافیه یه کم وقت بذاری و یه سرویس‌دهنده DNS دیگه پیدا کنی که از روش‌های رمزنگاری شده استفاده می‌کنه و بعد تنظیماتش رو روی همه دستگاه‌هات، از کامپیوتر و لپ‌تاپ گرفته تا گوشی موبایل، اعمال کنی. هر ذره از اطلاعاتی که بتونی از دست ISP و بقیه شرکت‌هایی که تشنه اطلاعات هستن پس بگیری، ارزشش رو داره.

داستان سرور DNS شرکت اینترنت شما چیه؟

راستش رو بخوای چند تا مشکل اساسی اینجا وجود داره و قضیه اینه که این شرکت‌ها همیشه هم دوست شما نیستن. دلایل زیادی هست که آدم نخواد درخواست‌های DNS اش توسط شرکت اینترنتش مدیریت بشه، اما تقریبا همه این دلایل به یه کلمه ختم می‌شه: حریم خصوصی.

شرکت‌های ارائه‌دهنده اینترنت معمولا تو این زمینه خیلی خوب عمل نمی‌کنن. مثلا ممکنه DNSSEC رو فعال نکرده باشن. DNSSEC یه جور مکانیزم امنیتیه که مطمئن می‌شه جوابی که از سرور DNS می‌گیری واقعیه و کسی تو راه دستکاریش نکرده. یه مشکل دیگه اینه که این شرکت‌ها عادت‌های وب‌گردی شما رو جمع می‌کنن، توی بسته‌بندی‌های شیک می‌ذارن و به عنوان «داده‌های ناشناس» به شرکت‌های تبلیغاتی می‌فروشن. توی دنیایی که همه جور داده‌ای برای فروش گذاشته شده، فرستادن درخواست‌های DNS بدون رمزنگاری، یه راه دیگه برای ردیابی شما و عادت‌های آنلاین شماست.

یه کار دیگه که ISP ها می‌کنن اینه که بعضی از سایت‌ها یا منابعی رو که به نظرشون ناامن میاد، در سطح شبکه مسدود می‌کنن. این کار دسترسی شما به بخش‌هایی از اینترنت آزاد رو قطع می‌کنه. البته شاید این کار به نظر خوب بیاد، مثلا وقتی که دارن منابع بدافزار رو مسدود می‌کنن. اما یکم که فکر کنی می‌بینی که ممکنه از همین قابلیت برای مسدود کردن محتوای بزرگسالان، ابزارهای مربوط به نگهداری بازی‌های ویدیویی، یا هر چیز دیگه‌ای که خود شرکت تصمیم به مسدود کردنش بگیره (یا از طرف دولت دستور بگیره که مسدود کنه) استفاده بشه.

وقتی شما سراغ یه سرویس‌دهنده DNS دیگه می‌ری، در واقع این مسدودسازی‌های سطح ISP رو دور می‌زنی. البته هیچ تضمینی نیست که سرویس‌دهنده جدید خودش یه سری چیزها رو مسدود نکنه، اما معمولا این شرکت‌ها خیلی شفاف‌تر عمل می‌کنن و بهت می‌گن که چی رو و چرا دارن مسدود می‌کنن و بیشتر این کارها برای امنیت و منفعت خود کاربر انجام می‌شه.

آیا DNS رمزنگاری شده واقعا جلوی ISP رو می‌گیره؟

اینجا یه بحث خیلی مهم پیش میاد. بعضی‌ها می‌گن استفاده از DNS رمزنگاری شده مثل DNS over HTTPS (DoH) باعث می‌شه ISP نتونه ببینه شما دارید از چه سایت‌هایی بازدید می‌کنید. اما واقعیت یکم پیچیده‌تره. فرض کن شما یه درخواست DNS امن و رمزنگاری شده فرستادی و آدرس IP سایت مورد نظرت رو پیدا کردی. مرحله بعد چیه؟ باید یه بسته اطلاعاتی (packet) به اون آدرس IP بفرستی تا سایت برات باز بشه. این بسته از کجا رد می‌شه؟ دقیقا از طریق همون ISP شما.

از اونجایی که ISP شما برای مسیریابی این بسته باید آدرس IP مقصد رو بدونه، خیلی راحت می‌تونه یه جستجوی معکوس (reverse lookup) انجام بده و بفهمه اون IP به چه سایتی تعلق داره. حتی ممکنه از داده‌های کش شده خودش استفاده کنه تا ببینه قبلا چه دامنه‌ای به این IP متصل بوده.

SNI، پاشنه آشیل حریم خصوصی

یه مشکل دیگه هم هست به اسم SNI که مخفف Server Name Indication هست. وقتی شما می‌خوای به یه سایت با HTTPS وصل بشی، مرورگرت اسم اون سایت رو به صورت رمزنگاری نشده توی یه پیامی به اسم ClientHello می‌فرسته. چرا؟ چون خیلی وقت‌ها روی یک آدرس IP چندین سایت مختلف میزبانی می‌شه و سرور باید بدونه شما کدوم سایت رو می‌خوای تا بتونه گواهینامه امنیتی (SSL) درست رو بهت نشون بده. پس حتی با وجود HTTPS و DNS رمزنگاری شده، ISP شما می‌تونه با نگاه کردن به SNI بفهمه شما دارید به کدوم سایت سر می‌زنید.

البته فناوری‌های جدیدی مثل ECH (Encrypted Client Hello) دارن توسعه پیدا می‌کنن تا این مشکل رو حل کنن. مثلا موزیلا و کلادفلر روی این موضوع کار کردن و مثل اینکه ECH به صورت پیش‌فرض توی فایرفاکس فعاله. اما تا وقتی که همه سایت‌ها ازش پشتیبانی نکنن، SNI همچنان یه راه برای ردیابی باقی می‌مونه.

پس نتیجه چیه؟ استفاده از یه سرویس DNS سوم شخص، فقط باعث می‌شه یه شرکت دیگه هم به لیست کسایی که می‌دونن شما چه سایت‌هایی رو باز می‌کنی اضافه بشه. از نظر بعضی‌ها، اگه به حریم خصوصی اهمیت می‌دی، بهتره از همون DNS خود ISP استفاده کنی، چون اون‌ها به هر حال به خاطر دیدن IP ها و SNI از فعالیتت باخبرن. اضافه کردن یه شرکت دیگه فقط تعداد جاسوس‌ها رو بیشتر می‌کنه.

چرا بعضی‌ها بازم DNS رو عوض می‌کنن؟

با همه این حرف‌ها، دلایل خوبی برای تغییر DNS وجود داره.

  • سرعت و پایداری بهتر: سرورهای DNS شرکت‌های اینترنتی گاهی اوقات کند و غیرقابل اعتماد هستن. خیلی از کاربرها تجربه کردن که با تغییر DNS به سرویس‌های عمومی مثل گوگل یا کلادفلر، سرعت وب‌گردیشون به شکل محسوسی بیشتر شده. این موضوع البته قطعی نیست و به فاصله جغرافیایی شما تا سرورهای اون شرکت و وضعیت سرورهای ISP خودتون بستگی داره.
  • دور زدن دستکاری‌های ISP: بعضی از ISP ها نتایج DNS رو دستکاری می‌کنن. مثلا اگه یه آدرس اشتباه تایپ کنی، به جای اینکه با خطای «سایت پیدا نشد» (NXDOMAIN) مواجه بشی، به یه صفحه جستجو یا تبلیغاتی منتقل می‌شی. این کار برای خیلی‌ها آزاردهنده‌ است.
  • امنیت بیشتر و مسدود کردن سایت‌های مخرب: بعضی از سرویس‌های DNS عمومی، به طور خودکار سایت‌های فیشینگ و منابع بدافزار شناخته شده رو مسدود می‌کنن. این یعنی یه لایه امنیتی اضافه بدون اینکه لازم باشه کار خاصی انجام بدی.
  • کنترل والدین و فیلتر محتوا: سرویس‌هایی مثل OpenDNS به شما اجازه می‌دن که تنظیمات فیلترینگ محتوا رو فعال کنی. می‌تونی دسته‌بندی‌های خاصی از سایت‌ها (مثلا محتوای نامناسب برای کودکان) رو برای کل شبکه خونگی‌ات مسدود کنی و این تنظیمات روی همه دستگاه‌هایی که به وای‌فای وصل می‌شن اعمال می‌شه.
  • دسترسی به محتوای مسدود شده جغرافیایی: بعضی از سرویس‌های DNS خاص، مثل یک VPN عمل می‌کنن و با یه سری ترفندهای شبکه‌ای کاری می‌کنن که انگار شما از یه کشور دیگه به اینترنت وصل شدی. اینجوری می‌شه به سرویس‌هایی مثل Netflix، Hulu یا BBC iPlayer که برای منطقه شما در دسترس نیستن، دسترسی پیدا کرد.

گزینه‌های جایگزین: سرویس‌های DNS عمومی

خوشبختانه لازم نیست برای استفاده از یه DNS امن‌تر، خودت سرور راه بندازی. کلی سرویس‌دهنده DNS خصوصی و عمومی در سراسر دنیا وجود دارن که به راحتی می‌تونی ازشون استفاده کنی. فقط کافیه آدرس سرور DNS رو توی تنظیمات مودم، کامپیوتر یا گوشی‌هات عوض کنی. این کار امنیت دستگاه‌هات رو بیشتر می‌کنه، جلوی مسدودسازی‌های ISP رو می‌گیره و به حفظ حریم خصوصی‌ات کمک می‌کنه.

یادت باشه که DNS رمزنگاری شده، وب‌گردی شما رو کاملا خصوصی نمی‌کنه. همونطور که گفتیم ISP هنوز IP ها رو می‌بینه. برای خصوصی نگه داشتن کامل ترافیک، به یه VPN یا روش‌های رمزنگاری شده دیگه نیاز داری.

وقتی می‌خوای یه سرویس‌دهنده DNS انتخاب کنی، حواست به این چند تا ویژگی باشه:

  • پشتیبانی از DNSSEC: برای اطمینان از صحت پاسخ‌ها.
  • پشتیبانی از QNAME Minimization: برای ارسال کمترین اطلاعات ممکن در هر درخواست.
  • غیرفعال کردن یا ناشناس کردن EDNS Client Subnet (ECS): این ویژگی می‌تونه بخشی از آدرس IP شما رو به سرورها بفرسته که برای حریم خصوصی خوب نیست.
  • سیاست عدم ثبت لاگ (No-Logging Policy): یعنی شرکت قول می‌ده که اطلاعات شخصی شما رو روی دیسک ذخیره نکنه.
  • پشتیبانی از Anycast یا Geo-Steering: برای اتصال شما به نزدیک‌ترین سرور و داشتن سرعت بهتر.
  • پشتیبانی از پروتکل‌های رمزنگاری شده: مثل DNS-over-HTTPS (DoH)، DNS-over-TLS (DoT)، یا DNS-over-Quic.

در ادامه چند تا از معروف‌ترین سرویس‌دهنده‌ها رو بدون ترتیب خاصی معرفی می‌کنیم. هر کدوم از این‌ها از DNS پیش‌فرض ISP شما امن‌تر و خصوصی‌تر هستن:

  • Cloudflare (1.1.1.1): یکی از بزرگترین بازیگران اینترنت که به مسدود نکردن سایت‌ها (مگر اینکه تهدید امنیتی باشن) معروفه.
  • Quad9 (9.9.9.9): این سرویس هم DNS رمزنگاری شده ارائه می‌ده و فقط سایت‌های حاوی بدافزار یا تهدیدات دیگه رو مسدود می‌کنه.
  • Control D (76.76.2.2): هیچ لاگی ثبت نمی‌کنه، از روش‌های رمزنگاری مختلف پشتیبانی می‌کنه و روی دستگاه‌های اپل هم به خوبی کار می‌کنه.
  • AdGuard Public DNS: درخواست‌ها رو ناشناس می‌کنه، یه سری فیلترینگ برای تبلیغات داره و برای دستگاه‌های اپل پروفایل مخصوص ارائه می‌ده.

برای حرفه‌ای‌ها: راه‌اندازی سرور DNS شخصی

اگه دوست داری کنترل بیشتری روی شبکه‌ات داشته باشی، می‌تونی سرور DNS خودت رو راه بندازی. این روزها این کار به شکل فریبنده‌ای ساده شده. گزینه‌های نرم‌افزاری مختلفی مثل Unbound، AdGuard Home، PowerDNS یا Technitium وجود داره. با این کار، تو همه مزایای یه سرویس DNS عمومی مثل مسدود کردن تبلیغات رو به دست میاری، به علاوه اینکه می‌تونی تنظیمات خیلی پیشرفته‌تری رو اعمال کنی.

مثلا می‌تونی دامنه‌های محلی برای شبکه خانگی‌ات تعریف کنی (که برای کسایی که آزمایشگاه خانگی یا همون Home Lab دارن خیلی کاربردیه) یا کاری کنی که دستگاه‌های مختلف توی شبکه‌ات نتایج DNS متفاوتی بگیرن (که بهش می‌گن Split Horizon DNS). می‌تونی از ابزاری مثل dnscrypt-proxy هم استفاده کنی تا درخواست‌های DNS ات برای ISP کاملا ناخوانا بشه. در نهایت با مسدود کردن پورت 53 (پورت استاندارد DNS)، می‌تونی همه دستگاه‌های توی شبکه رو مجبور کنی که فقط از سرور DNS محلی و رمزنگاری شده تو استفاده کنن.

چطور می‌شه DNS پیش‌فرض ISP رو نادیده گرفت؟

بعضی از مودم‌ها و روترها تنظیمات مشخصی برای این کار دارن. مثلا در روترهایی که از سیستم‌عامل KeeneticOS نسخه 3.1 به بعد استفاده می‌کنن، یه گزینه برای نادیده گرفتن DNS های دریافتی از ISP وجود داره.

بذار با یه مثال توضیح بدم. فرض کن توی صفحه تنظیمات روتر، در بخش سرورهای DNS، هم آدرس DNS دریافتی از ISP (مثلا 192.168.100.1) رو می‌بینی و هم آدرس‌هایی که خودت دستی وارد کردی (مثلا 8.8.8.8 و 8.8.4.4 که متعلق به گوگل هستن). حالا اگه بری توی تنظیمات اتصال اینترنتت و گزینه «Ignore DNSv4 from ISP» رو فعال کنی، روتر دیگه از اون آدرس 192.168.100.1 استفاده نمی‌کنه و فقط به آدرس‌هایی که تو دادی تکیه می‌کنه.

یه نکته خیلی مهم: بعضی از ISP ها تنظیمات شبکه خاصی دارن. غیرفعال کردن DNS اون‌ها ممکنه باعث قطع شدن اینترنتت بشه، مخصوصا اگه از اتصال‌های نوع PPPoE، PPTP یا L2TP استفاده می‌کنی. دلیلش اینه که گاهی اوقات آدرس سرور احراز هویت به صورت یه نام دامنه (مثلا l2tp.aa.net.uk) توی تنظیماتت ذخیره شده. اگه تو DNS خود ISP رو غیرفعال کنی، روترت دیگه نمی‌تونه این آدرس رو به IP تبدیل کنه و در نتیجه اتصال برقرار نمی‌شه. پس قبل از این کار حتما تنظیماتت رو چک کن.

یه نکته دیگه هم اینه که اگه روی روترت از فیلترهای اینترنتی مثل SafeDNS یا AdGuard DNS استفاده کنی، یا اگه DNS over TLS/HTTPS رو تنظیم کرده باشی، همه درخواست‌های DNS به هر حال به اون سرویس‌ها فرستاده می‌شن و DNS های ISP و حتی DNS هایی که دستی وارد کردی نادیده گرفته می‌شن.

پرسش و پاسخ‌های رایج

سوال ۱: من هر چی DNS کامپیوترم (مک) رو روی 1.1.1.1 و 8.8.8.8 تنظیم می‌کنم، شرکت اینترنتم دوباره برش می‌گردونه به DNS خودش. چطوری این کار ممکنه و چطور جلوش رو بگیرم؟

جواب: به احتمال خیلی زیاد، این کار رو ISP شما انجام نمی‌ده. شرکت اینترنت نمی‌تونه مستقیم تنظیمات کامپیوتر شما رو تغییر بده. چیزی که معمولا اتفاق میفته اینه که تنظیمات DNS برای هر شبکه وای‌فای به صورت جداگانه ذخیره می‌شه. وقتی شما از یه شبکه به شبکه دیگه وصل می‌شی (مثلا از خونه می‌ری کافه)، ممکنه تنظیمات DNS به حالت خودکار برگرده. بهترین راه برای جلوگیری از این مشکل اینه که تنظیمات DNS رو به جای کامپیوتر، مستقیما روی مودم یا روترتون انجام بدید. اینجوری این تنظیمات برای همه دستگاه‌هایی که به اون شبکه وصل می‌شن اعمال می‌شه و دیگه تغییر نمی‌کنه.

سوال ۲: پس اگه من از DNS رمزنگاری شده مثل DoH استفاده کنم، وب‌گردی من کاملا از چشم ISP مخفی می‌مونه؟

جواب: نه، کاملا مخفی نمی‌مونه. استفاده از DNS رمزنگاری شده فقط خود درخواست پیدا کردن آدرس سایت رو از دید ISP مخفی می‌کنه. یعنی ISP نمی‌فهمه شما دنبال آدرس چه سایتی بودی. اما به محض اینکه آدرس IP سایت رو گرفتی و خواستی بهش وصل بشی، ISP شما می‌تونه اون آدرس IP مقصد رو ببینه. علاوه بر این، به خاطر چیزی به اسم SNI، معمولا اسم سایتی که می‌خوای باز کنی به صورت رمزنگاری نشده فرستاده می‌شه. پس ISP هنوز راه‌های زیادی برای فهمیدن اینکه شما کجا می‌ری داره. برای حریم خصوصی کامل‌تر، باید از VPN استفاده کنی.

سوال ۳: آیا استفاده از یه DNS سوم شخص همیشه باعث افزایش سرعت می‌شه؟

جواب: لزوما نه. این یه «شاید» بزرگه. سرعت به دو تا عامل اصلی بستگی داره: ۱) سرورهای DNS شرکت جایگزین از نظر جغرافیایی چقدر به شما نزدیک هستن و ۲) سرورهای DNS پیش‌فرض ISP شما چقدر کند یا شلوغ هستن. برای خیلی از افراد، استفاده از سرویس‌هایی مثل کلادفلر یا گوگل باعث سریع‌تر شدن وب‌گردی می‌شه، اما ممکنه برای شما هیچ تفاوتی نکنه یا حتی کندتر هم بشه. تنها راه فهمیدنش، تست کردنه.

سوال ۴: اگه من از VPN استفاده کنم، بازم باید نگران DNS باشم؟

جواب: معمولا نه. یه سرویس VPN خوب، نه تنها ترافیک اینترنت شما رو رمزنگاری می‌کنه، بلکه درخواست‌های DNS شما رو هم از طریق تونل امن خودش می‌فرسته و از سرورهای DNS خودش استفاده می‌کنه. در این حالت، ISP شما حتی درخواست DNS رو هم نمی‌بینه. پس اگه از VPN استفاده می‌کنی، منطقی‌ترین کار اینه که به همون VPN اعتماد کنی و از DNS اون استفاده کنی و دیگه پای یه شرکت سوم رو وسط نکشی.

منابع

  • [2] how to stop my ISP from changing my computer DNS setting – Super User
  • [4] how to stop my ISP from changing my computer DNS setting – Super User
  • [6] Secrets ISPs Don’t Want You to Know About DNS Servers
  • [1] Does DNS over HTTPS actually stop ISPs from knowing the sites you are visiting? : r/privacy
  • [3] Please stop using your ISP’s DNS
  • [5] How to ignore your ISP’s DNS
  • [7] If you care about privacy, use your ISPs DNS servers. Your ISP can see exactly w… | Hacker News

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *