چرا به فایرفاکس می گن خرابکار اینترنت؟ پروتکل DoH چیه؟!

توی این مطلب می خوام یه معرفی از پروتکل DoH بکنم و اینکه چرا به خاطر این پروتکل به فایرفاکس می گن خرابکار اینترنت؟! پروتکل DNS-over-Https یا DoH یه پروتکلی که جدیدا اومده رو بورس و استفاده ازش رایج شده و مرورگر فایرفاکس هم اولین مرورگری هستش که داره پشتیبانیش می کنه! هرچند این قابلیت به صورت پیشفرض توی فایرفاکس فعال نیست ولی شما می تونید به راحتی با چند تا قدم ساده توی فایرفاکس اون رو فعال کنید البته قبل از اینکه من بخوام بگم که این پروتکل چه جوری توی فایرفاکس فعال میشه اول ببینیم که اصلا این پروتکل چی هست؟!

DNS-over-HTTPS چه طور کار میکنه؟

اگه با پروتکل DNS اشنایی داشته باشین می دونید که این پروتکل درخواست های مبنی بر ترجمه ادرس دامین رو به IP انجام میده و از پورت 53 استفاده می کنه و البته که درخواست هاش رو به صورت متنی و به اصطلاح plain text به سرور DNS ارسال میکنه ! 

پروتکل DNS-over-HTTPS هم همین کار رو انجام می ده با این تفاوت که این کار از طریق مرورگر و روی پورت 443 و با استفاده از پروتکل HTTPS انجام میشه. تمامی این درخواست ها هم به صورت رمز شده و به اصطلاح Encrypted ارسال میشن!

با این کار DoH همه درخواست های DNS مارو توی ترافیک های معمول HTTPS که توی همه فایروال ها و شبکه ها ارسال میشه به صورت رمز شده ارسال میکنه به همین دلیل سروریس دهنده های اینترنت که معمولا ISP ها و یا سازمان ها و ارگان های دیگه هستند نمیتونند متوجه درخواست های کاربرا بشن و به اصطلاح ترافیک ما رو sniff کنند.

نکته مهم اینه که DNS Server هایی که این درخواست ها رو دریافت می کنند هم باید از این قابلیت پشتیبانی کنند.

نکته جالب دیگه این پروتکل اینه که برنامه ها و اپلیکیشن هایی مثل چیزتر شکن ها هم میتونند به راحتی یه لیستی از سروهایی که روش کار می کنند رو به همراه DNS Server مورد نیازشون که از DoH پشتیبانی می کنند رو توی خودشون به صورت هارد کد شده نگه دارند و با این کار تمامی درخواست هاشون رو به سرورهای خودشون بدون این که کسی بفهمه که به کجا درخواست میدن ارسال کنند و از فیلتر شدن خودشون جلوگیری کنند!

چرا به فایرفاکس میگن خرابکار اینترنت؟

همونطور که گفتم خیلی از برنامه ها و اپلیکیشن ها و وب سایت ها مثل سایت هایی که دارای کپی رایت هستند و سایت هایی که محتواهای غیر اخلاقی توی خودشون دارند میتونند با استفاده از این قابلیت محدودیت های دولت ها و ISP ها رو دور بزنند.توی سال 2019 شرکت های ارائه دهنده خدمات اینترنتی یا همون ISP ها توی انگلیس فایرفاکس رو هم به خاطر آزمایش های مربوط به استفاده از این پروتکل به عنوان خرابکار اینترنت معرفی کردند!

چطور DoH رو توی فایرفاکس فعالش کنیم؟

به سادگی!! به صورت پیش فرض این قابلیت به همون دلایلی که بالا گفتم توی فایرفاکس غیر فعاله ولی شما به راحتی می تونید با طی کردن مراحلی که میگم فعالش کنید:

1- اولین کار اینه که برید توی مرورگر و یه تب جدید باز کنید و about:config رو تایپ کنید و اینتر کنید و بعد هم i accept the risk رو بزنید!

TOSINSO 

