يفتح جهاز ميداني اتصالاً بخدمة، فيأتي سؤال التصميم على هيئة اختيار بين VPN وTLS. هذا التأطير خاطئ، لأن الاثنين يؤديان وظيفتين مختلفتين. يوثّق TLS طرف التطبيق ويحمي المحادثة؛ أما VPN فيتحكم في إمكانية الوصول ويحمي الحزم بين الأقران. تتبّع الاتصال من الجهاز إلى الخارج، ولكل طبقة جوابها الخاص.

إذا لم تستطع تحديد أين ينتهي TLS، فلا يمكنك تحديد ما يثق به التطبيق فعلاً.

حدّد أين ينتهي TLS فعلاً

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

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

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

قرّر ما يجب أن يوثّقه الجهاز

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

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

استخدم مكتبة مدعومة وإرشادات حديثة. إرشادات نشر TLS الحديثة تحظر التفاوض على TLS 1.0 و1.1، ووجود إشارة TLSv1 في ملاحظة تصميم قديمة ليس متطلباً.

أغلق عند فشل المصافحة

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

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

اكتب قاعدة الرجوع. عبارة “يعيد الاتصال بدون TLS إذا فشلت المصافحة” قرار تصميم، وينبغي أن يكون قراراً صريحاً.

أعطِ VPN الوظيفة التي يستطيع أداءها فقط

يستطيع VPN تقييد إمكانية الوصول وحماية الحزم حتى قرينه. أما TLS فيحمي علاقة التطبيق بالطرف المحدد. وقد تختلف نقطتا انتهائهما، ولا أي منهما يؤمّن بيانات الطرف المخزنة أو وصوله الإداري.

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

مقالات ذات صلة