4601 ,

منذ أن تم تبديد أسطورة عدم الكشف عن هويته على الإنترنت، انضمت مسألة خصوصية المستخدم إلى قائمة القضايا الأكثر إلحاحا. لا يمكن فقط تتبع أنشطتك عبر الإنترنت محركات البحثوالمواقع التي تزورها، وكذلك مزودي خدمة الإنترنت لديك. من الناحية الفنية، هذا ليس بالأمر الصعب إذا DNSيتم إصداره لك من قبل المزود، وهذا يحدث غالبًا، كل شيء يمر عبره DNSيمكن تتبع حركة المرور من خلاله، خاصة منذ ذلك الحين DNS-يتم إرسال الطلبات عبر اتصال غير مشفر.

من الواضح أن استبدال الحزم التي تم اعتراضها لن يكون صعبًا حتى لو كنت تستخدمها VPN-خدمات.

الطريقة الوحيدة لإغلاق الثغرة هي من خلال التشفير. DNS-حركة المرور، ولكن لهذا سوف تحتاج إلى خاص برمجة، حيث لا شيء من ذلك أنظمة التشغيللا يدعم التشفير DNSخارج الصندوق. أبسط أداة التشفير DNS- حركة المرور - صغيرة فائدة مجانية، تتميز بشكل مفيد بحقيقة أنها لا تتطلب ذلك إعدادات إضافيةمما يعني أنه يمكن استخدامه من قبل المبتدئين. هناك أداة وحدة التحكم - وكيل DNSCrypt، لكنك بحاجة إلى العبث بها - قم بتنفيذ سلسلة من الأوامر فيها بوويرشيل، تغيير العنوان DNSيدوياً وهكذا. أرجو من لديه الوقت والرغبة أن يتعرف عليها على الصفحة github.com/jedisct1/dnscrypt-proxy .

نقترح استخدام إصدار سطح المكتب الأبسط والأكثر ملاءمة DNS- التشفير. قم بالتنزيل من موقع المطور simplednscrypt.orgإصدار البرنامج الذي يتوافق مع مستوى بت نظام التشغيل الخاص بك وتثبيته.

وهي مجهزة بواجهة سهلة وبديهية، وعلاوة على ذلك، باللغة الروسية، حتى تتمكن من معرفة ما هو بسهولة. يتم إجراء الإعدادات الأساسية في القسم "قائمة طعام". لبدء استخدام البرنامج، مباشرة بعد التثبيت، انقر فوق الزر "يتقدم"، ثم اختر ما يناسبك أدناه بطاقة الشبكة، يجب تحديده كما هو موضح في لقطة الشاشة. يُحوّل "خدمة DNSCrypt"يجب أن تكون نشطة.

من السهل التحقق مما إذا كان كل شيء يعمل. تنفيذ في النافذة يجريفريق ncpa.cpl، افتح خصائص اتصالك، واختر من القائمة إصدار IP 4 (TCPIPv4)وفتح خصائصه. زر الراديو "استخدم عناوين خادم DNS التالية"يجب أن تكون نشطة، ويجب أن يشير الحقل إلى المفضل DNS-الخادم. لدينا ذلك 127.0.0.1 ، قد يكون عنوانك مختلفًا.

افتراضيًا، يقوم البرنامج تلقائيًا بتحديد أسرع خادم، ولكن يمكنك تغيير تفضيلاتك عن طريق تحديده بنفسك في القسم.

لا يلزم تغيير معلمات القسم إذا كنت لا تستخدم البروتوكول IPv4. في الإعدادات العامةيمكنك تمكين علامات تبويب إضافية "القائمة السوداء للنطاقات", "سجل حظر النطاق"، ولكن هذا مرة أخرى، إذا كنت ستعمل مع الوظائف التي تقدمها، على وجه الخصوص، التأليف "أسود"قوائم المجال.

باستخدام nstx، من الممكن إنشاء نفق IP داخل DNS. البروتوكول الذي يحمل نفس الاسم والذي يسمح لك بتحقيق ذلك يسمى "" ويرمز إلى "" بروتوكول نقل خادم الاسم».

لذا، لنفترض أن الموفر يصدر مشكلات ويسمح لك باستخدام خادم DNS الخاص به. لنتخيل طلب DNS عادي: نطلب معلومات عن خادم اسم الموفر، ويقوم خادم الموفر بتمرير الطلب إلى خادم اسم آخر، وهو المسؤول عن المنطقة التي نحتاجها. ويرسل خادم DNS الأخير في السلسلة الاستجابة المستلمة مرة أخرى على نفس المسار.