2- مرحله دوم اینه که توی صفحه باز شده توی سرچ باکس بالای صفحه دنبال network.trr.mode بگردید این گزینه مقدار پیشفرض 0 داره و قابل تغییر به اینهاست:

  • 1 یعنی که DoH فعال باشه ولی فایرفاکس بین DNS معمولی و DoH هرکدوم که سریع تر بود رو استفاده می کنه

  • 2 یعنی که DoH فعال باشه و DNS معمولی به عنوان بکاپ کار کنه

  • 3 یعنی DoH فعال باشه و DNS معمولی غیر فعال باشه

  • 5 یعنی که DoH غیر فعال باشه.

3- توی مرحله سه می تونید با تغییر network.trr.uri سرور DoH رو مشخص کنید که مقدار پیشفرضش DoH سرور موزیلا توی Cloudflare هست به این آدرس:

https://mozilla.cloudflare-dns.com/dns-query<br>

می تونید از سرور گوگل هم استفاده کنید به این آدرس:

https://dns.google/dns-query

لیستی از DoH سرور ها رو هم میتونید توی این لینک ببینید!

4- توی مرحله 4 هم که ضروری نیست می تونید با تغییر network.trr.bootstrapAddress  اگه دوست داشتید آدرس IP سرور DoH رو وارد کنید که برای cloudflare مقدار 1.1.1.1 هست.

برای اطمینان از اینکه تغییرات اعمال شدن یه بار مرورگرتون رو ببندید و باز کنید.


مرتضی امیدیان

موفق باشید.

منبع Mozilla Wiki

7 نظر
محمد حسن پزشکیان

سلام واقعا متن خوبی بود خبرشو امروز شنیدم ولی اطلاعاتی نداشتن ممنون ک گفتید

راستی

البته که درخواست هاش رو به صورت متنی و بدون.... به سرور DNS رمز ارسال میکنه

بعد بدون کنجکاو شدم بدونم چی بود :)

مرتضی امیدیان

ممنونم محمد حسن عزیز

متن رو اصلاح کردم!

علی آقامیری

خیلی جالب بود ، ممنون.

محمد

مقاله جالبی بود ، ممنون.

میشه قسمت عدم چیلتر شدن خود چیلتر شکن ها بیشتر توضیح بدید؟

هدر IP هم رمز میشه ؟ یعنی از روی IP نمیشه DNS SERVER رو پیدا کرد؟


مرتضی امیدیان

محمد جان ممنونم ازت به نکته خیلی خوبی اشاره کردی D:

توی متن یه اشتباهی بود که اصلاح شد برای درک بهتر موضوع توضیحاتی رو میدم:

توی https قبل از عبور دیتا و tls handshake یه کانکشن tcp بین سرور روی پورت و ip مبدا و مقصد تشکیل میشه و بعد ارتباط به صورت امن برقرار میشه. به تصویر دقت کنید! توی ارتباط Https بعد از تبادل کلید و handshake کلیه پکت ها به علاوه هدر اونها هم رمز میشه! از روی client hello و server hello هم میشه یه سری اطلاعات رو از روی SNI (Server Name Indication) و کلا hello ها به دست اورد مثل اسم دامنه و ... که توی به دست اوردن certificate درست برای وب سرور و ... کمک میکنه

TOSINSOبرای DoH هم دقیقا اتفاقی که میافته، اتفاقی هست که برای درخواست های HTTPS میافته کل درخواست مربوط به DNS توی درخواست HTTPS رمز میشه

هرچند از روی پکت های عبوری میشه ادرس DNS server رو فهمید ولی نمیشه request های ارسال شده به DNS server رو به دست آورد چون رمز شده هستند. و یه ارتباط امنی بین کلاینت و dns server برقرار میشه. توی تصویر دوم من خروجی وایرشارک مربوط به درخواستهای DNS توسط DoH رو که به سرور 1.1.1.1 فرستاده میشه رو قرار دادم واضحه که عملیات تصویر اول داره اتفاق میافته!

Wireshark output of DoH requests
محمد عابدینی

سلام مهندس جان

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

مرتضی امیدیان

سلام محمد عزیز

آره امکان خیلی خوبیه، من خودم شخصا خیلی دوسش داشتم!

به نظر می رسه مرورگر ها و ابزارهای دیگه ای هم هستن که ساپورتش کنن ولی من تست نکردم توی این لینک


TOSINSO
نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....