ما هو تسريب DNS وكيف تكشفه؟
تسريب DNS هو أن يرسل جهازك استعلامات أسماء المواقع خارج نفق VPN أو البروكسي، إلى خادم أسماء مزوّد الإنترنت في الغالب. يمر محتوى اتصالك عبر النفق، لكن أسماء المواقع التي تزورها تبقى مكشوفة لمزوّدك. وقد يرى الموقع نفسه أن اسمه حُلّ عبر خادم في بلدك الحقيقي، لا في بلد العنوان الذي تظهر به.
ماذا يحدث حين تكتب اسم موقع
الأجهزة لا تتصل بالأسماء بل بالعناوين الرقمية. قبل أن يفتح المتصفح example.com يسأل عن عنوانه، ويتولى ذلك نظام أسماء النطاقات (Domain Name System). تجري العملية عادةً على ثلاث خطوات:
- يرسل المحلّل الصغير في نظام التشغيل (stub resolver) سؤاله إلى خادم أسماء تكراري (recursive resolver) مضبوط في إعدادات الشبكة. هذا التقسيم بين الطرفين موصوف في RFC 1034.
- يتولى الخادم التكراري البحث كله نيابة عنك. يسأل خوادم الجذر، ثم خوادم النطاق الأعلى مثل .com، ثم الخادم الموثوق (authoritative) الذي يملك سجلات الموقع.
- يعيد الجواب إلى جهازك ويحفظه مدة محددة، فيفتح المتصفح اتصالاً بالعنوان الذي حصل عليه.
الاستعلام التقليدي نص غير مشفّر يُرسل إلى المنفذ 53، عبر UDP في الغالب وTCP أحياناً، كما يحدّد RFC 1035. لذلك يقرأ اسمَ الموقع كلُّ جهاز على المسار، ويراه الخادم التكراري مقروناً بعنوان من سأل.
أما الخادم الموثوق للموقع فلا يرى عنوان جهازك. هو يرى عنوان الخادم التكراري الذي سأله، وعلى هذه الملاحظة تقوم اختبارات التسريب كلها.
كيف يحدث التسريب
مع VPN للجهاز كله يُفترض أن يمر الاستعلام داخل النفق إلى خادم أسماء يختاره مشغّل النفق. يحدث التسريب حين يسلك الاستعلام طريقاً آخر، ولهذا أسباب متكررة:
- بقاء خادم الأسماء القديم. إن لم يغيّر برنامج النفق إعدادات DNS، يبقى النظام على الخادم الذي أعطاه إياه الراوتر. وإن كان هذا الخادم داخل الشبكة المحلية، مثل 192.168.1.1، فالطريق إليه محلي ولا يدخل النفق أصلاً.
- الاستعلام المتوازي في ويندوز. يرسل ويندوز افتراضياً استعلامات DNS عبر كل الشبكات المتصلة في وقت واحد لتسريع الجواب. تشرح ذلك وثائق مايكروسوفت لإعداد Turn off smart multi-homed name resolution. فتخرج نسخة من الاستعلام عبر بطاقة الشبكة العادية بجانب النفق.
- برنامج يحلّ الاسم قبل البروكسي. مع بروكسي SOCKS5 قد يحلّ البرنامج الاسم على جهازك ثم يرسل العنوان الرقمي إلى البروكسي. في curl مثلاً تعني البادئة socks5:// الحل على جهازك، وتعني socks5h:// الحل عند البروكسي. التفاصيل في الفرق بين SOCKS5 وبروكسي HTTP.
- خادم أسماء بعنوان IPv6. إن كان النفق يحمل IPv4 فقط، وأعلن الراوتر خادم أسماء بعنوان IPv6، فقد يذهب الاستعلام إليه خارج النفق. هذه الحالة مشروحة في تسريب IPv6.
- انقطاع النفق. في الثواني التي يسقط فيها النفق أو يعيد الاتصال، تعود الاستعلامات إلى الشبكة العادية ما لم يمنعها قاطع الاتصال.
- إعداد خاص في المتصفح. بعض المتصفحات تشغّل DNS مشفّراً إلى مزوّد تختاره هي. يبقى الاستعلام مشفّراً، لكنه يذهب إلى خادم غير الذي يحدّده النفق. انظر DNS عبر HTTPS.
في كل هذه الحالات يرى مزوّد الإنترنت، أو صاحب الخادم الذي وصل إليه الاستعلام، اسم الموقع وعنوانك الحقيقي معاً. ولا يتأثر بذلك محتوى الصفحات نفسها، فهي تمر عبر النفق كما يجب.
من يحلّ الاسم في كل طريقة اتصال
| طريقة الاتصال | من يحلّ الاسم | خطر التسريب |
|---|---|---|
| VPN للجهاز كله يضبط خادم أسماء داخل النفق | خادم مشغّل النفق | منخفض ما دام النفق قائماً |
| VPN لا يغيّر إعدادات DNS | خادم مزوّد الإنترنت أو الراوتر | مرتفع |
| بروكسي HTTP أو HTTPS | البروكسي، لأن البرنامج يرسل إليه اسم الموقع في الطلب | منخفض لحركة البرنامج المضبوط فقط |
| SOCKS5 مع حل الأسماء على الجهاز | جهازك عبر خادم مزوّدك | مرتفع |
| SOCKS5 مع حل الأسماء عند البروكسي | البروكسي | منخفض لحركة البرنامج المضبوط فقط |
البروكسي يخص البرنامج الذي ضُبط فيه وحده. بقية البرامج على الجهاز تحلّ أسماءها بالطريقة المعتادة، وهذا ليس تسريباً بل حدود الأداة.
كيف تفحص اتصالك بنفسك
فكرة الاختبار بسيطة. يُطلب اسم فرعي فريد تحت نطاق يملكه الفاحص، فلا يجد خادمك التكراري جواباً محفوظاً ويضطر إلى سؤال الخادم الموثوق لذلك النطاق. يسجّل الخادم الموثوق عنوان من سأله، فيعرف الفاحص أي خادم أسماء يستخدمه جهازك فعلاً.
بعض النطاقات تعيد إليك عنوان خادمك التكراري مباشرة، ويكفي لذلك أمر واحد يعمل في ويندوز ولينكس وماك:
nslookup whoami.akamai.net
nslookup -type=TXT o-o.myaddr.l.google.com
السطر Server في الناتج يعرض الخادم المضبوط في جهازك، وقد يكون عنواناً داخلياً للنفق. العنوان المهم هو الجواب نفسه: في الأمر الأول عنوان من نوع A، وفي الثاني نص بين علامتي تنصيص.
- شغّل الأمرين والنفق قائم، وانسخ العنوان الذي يظهر في الجواب.
- ابحث عنه في أداة البحث عن عنوان IP لترى شبكته وبلده.
- قارن النتيجة بعنوان الخروج الذي تعرضه أداة عنوانك. إن كانت شبكة الخادم هي مزوّد إنترنتك المنزلي، فاستعلاماتك تتسرّب.
- كرّر الفحص بعد إعادة الاتصال، وبعد الانتقال من Wi-Fi إلى بيانات الهاتف. كثير من التسريبات لا يظهر إلا لحظة تغيّر الشبكة.
الأداة المذكورة في آخر الصفحة تجري الاختبار نفسه من المتصفح بعدة أسماء فريدة دفعة واحدة، فتكشف أيضاً الحالات التي يسأل فيها الجهاز أكثر من خادم.
كيف تمنع التسريب
هذه الإجراءات صالحة مع أي مزوّد، وأغلبها إعداد مرة واحدة:
- اجعل خادم الأسماء جزءاً من إعداد النفق. في WireGuard يضبطه السطر DNS = في قسم [Interface]، ويجب أن يكون عنوانه ضمن ما يمر عبر النفق.
- امنع المنفذ 53 خارج النفق. قاعدة جدار ناري تمنع كل استعلام لا يمر بواجهة النفق تغلق معظم الأسباب السابقة معاً، ومنها الاستعلام المتوازي.
- عالج IPv6. إما أن يحمله النفق، وإما أن يُمنع على الجهاز ما دام النفق قائماً.
- مع البروكسي، اجعل الحل عنده. استخدم socks5h أو بروكسي HTTP، وتحقّق من إعداد كل برنامج على حدة.
- أعد الفحص بعد كل تحديث. تحديثات النظام وبرامج النفق قد تعيد إعدادات الشبكة إلى ما كانت عليه، فلا تعتمد على نتيجة فحص قديم.
تشفير DNS وحده لا يمنع التسريب بهذا المعنى. هو يخفي الاستعلام عمّن على المسار، لكن الخادم الذي يجيب يبقى يعرف الأسماء وعنوانك.
كيف نتعامل مع DNS في syriaproxy
في تطبيقاتنا وفي WireGuard تمر استعلامات الأسماء داخل النفق المشفّر، وتُحلّ داخل سوريا عبر خوادم سيريتل. وIPv6 ممنوع داخل النفق لأن الشبكة تعمل بـIPv4 فقط.
أسئلة شائعة
هل يكشف تسريب DNS عنواني الحقيقي للموقع؟
ليس مباشرة في الغالب. الموقع يرى عنوان الخادم التكراري، وهو يدل على مزوّدك وبلدك. أما مزوّد الإنترنت وصاحب الخادم التكراري فيرون الأسماء مقرونة بعنوانك.
هل يكفي أن تعمل المواقع بـHTTPS؟
لا. الاستعلام عن الاسم يحدث قبل اتصال HTTPS ومنفصلاً عنه، فيبقى مكشوفاً وإن كان محتوى الصفحة مشفّراً.
هل يمنع وضع التصفح الخفي التسريب؟
لا. هذا الوضع يمتنع عن حفظ السجل وملفات تعريف الارتباط على جهازك، ولا يغيّر طريقة حل الأسماء ولا الطريق الذي تسلكه.
ظهر خادم أسماء في بلد غير بلد عنواني، فهل هذا تسريب؟
ليس بالضرورة. بعض مشغّلي الأنفاق يستخدمون خوادم أسماء في بلد آخر أو خوادم موزّعة. التسريب هو أن يظهر خادم مزوّد إنترنتك أو الشبكة التي تتصل منها فعلاً.
افحص اتصالك الآن بأداة فحص تسريب DNS المجانية.