هل يمكن للخادم الوكيل تخزين SSL GETs في ذاكرة التخزين المؤقت؟إذا لم يكن الأمر كذلك، فهل يكفي تشفير نص الاستجابة؟

StackOverflow https://stackoverflow.com/questions/14656

سؤال

هل يمكن لمحتوى الخادم الوكيل (||أي) تخزين التخزين المؤقت الذي يطلبه العميل عبر https؟نظرًا لأن الخادم الوكيل لا يمكنه رؤية سلسلة الاستعلام أو رؤوس http، أعتقد أنهم لا يستطيعون ذلك.

أفكر في استخدام تطبيق سطح مكتب، يديره عدد من الأشخاص الذين يقفون وراء وكيل شركاتهم.قد يصل هذا التطبيق إلى الخدمات عبر الإنترنت وأرغب في الاستفادة من البنية التحتية المدمجة للتخزين المؤقت على الإنترنت من أجل "القراءات".إذا لم تتمكن خوادم وكيل التخزين المؤقت من تخزين محتوى SSL الذي تم تسليمه مؤقتًا، فهل سيكون تشفير محتوى الاستجابة خيارًا قابلاً للتطبيق؟

أنا أفكر في أن جميع طلبات GET التي نرغب في أن تكون قابلة للتخزين المؤقت يتم طلبها عبر http مع النص المشفر باستخدام التشفير غير المتماثل، حيث يكون لدى كل عميل مفتاح فك التشفير.في أي وقت نرغب في تنفيذ عملية GET غير قابلة للتخزين المؤقت، أو عملية POST، سيتم تنفيذها عبر SSL.

هل كانت مفيدة؟

المحلول 2

لا، ليس من الممكن تخزين https مؤقتًا مباشرة.يتم تشفير الاتصال بالكامل بين العميل والخادم.يوجد الوكيل بين الخادم والعميل، ومن أجل تخزينه مؤقتًا، يجب أن تكون قادرًا على قراءته، أي فك تشفير التشفير.

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

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

نصائح أخرى

تعليق روري بأن الوكيل يجب أن يستخدم شهادة موقعة ذاتيًا إذا لم يكن صحيحًا تمامًا.

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

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

أعتقد أنه يجب عليك فقط استخدام SSL والاعتماد على مكتبة عميل HTTP التي تقوم بالتخزين المؤقت (على سبيل المثال:WinInet على النوافذ).من الصعب أن نتخيل أن فوائد التخزين المؤقت على مستوى المؤسسة تستحق عناء كتابة نظام تشفير أمان مخصص أو متعة الشهادة على الوكيل.والأسوأ من ذلك، في نظام التشفير الذي ذكرته، فإن إجراء تشفير غير متماثل على جسم الكيان يبدو وكأنه نجاح كبير على جانب الخادم في تطبيقك؛هناك سبب وراء استخدام SSL لشفرات متماثلة للحمولة الفعلية للاتصال.

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

قطع البيانات صغيرة، ولكن قد يتم طلبها بشكل متكرر.بشكل أساسي، ستطلب جميع مثيلات التطبيق نفس البيانات التي يطلبها بعضها البعض في نفس الوقت.

سيتم تشفير نص البيانات/الرسالة الموجود على جانب الخادم مسبقًا وتخزينه مؤقتًا في جدول تجزئة موزع في الذاكرة.لن يتم تنفيذ التشفير على أساس كل طلب.

أقوم أيضًا بالتحقيق في استخدام ناقل الرسائل، مثل NServiceBus بدلاً من ذلك.

تحقق من أن www.bluecoat.com هو وكيل تجاري يمكنه في الواقع اعتراض https من أجل حظر المواقع وتقييد المحتوى وفحص الفيروسات ومحتوى ذاكرة التخزين المؤقت (GETs)

أعتقد أنه يجب عليك فقط استخدام SSL والاعتماد على مكتبة عميل HTTP التي تقوم بالتخزين المؤقت (على سبيل المثال:WinInet على النوافذ).من الصعب أن نتخيل أن فوائد التخزين المؤقت على مستوى المؤسسة تستحق عناء كتابة نظام تشفير أمان مخصص أو متعة الشهادة على الوكيل.والأسوأ من ذلك، في نظام التشفير الذي ذكرته، فإن إجراء تشفير غير متماثل على جسم الكيان يبدو وكأنه نجاح كبير على جانب الخادم في تطبيقك؛هناك سبب وراء استخدام SSL لشفرات متماثلة للحمولة الفعلية للاتصال.

ماذا عن إعداد ذاكرة تخزين مؤقت للخادم على خادم التطبيق خلف المكون الذي يقوم بتشفير استجابات https؟يمكن أن يكون هذا مفيدًا إذا كان لديك إعداد وكيل عكسي.

أفكر في شيء مثل هذا:

application server <---> Squid or Varnish (cache) <---> Apache (performs SSL encryption)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top