تم تنفيذ معيار SNI المشفر في Firefox Nightly

كان فايرفوكس هو أول متصفح يقوم بتطبيق تشفير TLS Server Directory Indication (SNI) . تم تقديم دعم ESNI في أحدث إصدار من Firefox Nightly ، حيث يتم طرح جميع الابتكارات قبل إضافتها إلى الفرع الرئيسي.

تمت مناقشة أهمية هذا المعيار قبل شهر من قبل مزود CloudFare CDN. باختصار ، يقوم ESNI بتشفير المعلومات حول النطاق الذي ترسل الطلب إليه. في HTTPS القياسي ، لا يتم تشفير الرؤوس التي تحتوي على أسماء نطاقات وهي متاحة للعرض بواسطة الموفر أو "شخص آخر في المنتصف". الآن يرى عنوان IP فقط. نظرًا لأنه يمكن وضع مئات المجالات على نفس عنوان IP على الإنترنت الحديث ، يخفي ESNI بشكل فعال معلومات حول النطاق الذي يسجل المستخدم الدخول إليه.

وهكذا ، فإن الحظر بالاسم يتوقف عن العمل ، وتصبح الرقابة على الإنترنت معقدة للغاية. سيتعين على المراقبين حظر عناوين IP ، وهي ممارسة مشكوك فيها. يمكن أن يؤثر هذا الحظر على المواقع غير ذات الصلة ، ويمكن أن تتحول الخدمة المحظورة (تلقائيًا) بسهولة إلى عنوان IP آخر.

لماذا تتألق أسماء المضيفين في TLS SNI عادي؟ والحقيقة هي أنه قبل بدء التشفير ، يحتاج الخادم إلى معرفة النطاق الذي يصل إليه العميل من أجل تقديم الشهادة اللازمة. لهذا السبب ، يتم إرسال اسم المضيف بنص عادي (أسفل الرسم التوضيحي من مدونة Cloudflare ).



في SNI (ESNI) المشفرة ، يتم حل هذه المشكلة على النحو التالي: يأخذ العميل المفتاح العام للخادم من DNS ويقوم بتشفير جميع البيانات معه حتى يتم إنشاء جلسة TLS.


دعم المتصفح لمتصفح Firefox Nightly يعني أن ESNI ستعمل مع كل موقع / مزود يدعمه.

يوضح مطورو Mozilla أن هناك أربع طرق رئيسية لتسرب محفوظات الاستعراض الخاصة بك:

  1. رسالة شهادة TLS
  2. تحليل اسم DNS
  3. عنوان IP للخادم
  4. إشارة اسم خادم TLS.

حتى الآن ، أحرزوا تقدمًا جيدًا في إغلاق أول قناتين للتسرب: معيار TLS 1.3 الجديد يشفر شهادة الخادم الافتراضية (القناة 1) ، وخلال الأشهر القليلة الماضية ، كانت موزيلا تدرس استخدام DNS عبر HTTPS لحماية حركة مرور DNS (القناة 2). نتائج الاختبار ليست سيئة ، وفي الأشهر المقبلة سيتم طرح الوظيفة لجميع مستخدمي Firefox. لا يزال عنوان IP يمثل مشكلة ، ولكن في العديد من الحالات تشترك عدة مواقع في نفس عنوان IP ، لذا فإن قناة التسريب الرئيسية هي SNI.

في وقت واحد ، بدأ استخدام تقنية إشارة اسم الخادم (SNI) على وجه التحديد لأن العديد من المضيفين موجودون على نفس عنوان IP. في هذه الحالة ، يخبر حقل SNI الخادم المضيف الذي تحاول الاتصال به ، مما يسمح له بتحديد الشهادة الصحيحة. بعبارة أخرى ، تساعد SNI على ضمان تشغيل استضافة TLS على نطاق واسع. أي ، تم تقديم هذه الوظيفة من أجل الأمان ، والآن علينا التعامل معها كقناة لتسرب البيانات.

كانت مشكلة SNI معروفة لفترة طويلة ، يكتب مطورو Mozilla ، وكان من الواضح أن هذا الحقل بحاجة إلى التشفير. لكن كل تصميم حاولوه تضمن حل وسط في الأداء. كان هناك عيب آخر مهم: حقيقة أن موقعًا معينًا كان يتحول إلى ESNI كانت إشارة على أنه "لديه شيء يخفيه" ، أي أن الرقباء لديهم الفرصة لتصفية حركة المرور بشكل بسيط من قبل ESNI. في النهاية ، تقرر إطلاق معيار TLS 1.3 بدون ESNI.

فقط في بداية عام 2018 ، أدرك المطورون أن هناك خيارًا جيدًا: تستضيف شبكات توزيع المحتوى الكبيرة (CDN) العديد من المواقع على نفس الخوادم الفعلية. إذا وافقوا على نقل جميع العملاء إلى ESNI دفعة واحدة ، فعندئذٍ تتوقف ESNI فجأة عن كونها إشارة مفيدة للمهاجم. وبالتالي ، أصبح من الممكن تنفيذ ESNI في TLS 1.3 ، من خلال تخصيص العديد من المواقع على مجموعة من الخوادم الموجودة.

ESNI هي تقنية جديدة تمامًا ، وفايرفوكس هو أول متصفح يقوم بتطبيقها. لتنشيطه في Firefox Nightly ، يجب عليك إكمال الخطوات التالية:

  1. تأكد من تمكين DNS عبر HTTPS (DoH):
    • about:config
    • قم بتعيين network.trr.mode إلى 2

    • قم بتعيين network.trr.uri إلى خادم DoH (على سبيل المثال ، https://mozilla.cloudflare-dns.com/dns-query ).

    • about:config
    • قم بتعيين network.security.esni.enabled إلى true


سيؤدي هذا إلى تمكين ESNI تلقائيًا لأي موقع يدعمه. في الوقت الحالي ، من بين كبار المضيفين وشبكات CDN ، هذا هو Cloudflare فقط ، ولكن مطوري Firefox يأملون أن يتصل مزودون آخرون قريبًا. يمكنك التحقق من التشفير عن طريق هذا الرابط .



في الأشهر القادمة ، ستختبر Mozilla كيفية تفاعل ESNI مع أنواع مختلفة من جدران الحماية وأجهزة الشبكة الأخرى. إذا قمت بتشغيل التشفير وكسر شيء - يرجى إبلاغ المطورين من خلال تعقب الأخطاء.





Source: https://habr.com/ru/post/ar427563/


All Articles