SSTP وSSL 3.0: التسمية مقابل النسخة المتفاوض عليها
تسمية SSL لا تثبت جلسة SSL 3.0. قارن البروتوكول المعلن بالبروتوكول الذي تتفاوض عليه الخدمة فعليًا، ثم اسحب النسخة القديمة.
يمكن لشخصين أن ينظرا إلى النشر نفسه SSTP ويصلا إلى استنتاجين متعاكسين. يقرأ أحدهما وثائق المنتج، ويرى الحروف SSL، ويفترض أن النفق يشغل بروتوكولًا سُحب قبل سنوات. ويشير الآخر إلى مصافحة حديثة ويستنتج أن المسألة مغلقة. وكلاهما يحتج بالتسميات لا بالنسخة المتفاوض عليها، وواحد فقط من الأمرين دليل. المقارنة الجديرة بالجهد هي بين ما يعد به الاسم وما تختاره الخدمة فعليًا.
إجابتان عن السؤال نفسه
حجة التسمية سهلة الصياغة: يُوصف SSTP بأنه بروتوكول أنفاق آمن عبر المقابس، والاسم التاريخي يقول SSL، لذلك لا بد أن يكون الاتصال على SSL 3.0. وهي تصمد لأن الاسم ينحدر فعلًا من ذلك الخط، ولأن معظم من يرددها لم ينظر قط إلى مصافحة. وتصمد أيضًا لأن الاستنتاج يبدو متحفظًا، كأن افتراض الأسوأ هو الخيار الآمن. افتراض الأسوأ وقياس النسخة الفعلية نشاطان مختلفان، وواحد فقط منهما يغير شيئًا.
حجة الدليل تطرح سؤالًا أضيق. على أي نسخة بروتوكول اتفق هذا العميل وهذا الخادم، عند هذه النقطة الطرفية، في هذا الوقت؟ تأتي الإجابة من الخدمة التي تُنهي TLS، لا من صفحة تسويق ولا من متصفح وصل إلى موقع مشابه الاسم.
تختلف الحجتان في ما يمكنهما إثباته. لا تستطيع التسمية التمييز بين نشر قديم ونشر مُصحح، ولا تستطيع المصافحة إخبارك بما تفعله خدمة غير ذات صلة على المضيف نفسه. استخدم الثانية وتوقف عن استخدام الأولى.
اقرأ النسخة التي تختارها الخدمة فعليًا
ابدأ بتسمية المكونات: تنفيذ العميل، وتنفيذ الخادم، ونقطة نهاية TLS، وكل ما بينها مما يُنهي TLS ويعيد إنشاءه. موازن الأحمال الذي ينهي TLS ويتحدث HTTP عاديًا مع الخلفية يغيّر الجهاز الذي يجب أن تقرأ سياسته.
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null> | grep -E 'Protocol|Cipher' Get-WinEvent -LogName System -ProviderName Schannel -MaxEvents 20
سجّل النقطة الطرفية والوقت بجانب النتيجة، لأن تغييرًا لاحقًا في السياسة يجعل ملاحظة بلا تاريخ عديمة الفائدة. أعد الفحص من عميل على مسار الشبكة نفسه الذي يوجد عليه المستخدمون الذين يهمونك، لأن جهاز اعتراض يمكن أن ينهي TLS بإعداداته الخاصة. إذا اختلف الموقفان، فقد وجدت المكون المهم. وإذا اتفقا، فلديك دليل بدلًا من شعار.
افصل حقل السجل عن التفاوض
رقم نسخة يبدو قديمًا في حقل واحد ليس الحقيقة نفسها التي تمثلها جلسة SSL 3.0. يعامل RFC 7568 نسخة طبقة السجل والبروتوكول المتفاوض عليه كمسألتين منفصلتين، ومن هذا التمييز بالضبط تأتي الإجابات الخاطئة الواثقة. اقرأ البروتوكول المتفاوض عليه، ثم التشفير، وعندها فقط استنتج شيئًا عن الجلسة.
الوثيقة نفسها لا تلتبس في شأن البروتوكول نفسه: لا يجوز استخدام SSL 3.0، ويُحظر التفاوض عليه أو التراجع إليه. والسبب هو بنية CBC المعطوبة التي استغلها هجوم POODLE، وهي خاصية في البروتوكول لا إعداد في تطبيق واحد.
ولهذا فإن «هذا الحمل الصعب استغلاله على الأرجح» ليس حجة لإبقاء SSL 3.0 ممكّنًا. المطلوب إزالة البروتوكول، لا كسب جدل حول عرض واحد.
اسحب SSL 3.0 بسياسة تستطيع الدفاع عنها
في Windows توجد إعدادات بروتوكولات Schannel تحت المفتاح Protocols وتُقرأ لكل دور عميل ودور خادم، ولهذا يمكن لتغيير يصلح اتجاهًا أن يترك الآخر دون مساس. الإعدادات الحالية ومتطلبات إعادة التشغيل موثقة من Microsoft، ومكتبة TLS تابعة لجهة خارجية على المضيف نفسه تتجاهلها تمامًا.
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server' Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols'
غيّر السياسة عبر مسار الإدارة المدعوم، وتأكد من أن الخدمة المالكة تعيد قراءة إعداداتها، واحتفظ بطريق عودة معتمد. لصق سكربت تسجيل واسع من بيئة أخرى هو الطريقة التي يتحول بها إصلاح خدمة واحدة إلى انقطاع لكل عميل TLS على الجهاز. نطاق إعادة التشغيل مهم هنا: إعداد يبدو مطبقًا قد يظل محفوظًا في ذاكرة خدمة لم تعده تحميله.
الشريك الذي لا يزال يطلب نسخة مهجورة يحتاج إلى تحديث أو خطة ترحيل. والاستثناء غير الموثق الذي يعيد البروتوكول القديم بهدوء ليس استراتيجية توافق، ولن يصمد أمام التدقيق التالي.
اقبل التغيير باتصالات جديدة
اختبر بجلسات جديدة بعد تغيير السياسة، لأن اتصالًا أُنشئ قبل التغيير لا يثبت شيئًا عن الإعدادات السارية الآن. تأكد من نجاح البروتوكول المسموح وفشل البروتوكول المحظور ضمن عملية التحقق المعتمدة، ثم اترك هوية الشهادة وفحوص الثقة كما كانت تمامًا.
تذكر ما لا تغطيه المصافحة. ينقل SSTP مصادقة PPP بعد طبقة TLS، لذا لا تقول نسخة بروتوكول حديثة شيئًا عن المستخدم الذي تم التصريح له أو الموارد التي قد تصل إليها الجلسة. تلك ضوابط منفصلة بأدلة منفصلة.
سجّل النتيجة كخدمة وخلفية وسياسة مسموحة ونسخة ملاحظة. فذلك السجل يجيب عن سؤال الأمن بدقة، وهو ما لا تفعله حجة التسمية ولا حجة الانزعاج.