بسم الله الرحمن الرحيم
اولا: ما هو DNS ؟
هو اختصار لجمله (Domain Name System),وهو نظام يقوم بتخزين المعلومات المتعلقه باسماء النطاقات (Domain Name) الموجوده في قاعده البيانات الموزعه على الانترنت.حيث في كل مره نقوم فيها بكتابه رابط صفحه في المتصفح يتم ارسال طلب ل DNS . ثم يقوم هذا النظام بمطابقه اسماء النطاقات مع عناوين الاي بي الموجوده في مكان استضافه الموقع ثم يقوم DNS بارسال عنوان اي بي الموقع المطلوب للمتصفح ليتم عرضه.
فيديو توضيحي:
ثانيا: لماذا الDNS
- بسبب ان الحواسيب لا تفهم اللغات التي يستخدمها البشر فهي تفهم xxx.xxx.xxx.xxx قد يكون ارقام فقط وهذا يكون بالنسبه لIPv4 او ارقام وحروف لIPv6 , ولكن بالنسبه للبشر هذا مستحيل ان يتذكر هذه الارقام والاحرف لكي يذهب الى موقع واحد لذا وجد هذا الحل وهو استخدام الDNS فعندما تكتب discourse.aosus.org سيطلب الحاسوب عبر الDNS الIP الخاص باسس ومنه يتصل الحاسوبين وهو متمثل بهذه الرسمه:
-
اذا قام الموقع بتغيير الIP الخاص به فلن تخسر الاتصال به فالDNS يتكفل بتحديث ذلك لك واعطائك الIP الجديد لحاسوبك.
-
ثالثا: مشاكل الDNS
للDNS مشاكل كثيره ساذكر بعضها من باب التوضيح ليس من باب الحصر:
طلبت موقع discourse.aosus.org من الDNS وهنا مهاجم قام بحقن DNS ليتلاعب بالطلب الذي قمت به فسيقوم مثلا باعطائك الIP الغير صحيح لعنوان اسس ومثل بدلاً من discourse.aosus.org يحولك الى aosus.com او aosos.org…الخ (ستقول ماذا عن شكل الموقع فسيكون مختلف فاعرف انني في المكان الخطأ؟ هناك ادوات عديده تقوم بنسخ شكل الموقع و وضعها على الموقع الاخر ليوهمك انك على الموقع المراد الوصول اليه)
-
التحكم مسيطر عليك وكذلك رؤيه كل شيء تقوم بطلبه من الDNS فهذا يؤدي الى ضرر كبير بالخصوصيه والامن (لا يوجد لهذا حل حقيقي فيجب عليك الوثوق باحد مزودي الDNS للانترنت العادي)
-
معلومات اكثر:
** DNS Cache Poisoning - Computerphile
** GNUnet at FOSDEM20 (2020)
رابعا: طرق الحمايه (ساذكر اشهرها وهي DNSSEC و DOH)
DNSSEC: يجب عليك اضافته اما للنظام الذي تستخدمه او للراوتر الخاص بك (للراوتر افضل ان امكن), فائدته منع عمليه التلاعب في طلبات الDNS.
من اين الحصول على DNS يدعم الDNSSEC مثال:
-
يفضل مراجعه قائمه PrivacyGuides
-
OpenNIC (انتبه الى الشارات التي تقول انه يدعم الDNSSEC ولا يقوم بعمل Log وايضا انه يعمل PASS)
-
DNS.WATCH (لا يقوم بعمل log)
كيف تقوم باضافتها في توزيعتك: (التوزيعات الديبيانيه)
- قم بتسطيب resolvconf (بعض التوزيعات تكون مسطبه معها بشكل تلقائي)
sudo apt install resolvconf
- اذهب الى resolv.conf
sudo nano /etc/resolv.conf
امسح كل شيء وقم بوضع nameserver ثم الIP الذي اخترته بهذا الشكل
nameserver x.x.x.x
nameserver x.x.x.x
ثم ctrl+x ثم y ثم Enter (للحفظ والخروج)
ملاحظه
: هذا يعني انك ستتجاوز الDNS الخاص بمزود خدمه الانترنت لديك(لا يعني انك متخفي), ولكن مزودي الDNS البديل فقط يحل محلهم بكامل الصلاحيات.
ملاحظه
: اذا استخدمت VPN او Tor او I2P …الخ فستسخدم بهذه الحاله الDNS الخاص بهم بشكل تلقائي وهذا يغنيك عن استخدام DNS خارجي (بالنسبه للVPN بما انه مسيطر من قبل شركه (اذا لم يكن تحت سيطرتك على سيرفر خارجي) فسيعرفون ماذا تفعل, بالنسبه لتور وما شابه فلا يمكن معرفه ذلك)
DOH (يقوم باخفاء طلبات عنوان المواقع بالنسبه لمزود الخدمه لديك عن طريق ECH وبدى عليه فوائد في الاستخدام ذلك وضح هنا, لكن لا يعني انك متخفي حيث انه يعلم اي IP تطلبه وهناك بعض المعضلات له اقرا هنا و هنا)
فايرفوكس (وما يشابه او بني عليه مثل icecat,iceweasel…)
اذهب الى العنوان في اعلى المتصفح واكتب about:config ثم ابحث عن trr ثم ستجد في الخيارات network.trr.mode وغيره من 0 الى 3
في الabout:config ايضا ابحث عن:
network.dns.echconfig.enabled وغيرها من false الى true
network.dns.use_https_rr_as_altsvc وغيرها من false الى true
network.http.http3.enabled وغيرها من false الى true (تفيد في حال اعتمد بشكل موسع DOQ او DOH over HTTP/3 z راجع هنا)
اذهب الى Preferences يمكن ذلك عن طريق وضع about:preferences في مكان العنوان في اعلى المتصفح بعدها اذهب الى اسفل الصفحه اضغط على …Settings تحت الNetwork Settings ثم اذهب الى الاسفل وفعل Enable DNS over HTTPS ثم اختر custom من Use Provider
يفضل اختيار DOH لا يقوم بعمل Log من هذه القائمه على سبيل المثال
بعدها اذهب هنا للتاكد من ان ال Encrypted SNI يعمل.
خامسا : ما هي تسريبات الDNS
متصفحات الانترنت العادي (فايرفوكس , كروميوم) لا تعتبر ان المستخدم غالباً سيستخدمها مع VPN او شيء مشابه لذلك لا تقوم بغلق التسريبات في المتصفح وما نقصده بالتسريبات هنا هو استخدام الDNS الخاص بمزود الخدمه لديك بدلا من استخدام الDNS الخاص بالVPN (وهذا ينفي فائده الVPN في حمايه ماذا تفعل/تتصفح) واشهر تسريب لذلك هو الwebRTC (راجع موضوع كيف تقلل تسريبات متصفح Firefox للحفاظ اكثر على خصوصيتك لكي تحمي نفسك اكثر). للتاكد من ان المتصفح لا يسرب هناك مواقع كثيره تقوم بالفحص على سبيل المثال هنا.
اضافات وزيادات:
- يفضل عمل سيرفر DNS خاص بك (لكن معقد للغايه عمله)
- في بعض الراوترات تستطيع ان تجعلها ايضاً DNS داخلي (Openwrt,DDwrt ,وغيرهم يدعمون ذلك. راجع فيرموير الراوترات الحره والمفتوحه المصدر)
- DNS Over TLS (DOT)
- DNSCrypt
- Anonymized DNS
- Namecoin , Handshake
- GNUnet

