ما هي المزايا المدركة / الفعلية لكيربروس؟ هل هناك أي بدائل قابلة للحياة للتكنولوجيا؟

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

سؤال

نحن نخطط لاستخدام Kerberos في بنية لدينا. أود أن أعرف ما هي المزايا التي يتصورها أو الفعلية هذه التكنولوجيا، وإذا كان هناك أي بدائل.

لاحظ أن لدينا جانب عميل .NET وجانب خادم Java. الاتصالات ستكون عبر حافلة المراسلة والخدمية

لا يوجد حل صحيح

نصائح أخرى

إذا كنت تعمل ضمن بيئة Windows في معظمها (أي Windows Server 2K3 أو وحدة تحكم مجال أو Active Directory، وما إلى ذلك) واحد على وجه الخصوص هو أنه يمكنك استخدامه التمثيل من خلال .NET مع خادم ويب انقسام وخادم قاعدة البيانات. باستخدام طريقة NTLM القديمة، لا يمكنك القيام ب "قفزة مزدوجة".


لنلقي نظرة على مثال:

  • لديك خادم ويب (Web1)
  • لديك خادم قاعدة بيانات على جهاز منفصل (DB1)
  • لديك مستخدم الوصول إلى موقع الويب الخاص بك (User1)

User1 يضرب صفحة تعرض قائمة الطلبات. يتعين على خادم الويب 1 استعلام DB1 لهذه المعلومات لعرضها على الصفحة. تريد تقييد الطلبات التي ينظر إليها على أساس بيانات اعتماد المستخدم وحقوق الوصول. وبالتالي، قمت بإعداد مجموعات Active Directory وتعيين المستخدمين وفقا لذلك. في قاعدة البيانات الخاصة بك، فإنك تعطي المجموعات المختلفة أمان أمن مختلف (قد تتحقق Group1 فقط وقد تحصل Group2 على تحديد وإدراج وتحديثها، على سبيل المثال).

لا يدعم NTLM القفزة المزدوجة اللازمة للقيام بذلك. يجب أن ترسل Web1 بيانات اعتماد User1 إلى DB1 (وإلا يجب على Web1 تسجيل الدخول إلى DB1 مع معرف مستخدم متخصص وكلمة مرور معروفة في Web.config على سبيل المثال الذي يتعين عليه عادة الوصول الكامل لدعم جميع أدوار المستخدم الممكنة). يمكنك تخيل أن هذا قد يكون خطرا أمنيا يجب أن يتم عرض Web1، لذلك لا يمكنك القيام بذلك، وإلا فإن أي شخص يكسب التحكم في Web1 (عبر حقن SQL ربما) يمكن أن يفعل أي شيء يمكن حساب المستخدم المخصص أو انتحال إليه من يريده. يدعم Kerberos، من خلال الوفود على خادم Windows، القيام بهذه القفزة الثانية من خلال إبقاء مفتاح بيانات الاعتماد المشفرة من خادم المجال، وتم تمريره، بالإضافة إلى التحقق من أن هذا مسموح به (على كلا الطرفين، انظر أدناه لإعداد هذا على الخوادم الخاصة بك لأنه يجب أن يكون مسموحا بوضوح).

من المفيد للغاية القيام بذلك عند تطوير تطبيقات Web Web Internet التي تحتوي على قاعدة بيانات Back (التي هي 99٪ من الوقت، أليس كذلك؟) وتريد التحكم في التفويض والمصادقة من خلال نظام أمان Windows المتكامل. Kerberos هو خيارك الوحيد حقا ما لم يكن خادم الويب الخاص بك بخادم الويب الخاص بك على نفس الجهاز، مما يعني عدم وجود نقل بيانات الاعتماد وعدم وجود انتحال ضروري.

أنظر أيضا:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top