تخيل الآن أنه يمكنك تنسيق حزم IP في استعلامات DNS من خادم الأسماء و"تشكيل" حركة المرور الواردة في الحزم التي نحتاجها. والآن لدينا بالفعل كل شيء لبناء "IP عبر DNS" كامل - خاص بنا النفق المخفيلإعادة توجيه حركة المرور عبر أي جدران حماية تابعة لجهة خارجية تقريبًا!

الآن كل ما تبقى هو تكوين خادم الأسماء والعميل المزيفين، ولكن من الناحية العملية، فإن هذا ليس بهذه السهولة دائمًا.

الحد الأقصى لحجم الحزمة التي يمكن إرسالها هو 512 بايت كحد أقصى عبر بروتوكول UDP. لذلك، سنحتاج إلى آلية تجميع/تفكيك تقوم بجمع وتفكيك الحزم المجزأة والتحقق من صحتها. في هذا المخطط، يمكن لعميل DNS المزيف لدينا التواصل مع خادم DNS المزيف الخاص بنا باستمرار، ولكن خادم DNS الخاص بنا يمكنه الاستجابة فقط. ولذلك، سيكون العميل مسؤولاً عن المصالحة والحفاظ على التواصل في الاتجاهين.

المرة الأولى التي حاولت فيها القيام بذلك كانت في عام 2008. لمدة أسبوعين، عملت ببطء على هذه الحزمة، وقمت بتعديل كود المصدر ليناسب نفسي، وأعدت قراءة الأدلة، ونتيجة لذلك، تلقيت نفق عمل تم إنشاؤه بنجاح من خلال جدار الحماية فائق الأمان لشبكة شركتنا. ثم كان الأمر لا يصدق بالنسبة لي!

بشكل عام، مع القليل من الرغبة والوقت، يمكنك تشغيل خادم اسم عميل مزيف بشكل مستقل لإنشاء نفق "IP-over-DNS".

العب، حاول. ابحث عن طرق لحماية نفسك من هذا. أحذرك مسبقًا من أن هناك الكثير من الفروق الفنية هنا.

تعتقد أن سرية هويتك محمية بشكل موثوق. ولكن لسوء الحظ ليس هذا هو الحال. هناك قناة واحدة مهمة جدًا لتسريب معلوماتك الخاصة، وهي خدمة DNS. ولكن لحسن الحظ، تم أيضًا اختراع حل لهذا الأمر. سأخبرك اليوم بكيفية تشفير حركة مرور DNS الخاصة بك باستخدام الأداة المساعدة DNSCrypt.

عند استخدام HTTPS أو SSL، يتم تشفير حركة مرور HTTP الخاصة بك، أي أنها محمية. عند استخدام VPN، تكون كل حركة المرور الخاصة بك مشفرة بالفعل (بالطبع، كل هذا يتوقف على إعدادات VPN، ولكن كقاعدة عامة، هذا هو الحال). لكن في بعض الأحيان، حتى عند استخدام VPN، لا يتم تشفير استعلامات DNS الخاصة بك، بل يتم إرسالها كما هي، مما يفتح مجالًا كبيرًا للإبداع، بما في ذلك هجمات MITM وإعادة توجيه حركة المرور وغير ذلك الكثير.

هذا هو المكان الذي تأتي فيه الأداة المساعدة DNSCrypt مفتوحة المصدر للإنقاذ، والتي طورها منشئو OpenDNS المشهورون - وهو برنامج يسمح لك بتشفير طلبات DNS. بعد تثبيته على جهاز الكمبيوتر الخاص بك، ستكون اتصالاتك محمية أيضًا وستتمكن من تصفح الإنترنت بشكل أكثر أمانًا. بالطبع، DNSCrypt ليس حلاً سحريًا لجميع المشكلات، ولكنه أداة واحدة فقط من أدوات الأمان. لا تزال بحاجة إلى استخدام اتصال VPN لتشفير كل حركة المرور، ولكن إقرانها بـ DNSCrypt سيكون أكثر أمانًا. إذا كنت راضيًا عن هذا الشرح الموجز، فيمكنك الانتقال فورًا إلى القسم الذي سأصف فيه تثبيت البرنامج واستخدامه.

دعونا نحاول أن نفهم بشكل أعمق. هذا القسم مخصص للمصابين بجنون العظمة حقًا. إذا كنت تقدر وقتك، فيمكنك البدء على الفور في تثبيت البرنامج.
لذلك، كما يقولون، من الأفضل أن ترى مرة واحدة من أن تسمع مائة مرة. انظر إلى الصورة.


لنفترض أن العميل (الكمبيوتر المحمول الموجود في الصورة) يحاول الوصول إلى google.com أولاً، يجب عليه ذلك
حل اسم المضيف الرمزي إلى عنوان IP. إذا كان تكوين الشبكة بحيث يتم استخدام خادم DNS الخاص بالموفر (اتصال غير مشفر، خط أحمر في الشكل)، فإن تحليل الاسم الرمزي لعنوان IP يحدث عبر اتصال غير مشفر.

