چگونه نشتی DNS را چک کنیم و از آن جلوگیری کنیم
یکی از مهمترین مسائل در دنیای اینترنت،بحث امنیت و حفظ حریم خصوصی است. ما روزانه اطلاعات مهمی را از طریق اینترنت رد و بدل میکنیم و نشت این اطلاعات به بیرون از شبکه، میتواند مشکلاتی را به دنبال داشته باشد. در این مقاله ما قصد داریم درباره دو مورد از این مشکلات یعنی DNS Leakage و WebRTC Leakage بحث کنیم.
نشتی DNS یا DNS leakage چیست؟
به طور معمول، درخواستهای شما به سمت سرورهای DNS ارائهدهنده سرویس اینترنت (ISP) شما ارسال میشود و ISP ها معمولا درخواستها را به سرورهای عمومی DNS ارسال میکنند. اما وقتی به VPN متصل میشوید، این درخواستها به سرورهایی متفاوت با سرورهایISP ارسال میشوند. نشت DNS زمانی اتفاق میافتد که یک VPNبه درستی از شما محافظت نکند و درخواستهایDNS، سابقه مرور و شاید آدرسIPدستگاه شما را در اختیار دیگران قرار دهد.
نحوه تست نشتی DNS
وبسایتهای زیادی برای تست نشتی DNS وجود دارند که میتوانید از آنها استفاده کنید. در این مقاله ما چند نمونه از آنها را بررسی میکنیم.
۱. وبسایت DNSleaktest.com :
به هنگام ورود در صفحه اول این سایت IP شما نمایش داده میشود. کمی پایینتر از آن، دو گزینه Standard Test و Extended Test وجود دارد. در Standard Test، فقط سرورهای DNS محلی و سرور DNS شرکت اینترنتی شما بررسی میشوند اما در Extended Test، علاوه بر سرور DNS شرکت اینترنتی شما و سرور های DNS محلی، به تست کردن سرورهای DNS در سراسر جهان نیز پرداخته میشود. در نتیجه، Extended Test به شما کمک میکند تا ترافیک DNS خود را در حین استفاده از VPN بهتر بررسی کنید. در تصویر زیر ما بر روی گزینه Extended Test زده تا فرآیند ارزیابی شروع شود.
پس از اتمام ارزیابی چنانچه لیست سرورهای نمایش داده شده در قسمت نتایج، با سرورهای DNS ارائه دهنده سرور مطابقت داشته باشند، نشتی DNS نخواهید داشت. به بیان سادهتر اگر لیست سرورهایی که نشان داده میشوند، همگی با لوکیشن سرور VPN شما مطابقت داشته باشند، به این معنی است که تمام ترافیک DNS ؤما از طریق سرور DNS شبکه VPN شما عبور کرده و هیچ نشتی DNSی رخ نداده است. در غیر اینصورت شما نشتی DNS دارید.
در تصویر زیر همانطور که مشاهده میکنید لیست سرورهای نمایش داده شده با سرورهای DNS ارائه دهنده سرور و لوکیشن سرور VPN ما مطابقت دارند. پس در نتیجه ما اینجا نشتی DNS نداریم.
۲. وبسایت Browserleaks.com
پس از ورود به این وبسایت وارد بخش DNS Leakage Test شده، وبسایت به صورت خودکار شروع به ارزیابی کرده و پس از ارزیابی نتایج آن را نمایش میدهد.
در تصویر زیر نیز مثل سایت قبلی لیست سرورهای نمایش داده شده با سرورهای DNS ارائه دهنده سرور و لوکیشن سرور VPN ما مطابقت دارند. پس در نتیجه ما نشتی DNS نداریم.
۳. وبسایت ipleak.net
پس از ورود، این وبسایت به صورت خودکار شروع به ارزیابی کرده و پس از ارزیابی نتایج آن را نمایش میدهد. در تصویر زیر نیز مثل در سایت قبلی، سرور نمایش داده شده با سرور DNS ارائه دهنده سرور و لوکیشن سرور CPN ما مطابقت دارد. پس در نتیجه نشتی نداریم.
۴. وبسایت Dnsleaktest.org
پس از ورود به این وبسایت وارد بخش DNS Leak Test شده تا ارزیابی به صورت خودکار شروع شود. پس از ارزیابی، نتایج آن نمایش داده میشود.
در تصویر زیر برخلاف سایتهای قبلی علاوه بر سرورهای DNS ارائه دهنده سرور، سرورهایی در لیست وجود دارند که متعلق به سرور VPN ما نمیباشند و لوکیشن واقعی ما را نشان میدهند؛ پس در نتیجه نشتی DNS داریم.
نکته: همواره توصیه میشود که برای بررسی نشتی DNS خود از چندین سایت مختلف برای تست استفاده کنید تا از عدم نشتی DNS خود اطمینان حاصل نمایید.
رفع نشتی DNS
برای رفع نشتی DNS، میتوانید از روشهای زیر استفاده کنید:
۱. استفاده از DNS سرورهای امن:
بهتر است از DNS سرورهای امن و معتبری مانند Google DNS (8.8.8.8 , 8.8.4.4) و یا Cloudflare DNS (1.1.1.1 , 1.0.0.1) استفاده کنید. شما میتوانید DNS سرورهای خود را بر روی این DNSها تنظیم کنید.
تنظیم DNS در سرور ابونتو
برای رفع مشکل dns در ابونتو ابتدا باید فایل تنظیمات را ادیت کنید. در ترمینال این کد را اجرا کنید:
ویرایشگر متنی فایل تنظیمات را برای شما باز کرده. باید مقادیر مربوط به nameserver ها را روی dns های معتبر بذارید. همه اطلاعات را پاک کنید این دو خط را اضافه کنید:
برای ذخیره ctrl+s و برای خروج ctrl+x بزنید. کار تمام است!
۲. تنظیمات DNS در کلاینت:
بررسی کنید که تنظیمات DNS در کلاینت شما به درستی پیکربندی شده باشد و DNS سرورهای معتبری در آن تنظیم شده باشد.
۳. غیرفعال کردن IPv6 :
اگر از IPv6 استفاده نمیکنید، میتوانید آن را در تنظیمات سیستم خود غیر فعال کنید. IPv6 ممکن است باعث DNS leakage شود، بنابراین غیرفعال کردن آن میتواند به حل مشکل کمک کند.
۴. استفاده از برنامههای جانبی:
شما میتوانید از برنامههای جانبی مانند DNSCrypt
یا Simple DNS Crypt
استفاده کنید که به شما اجازه میدهند تا DNS خود را از طریق DNS سرورهای امن و رمزگذاری شده به طور خودکار پویش کنید.
پروتکل WebRTC چیست؟
این کلمه مخفف Web Real Time Communications است و به معنای ارتباط فوری و بلادرنگ است. WebRTC یک پروژه منبع باز است که ارتباطات رسانهای بلادرنگ مانند انتقال صدا، ویدئو و دادهها را به طور طبیعی بین مرورگرها و دستگاهها امکان پذیر میکند و باعث میشود تا از داخل مرورگر وب اصلی خود بدون نیاز به پلاگینهای پیچیده یا سختافزار اضافی ارتباط برقرار شود. به طور معمول برنامههایی که از WebRTC استفاده میکنند مبتنی بر مرورگر هستند. با این حال، برنامههای مستقلی مانند Facebook Messenger و Whatsapp وجود دارد که از WebRTC استفاده میکنند.
نشتی WebRTC چیست؟
- این نشتی نقطه ضعفی در مرورگرهای وب نظیر Chrom, Firefox و edge است که باعث میشود علیرغم استفاده از VPN ، امکان افشای آدرس آیپی واقعی شما وجود داشته باشد. وقتی شما با مرورگر به یک وبسایت سر میزنید، بین مرورگر و سایت ارتباط برقرار میشود و تبادل اطلاعات رخ میدهد. حالا در مواردی آن وبسایت با استفاده از این رخنه میتواند تونل رمزگذاری شده VPN را دور بزند و به آیپی واقعی شما برسد.
نحوه تست نشتی WebRTC
-وبسایتهای زیادی برای این تست وجود دارند که برای این کار میتوانید از آنها استفاده نمایید. در ادامه ما یک نمونه از آنها را بررسی میکنیم.
وبسایت Browserleaks.com
پس از ورود به آن وارد بخش WebRTC Leak test شده، وبسایت به صورت خودکار شروع به ارزیابی میکند و پس از آن نتایج نمایش داده میشود.
در تصویر زیر میبینیم که با وجود استفاده از VPN، آدرس آیپی واقعی تشخیص داده شده است، پس ما نشتی داریم.
رفع نشتی WebRTC
برای رفع نشتی WebRTC ، در مرورگر خود میتوانید از روشهای زیر استفاده کنید:
۱. مرورگر Firefox :
کافیست عبارت About:config
را در نوار آدرس URL تایپ کنید و اینتر بزنید. سپس در ادامه دکمه Accept the Risk and Continue
را بزنید. اکنونmedia.peerconnection.enabled
را در نوار جستجو تایپ کنید و روی موردی که نمایش داده میشود دوباره کلیک کنید تا مقدار آن از True
به false
شود.
۲. مرورگر Chrome و Edge :
در این مرورگرها کافیست افزونه WebRTC Leak Prevent
استفاده کنید. پس از نصب تنظیمات IP handling policy
را بر روی Disbale non-proxied UPD
بگذارید.
۳. مرورگر Safari :
اگر از Safari استفاده میکنید، میتوانید WebRTC را در منوی Preferences
غیر فعال کنید. هنگامی که وارد آن شدید، به تب Advanced
در پایین بروید و تیک گزینه Show Desktop menu in bar menu
را بزنید. پس از آن روی Develop
کلیک کرده و Experimental Features
را انتخاب کنید. گزینه Remove Lagacy WebRTC API
را پیدا کنید و روی آن کلیک کنید تا WebRTC غیرفعال شود.