نعم، لن يعرف أحد ما هي البيانات التي سترسلها إلى dkws.org.ua. ولكن هناك بعض اللحظات غير السارة للغاية. أولا، سيتمكن المزود، من خلال النظر في سجلات DNS، من معرفة المواقع التي قمت بزيارتها. هل تحتاجها؟ ثانيًا، من المحتمل حدوث هجمات انتحال DNS وتطفل DNS. لن أصفهم بالتفصيل، وقد تم بالفعل كتابة العديد من المقالات حول هذا الموضوع. باختصار، يمكن أن يكون الوضع على النحو التالي: يمكن لشخص ما بينك وبين المزود اعتراض طلب DNS (وبما أن الطلبات غير مشفرة، فلن يكون من الصعب اعتراض الطلب وقراءة محتوياته) وإرسال " رد زائف". ونتيجة لذلك، بدلاً من زيارة موقع google.com، ستنتقل إلى موقع المهاجم، وهو بالضبط مثل الموقع الذي تحتاجه، وستقوم بإدخال كلمة المرور الخاصة بك من المنتدى، وبعد ذلك أصبح تطور الأحداث واضحًا.

الحالة الموصوفة تسمى تسرب DNS. يحدث تسرب DNS عندما يستمر نظامك، حتى بعد الاتصال بخادم VPN أو Tor، في الاستعلام عن خوادم DNS الخاصة بالموفر لحل أسماء النطاقات. في كل مرة تزور فيها موقعًا جديدًا، أو تتصل بخادم جديد، أو تطلق شيئًا ما تطبيق الشبكة، يتصل نظامك بـ DNS الخاص بمزود خدمة الإنترنت لتحليل الاسم إلى IP. ونتيجة لذلك، يمكن لموفر الخدمة الخاص بك أو أي شخص موجود على "الميل الأخير"، أي بينك وبين المزود، الحصول على جميع أسماء العقد التي تصل إليها. يعد خيار استبدال عنوان IP أعلاه قاسيًا للغاية، ولكن على أي حال من الممكن تتبع العقد التي قمت بزيارتها واستخدام هذه المعلومات لأغراضك الخاصة.

إذا كنت "خائفًا" من مزود الخدمة الخاص بك أو ببساطة لا تريده أن يرى المواقع التي تزورها، فيمكنك (بالطبع، بالإضافة إلى استخدام VPN وغيرها من التدابير الأمنية) بالإضافة إلى ذلك تكوين جهاز الكمبيوتر الخاص بك لاستخدامه خوادم DNSمشروع OpenDNS (www.opendns.com). على في اللحظةهذه هي الخوادم التالية:

208.67.222.222
208.67.220.220

لا تحتاج إلى أي برامج إضافية أخرى. ما عليك سوى تكوين نظامك لاستخدام خوادم DNS هذه.

لكن مشكلة اعتراض اتصالات DNS لا تزال قائمة. نعم، لم تعد قادرًا على الوصول إلى DNS الخاص بالموفر، بل إلى OpenDNS، ولكن لا يزال بإمكانك اعتراض الحزم ومعرفة ما بداخلها. وهذا يعني، إذا كنت ترغب في ذلك، يمكنك معرفة العقد التي قمت بالوصول إليها.

نأتي الآن إلى DNSCrypt. يتيح لك هذا البرنامج تشفير اتصال DNS الخاص بك. الآن لن يعرف مزود خدمة الإنترنت (وكل من بينك وبينهم) بالضبط ما هي المواقع التي تزورها! سأكررها مرة أخرى. هذا البرنامج ليس بديلاً عن Tor أو VPN. كما كان من قبل، يتم نقل بقية البيانات التي ترسلها دون تشفير إذا كنت لا تستخدم VPN أو Tor. يقوم البرنامج فقط بتشفير حركة مرور DNS.


كخاتمة

لم تكن المقالة طويلة جدًا، نظرًا لأن البرنامج نفسه سهل الاستخدام للغاية. لكنها لن تكون كاملة إذا لم أذكر VPN. إذا قرأت هذه المقالة وكنت مهتمًا بها، ولكنك لم تستخدم بعد خدمات مزود VPN لتشفير بياناتك، فقد حان الوقت للقيام بذلك.
سيوفر لك موفر VPN نفقًا آمنًا لنقل بياناتك، وسيقوم DNSCrypt بتأمين اتصالات DNS الخاصة بك. بالطبع، خدمات مزودي VPN مدفوعة، ولكن عليك أن تدفع مقابل الأمان، أليس كذلك؟

يمكنك، بالطبع، استخدام Tor، لكن Tor يعمل ببطء نسبيًا، وبغض النظر عما قد يقوله المرء، فهو ليس VPN - لن يكون من الممكن "تعذيب" كل حركة المرور. على أية حال (أيًا كان الخيار الذي تختاره)، أصبحت اتصالات DNS الخاصة بك آمنة الآن. كل ما تبقى هو اتخاذ قرار بشأن وسيلة تشفير حركة المرور (إذا لم تكن قد قمت بذلك بالفعل).

يقوم البرنامج بمسح استجابات DNS من الخوادم (هذا يكفي، هناك استعلامات داخل الردود)، وإذا كان اسم المجال يتطابق مع تعبير عادي، فإنه يطبع العنوان من سجل A (ما تم الحصول عليه نتيجة للحل).

باستخدام هذه الأداة المساعدة، يمكنك جمع جميع الإحصائيات تقريبًا - اسم المجال الذي تم تحويله إلى عنوان IP، ومتى حدث ذلك. يمكن للمستخدم المدرب، بالطبع، إخفاء هذه المعلومات (عن طريق كتابة العقدة إلى ملف المضيفين، أو استخدام قناة أخرى لاستعلامات DNS، على سبيل المثال)، ولكن بالنسبة لغالبية العقد سنحصل على صورة مرضية.

كيف يعمل هذا:

$ سودو ./sidmat eth0 "." iu
نحن نرى أسماء النطاقاتوما يحلونه (eth0 هي الواجهة التي تمر عليها حركة مرور DNS).

$ سودو ./sidmat eth0 "." وحدة دولية | بينما IFS= سطر قراءة -r؛ قم بطباعة "%s\t%s\n" "$(date "+%Y-%m-%d %H:%M:%S")" "$line"; منتهي
نحن نصلح الوقت. كل ما تبقى هو إعادة توجيه النتيجة إلى ملف، ويمكنك استخدام جدول المراسلات. يمكن للأداة المساعدة التقاط استجابات DNS باستخدام pcap (على Linux/BSD) أو باستخدام آلية nflog على Linux.

يمكن استخدام نفس التقنية للتحكم في حركة المرور. التصفية حسب المجال، والحصول على عناوين المجال من الكلمات الرئيسيةفي الأسماء الخ

عليك أن تضع في اعتبارك أن التحكم قد لا يكون دقيقًا للغاية. إذا وصلت استجابة DNS إلى المستخدم بحلول الوقت وبدأ في نقل حركة المرور إلى هذه العقدة، فلن يكون لدينا الوقت لإضافة العنوان إلى ipset/iptables/جدول التوجيه/في مكان آخر، فستسير حركة المرور بالطريقة "العادية" .

بالإضافة إلى ذلك، يمكن للمستخدم المؤهل إنشاء استجابات DNS خاطئة، مما يعني أنه من الأفضل استخدام ذلك بحذر عند القيام بعمليات انتقامية.

بعض الأمثلة:

كيفية الحصول على قائمة بعناوين IP التي يتم حل vk.com ونطاقاتها الفرعية بها؟ (بدون الخيار "u"، سيتم طباعة عناوين IP الفريدة فقط)

$ Sudo ./sidmat eth0 "^vk.com$|\.vk.com$" د
باستخدام الخيارين "d" أو "i" يمكنك معرفة المجال الذي تم تحويله إلى عنوان IP، ويقوم "d" بطباعة اسم المجال إلى stderr.

كيفية حظر العناوين التي تسمح لـ vk.com ونطاقاته الفرعية وجميع النطاقات بكلمة odnoklassniki؟ (لن تندرج نطاقات مثل avk.com تحت القاعدة، بل إن odnoklassnikii.com سوف تندرج تحت هذه القاعدة).

$ Sudo sh -c "/sidmat eth0 "^vk\.com$|\.vk\.com$|odnoklassniki" | /usr/bin/xargs -I () /sbin/iptables -A INPUT -s () - ي قطرة"
بالإضافة إلى التعبيرات العادية الصغيرة، يمكنك استخدام القوائم في ملف (الخيار "f"، يتم تفسير الوسيطة الثانية على أنها اسم الملف، ومحتوياته كتعبير عادي كبير واحد). يمكن أن تكون القوائم كبيرة جدًا، وقد نظرنا إلى الأداء في قائمة مجال RKN (تمت إعادة توجيه حركة المرور إلى المجالات المحظورة إلى VPN)، وكان جهاز التوجيه العادي للكمبيوتر الشخصي يتعامل مع هذا بهدوء تام.

يمكنك المساعدة وتحويل بعض الأموال لتطوير الموقع