المحتوى عن 'kerberos'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 2 نتائج

  1. لا يستعمل أغلب الناس Kerberos لوحده، فبعد أن يستوثق المستخدم (Kerberos)، فسنحتاج لمعرفة ماذا بإمكانه أن يفعل (تصريح [authorization])؛ وهنا تكون مهمة البرامج مثل LDAP. قد يكون استنساخ قاعدة مبادئ Kerberos بين خادومين أمرًا معقدًا، ويضيف قاعدة بيانات مستخدم أخرى إلى شبكتك؛ لحسن الحظ، MIT Kerberos مضبوطٌ ليستخدم دليل LDAP كقاعدة بيانات للمبادئ؛ يشرح هذا الدرس ضبط خادومَيّ Kerberos الرئيسي والثانوي لاستخدام OpenLDAP لقاعدة بيانات المبادئ. ملاحظة: الأمثلة هنا تستخدم MIT Kerberos و OpenLDAP. ضبط OpenLDAPأولًا، يجب تحميل المخطط الضروري على خادوم OpenLDAP الذي لديه اتصال شبكي مع مركز توزيع المفاتيح الرئيسي والثانوي؛ بقية هذا القسم تفترض أن لديك استنساخ LDAP مضبوط بين خادومين على الأقل؛ للمزيد من المعلومات حول ضبط OpenLDAP راجع درس «خادوم OpenLDAP». من المطلوب أيضًا ضبط OpenLDAP من أجل اتصالات TLS و SSL؛ لذلك ستكون جميع البيانات المارة بين خادومي LDAP و KDC مشفرةً. ملاحظة: cn=admin,cn=config هو المستخدم الذي أنشأناه مع امتياز الكتابة إلى قاعدة بيانات ldap؛ تكون القيمة في كثير من الأحيان هي RootDN، عدِّل قيمته وفقًا للضبط عندك. لتحميل المخطط على LDAP، فثبِّت الحزمة krb5-kdc-ldap في خادوم LDAP؛ أي أدخِل الأمر الآتي في الطرفية: sudo apt-get install krb5-kdc-ldapثم استخرج محتويات الملف kerberos.schema.gz: sudo gzip -d /usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz sudo cp /usr/share/doc/krb5-kdc-ldap/kerberos.schema /etc/ldap/schema/يجب أن يضاف مخطط kerberos إلى شجرة cn=config؛ آلية إضافة مخطط جديد إلى slapd مفصلةٌ في قسم «تعديل قاعدة بيانات ضيط slapd» من درس «خادوم OpenLDAP». أولًا، أنشِئ ملف ضبط باسم schema_convert.conf، أو أي اسم آخر ذي معنى، يحتوي على الأسطر الآتية: include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/duaconf.schema include /etc/ldap/schema/dyngroup.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/java.schema include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/ppolicy.schema include /etc/ldap/schema/kerberos.schemaأنشِئ مجلدًا مؤقتًا لاحتواء ملفات LDIF: mkdir /tmp/ldif_outputاستخدم الآن slapcat لتحويل ملفات المخطط: slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s \ "cn={12}kerberos,cn=schema,cn=config" > /tmp/cn\=kerberos.ldifعدِّل اسم الملف والمسار السابق ليُطابِق ما عندك إن كان مختلفًا. عدِّل الخاصيات الآتية في الملف المولَّد ‎/tmp/cn=kerberos.ldif: dn: cn=kerberos,cn=schema,cn=config ... cn: kerberosواحذف الأسطر الآتية من نهاية الملف: structuralObjectClass: olcSchemaConfig entryUUID: 18ccd010-746b-102d-9fbe-3760cca765dc creatorsName: cn=config createTimestamp: 20090111203515Z entryCSN: 20090111203515.326445Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20090111203515Zقد تختلف قيم تلك الخاصيات، لكن تأكد أنها قد حُِذِفَت. حمِّل المخطط الجديد بالأمر ldapadd: ldapadd -x -D cn=admin,cn=config -W -f /tmp/cn\=kerberos.ldifأضف فهرسًا لخاصية krb5principalname: ldapmodify -x -D cn=admin,cn=config -W Enter LDAP Password: dn: olcDatabase={1}hdb,cn=config add: olcDbIndex olcDbIndex: krbPrincipalName eq,pres,sub modifying entry "olcDatabase={1}hdb,cn=config"وفي النهاية، حدِّث قوائم التحكم في الوصول (ACL): ldapmodify -x -D cn=admin,cn=config -W Enter LDAP Password: dn: olcDatabase={1}hdb,cn=config replace: olcAccess olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none - add: olcAccess olcAccess: to dn.base="" by * read - add: olcAccess olcAccess: to * by dn="cn=admin,dc=example,dc=com" write by * read modifying entry "olcDatabase={1}hdb,cn=config"هذا كل ما في الأمر، أصبح دليل LDAP جاهزًا لكي يخدم كقاعدة بيانات مبادئ Kerberos. ضبط مركز توزيع المفاتيح الرئيسيبعد ضبط OpenLDAP، حان الوقت الآن لضبط مركز توزيع المفاتيح. أولًا، ثبِّت الحزم الضرورية الآتية، بتنفيذ الأمر: sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldapعدِّل الآن ملف ‎/etc/krb5.conf بإضافة الخيارات الآتية تحت الأقسام الملائمة لها: [libdefaults] default_realm = EXAMPLE.COM ... [realms] EXAMPLE.COM = { kdc = kdc01.example.com kdc = kdc02.example.com admin_server = kdc01.example.com admin_server = kdc02.example.com default_domain = example.com database_module = openldap_ldapconf } ... [domain_realm] .example.com = EXAMPLE.COM ... [dbdefaults] ldap_kerberos_container_dn = dc=example,dc=com [dbmodules] openldap_ldapconf = { db_library = kldap ldap_kdc_dn = "cn=admin,dc=example,dc=com" # this object needs to have read rights on # the realm container, principal container and realm sub-trees ldap_kadmind_dn = "cn=admin,dc=example,dc=com" # this object needs to have read and write rights on # the realm container, principal container and realm sub-trees ldap_service_password_file = /etc/krb5kdc/service.keyfile ldap_servers = ldaps://ldap01.example.com ldaps://ldap02.example.com ldap_conns_per_server = 5 }ملاحظة: عدِّل قيم example.com ،dc=example,dc=com ،cn=admin,dc=example,dc=com ،ldap01.example.com للقيم الملائمة للنطاق، وكائن LDAP، وخادوم LDAP لشبكتك. لاحقًا، استخدم الأداة kdb5_ldap_util لإنشاء الحقل: sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com create -subtrees \ dc=example,dc=com -r EXAMPLE.COM -s -H ldap://ldap01.example.comأنشِئ «مخبأً» (stash) لكلمة المرور المستخدم في خادوم LDAP، تستخدم هذه الكلمة من ldap_kdc_dn و ldap_kadmind_dn في ملف ‎/etc/krb5.conf: sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \ /etc/krb5kdc/service.keyfile cn=admin,dc=example,dc=comانسخ شهادة سلطة الشهادات من خادوم LDAP: scp ldap01:/etc/ssl/certs/cacert.pem . sudo cp cacert.pem /etc/ssl/certsالآن عدِّل ‎/etc/ldap/ldap.conf ليستخدم الشهادة: TLS_CACERT /etc/ssl/certs/cacert.pemملاحظة: يجب أن تُنسَخ الشهادة أيضًا إلى مركز توزيع المفاتيح الثانوي، للسماح بالاتصال إلى خواديم LDAP باستخدام LDAPS. تستطيع الآن إضافة مبادئ Kerberos إلى قاعدة بيانات LDAP، وستُنسَخ إلى بقية خواديم LDAP المضبوطة للاستنساخ. فأدخل ما يليل لإضافة مبدأ باستخدام الأداة kadmin.local: sudo kadmin.local Authenticating as principal root/admin@EXAMPLE.COM with password. kadmin.local: addprinc -x dn="uid=steve,ou=people,dc=example,dc=com" steve WARNING: no policy specified for steve@EXAMPLE.COM; defaulting to no policy Enter password for principal "steve@EXAMPLE.COM": Re-enter password for principal "steve@EXAMPLE.COM": Principal "steve@EXAMPLE.COM" created.يجب أن تكون خاصيات krbPrincipalName ،krbPrincipalKey ،krbLastPwdChange ،krbExtraData مضافةً إلى كائن المستخدم uid=steve,ou=people,dc=example,dc=com؛ استخدم أداتَيّ kinit و klist لاختبار إذا أصدر المستخدم المعين بطاقةً. ملاحظة: إذا كان كائن المستخدم مُنشأً مسبقًا، فإنه يجب إضافة الخيار ‎-x dn="..."‎ إلى خاصيات Kerberos؛ لأنه سيُنشَأ فيما عدا ذلك كائن مبدأي جديد في شجرة الحقل الفرعية. ضبط مركز توزيع المفاتيح الثانويضبط مركز توزيع المفاتيح الثانوي لاستخدم LDAP هو شبيه بضبطه لاستخدام قاعدة بيانات Kerberos العادية. أولًا، ثبت الحزم الضرورية، بتطبيق الأمر الآتي في الطرفية: sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldapعدِّل الآن ملف ‎/etc/krb5.conf ليستخدم LDAP: [libdefaults] default_realm = EXAMPLE.COM ... [realms] EXAMPLE.COM = { kdc = kdc01.example.com kdc = kdc02.example.com admin_server = kdc01.example.com admin_server = kdc02.example.com default_domain = example.com database_module = openldap_ldapconf } ... [domain_realm] .example.com = EXAMPLE.COM ... [dbdefaults] ldap_kerberos_container_dn = dc=example,dc=com [dbmodules] openldap_ldapconf = { db_library = kldap ldap_kdc_dn = "cn=admin,dc=example,dc=com" # this object needs to have read rights on # the realm container, principal container and realm sub-trees ldap_kadmind_dn = "cn=admin,dc=example,dc=com" # this object needs to have read and write rights on # the realm container, principal container and realm sub-trees ldap_service_password_file = /etc/krb5kdc/service.keyfile ldap_servers = ldaps://ldap01.example.com ldaps://ldap02.example.com ldap_conns_per_server = 5 }أنشِئ مخبأً لكلمة مرور LDAP: sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \ /etc/krb5kdc/service.keyfile cn=admin,dc=example,dc=comالآن انسخ مخبأ ‎‏«Master Key‎»‏ على المركز الرئيسي ‎/etc/krb5kdc/.k5.EXAMPLE.COM إلى مركز توزيع المفاتيح الثانوي؛ تأكد من نسخ الملف عبر اتصال مشفر مثل scp، أو عبر وسيط تخزين فيزيائي. sudo scp /etc/krb5kdc/.k5.EXAMPLE.COM steve@kdc02.example.com:~ sudo mv .k5.EXAMPLE.COM /etc/krb5kdc/ملاحظة: مرةً أخرى، استبدل EXAMPLE.COM باسم الحقل الحقيقي. وبالعودة إلى المركز الثانوي، أعد تشغيل خادوم ldap فقط: sudo service slapd restartفي النهاية، ابدأ عفريت krb5-kdc: sudo service krb5-kdc startتأكد أن خادومَيّ ldap (وبالتالي kerberos) متزامنَين. تستطيع الآن إكمال استيثاق المستخدمين إن أصبح خادوم LDAP أو Kerberos، أو خادوم LDAP وخادوم Kerberos غير متوفرين. مصادرلدى دليل «Kerberos Admin Guide» بعض التفاصيل الإضافية.للمزيد من المعلومات حول kdb5_ldap_util راجع صفحة دليل man kdb5_ldap_util.مصدر آخر مفيد هو صفحة الدليل man krb5.conf.انظر أيضًا لصفحة ويكي أوبنتو: «Kerberos and LDAP».ترجمة -وبتصرف- للمقال Ubuntu Server Guide: Kerberos and LDAP.
  2. إن Kerberos هو نظام استيثاق شبكي مبني على مفهوم الجهة الثالثة الموثوقة؛ الجهتان الأخريتان هما المستخدم والخدمة التي يريد المستخدم أن يستوثق فيها؛ لا يمكن لجميع الخدمات والتطبيقات استخدام Kerberos؛ لكن الخدمات التي تستطيع ذلك تجعله يُقرِّب بيئة الشبكة لتصبح أقرب خطوةً إلى «تسجيل الدخول الموحد» (Single Sign On‏ [SSO]). يشرح هذا الدرس تثبيت وضبط خادوم Kerberos، وبعض الأمثلة عن ضبط العملاء. لمحة عامةإذا كنت جديدًا على Kerberos، فهذه بعض المصطلحات التي من الجيد معرفتها قبل إعداد خادوم Kerberos، أغلبها مرتبطةٌ بأشياء قد تعرفها من البيئات الأخرى: مبدأ (Principal): يجب أن تُعرَّف أيّة مستخدمين أو حواسيب أو خدمات موفرة من الخواديم كمبادئ Kerberos.النماذج (Instances): تستخدم لمبادئ الخدمة ومبادئ الإدارة الخاصة.الحقول (Realms): الحقل الفريد للتحكم الذي تم تزويده من عملية تثبيتKerberos؛ تخيل أن الحقول هي مجال أو مجموعة من المضيفين والمستخدمين الذين ينتمون إليها، ويُصطلَح أن الحقل يجب أن يكون بأحرف كبيرة؛ سيستخدم أوبنتو افتراضيًا عنوان DNS مُحوّلًا إلى أحرفٍ كبيرة (EXAMPLE.COM) اسمًا للحقل.مركز توزيع المفاتيح (Key Distribution Center‏ [KDC]): يتكون من ثلاثة أقسام: قاعدة بيانات لكل المبادئ، وخادوم استيثاق، وخادوم منح بطاقات (ticket granting server)؛ يحب أن يكون هنالك مركز توزيع للمفاتيح واحد على الأقل لكل حقل.بطاقة منح البطاقات (Ticket Granting Ticket): تُصدَر من خادوم الاستيثاق (Authentication Server‏ [AS])؛ بطاقة منح البطاقات (TGT) مشفرة بكلمة مرور المستخدم الذي يعلمها فقط المستخدم و مركز توزيع المفاتيح (KDC).خادوم منح البطاقات (Ticket Granting Server‏ [TGS]): يُصدِر خدمة البطاقات للعملاء عند الطلب.البطاقات: تأكيد هوية مبدأين، أحد تلك المبادئ هو المستخدم، والآخر هو الخدمة المطلوبة من المستخدم؛ تؤسس البطاقات مفتاح تشفير ليُستخدَم في الاتصالات الآمنة أثناء جلسة الاستيثاق.ملفات Keytab: الملفات المستخرجة من قاعدة بيانات مبادئ مركز توزيع المفاتيح وتحتوي على مفتاح التشفير للخدمة أو المضيف.ولجمع القطع مع بعضها بعضًا، لدى الحقل مركز توزيع مفاتيح واحد على الأقل -ويفضل أن يكون لديه أكثر من واحد لضمان توفر الخدمة- الذي يحتوي على قاعدة بيانات بالمبادئ، وعندما يُسجِّل مستخدمٌ دخوله إلى منصة العمل المضبوطة لاستخدام استيثاق Kerberos؛ فإن مركز توزيع المفاتيح يصدر بطاقة منح البطاقات (TGT)، وإذا كانت التصاريح التي أعطاها المستخدم مطابقة، فسيتم الاستيثاق من المستخدم وبإمكانه الآن طلب البطاقات لخدمات Kerberos من خادوم منح البطاقات (TGS)، ستسمح خدمة البطاقات للمستخدم أن يستوثق إلى خدمة دون أن يُدخِل اسم المستخدم أو كلمة المرور. خادوم Kerberos التثبيتلنقاشنا هذا، سننشِئ مجال MIT Kerberos مع الخاصيات الآتية (عدِّلها لتلائم حاجاتك): الحقل: EXAMPLE.COM.مركز توزيع المفاتيح الرئيسي: kdc01.example.com‏ (192.168.0.1).مركز توزيع المفاتيح الثانوي: kdc02.example.com‏ (192.168.0.2).مبدأ المستخدم: steve.مبدأ المدير: steve/admin.ملاحظة: من المستحسن -وبشدة- أن تكون معرفات مستخدمين الشبكة الموثوقين في مجال مختلف عن المستخدمين المحليين (لنقل أنه يبدأ من 5000). قبل تثبيت خادوم Kerberos، فمن الضروري وجود خادوم DNS مضبوط مسبقًا؛ ولما كان حقل Kerberos عرفيًا يستخدم اسم النطاق، فإن هذا القسم يستخدم النطاق EXAMPLE.COM التي ستُشرح طريقة ضبطه في قسم الرئيس الأولي في الدرس الخاص بخادوم DNS الذي سينشر لاحقًا في هذه السلسلة. Kerberos هو بروتوكول حساس بالنسبة للوقت؛ فلو كان وقت النظام المحلي يختلف بين جهاز العميل وجهاز الخادوم أكثر من خمس دقائق (افتراضيًا)، فلن تستطيع منصة العمل أن تستوثق من العميل. ولتصحيح المشكلة، يجب أن يزامن جميع المضيفين وقتهم بواسطة بروتوكول وقت الشبكة (NTP)؛ للمزيد من المعلومات حول ضبط NTP، راجع الدرس «مزامنة الوقت باستخدام بروتوكول NTP». أول خطوة في ضبط حقل Kerberos هي تثبيت حزمتَيّ krb5-kdc و krb5-admin-server؛ أدخل الأمر الآتي في الطرفية: sudo apt-get install krb5-kdc krb5-admin-serverستُسأل في نهاية التثبيت عن اسم مضيف Kerberos وخواديم Admin -اللذان يمكن أن يكونا نفس الخادوم أو غيره- للحقل (realm). ملاحظة: افتراضيًا، يُنشَأ الحقل من اسم نطاق مركز توزيع المفاتيح. ثم أنشِئ حقلًا جديدًا باستخدام الأداة kdb5_newrealm: sudo kdb5_newrealmالضبطتستخدم الأسئلة التي سألوك إياها أثناء التثبيت لضبط ملف ‎/etc/krb5.conf؛ إذا احتجت لتعديل إعدادات مركز توزيع المفتاح (KDC) فعدِّل ببساطة الملف وأعد تشغيل عفريت krb5-kdc. إذا احتجت لإعادة ضبط Kerberos من الصفر، ربما لتغير اسم الحقل، فيمكنك ذلك بالأمر: sudo dpkg-reconfigure krb5-kdcبعد أن يعمل KDC عملًا سليمًا، فإنه من الضروري وجود مستخدم مدير (مبدأ المدير). من المستحسن استخدام اسم مستخدم مختلف عن اسم المستخدم الذي تستعمله عادةً. يمكن فعل ذلك عبر الأداة kadmin.local، بإدخال الأمر الآتي في الطرفية: sudo kadmin.local Authenticating as principal root/admin@EXAMPLE.COM with password. kadmin.local: addprinc steve/admin WARNING: no policy specified for steve/admin@EXAMPLE.COM; defaulting to no policy Enter password for principal "steve/admin@EXAMPLE.COM": Re-enter password for principal "steve/admin@EXAMPLE.COM": Principal "steve/admin@EXAMPLE.COM" created. kadmin.local: quitفي المثال السابق، يكون steve هو مبدأ، و ‎/admin هو نموذج، و يشير ‎@EXAMPLE.COM إلى الحقل، ويكون مبدأ المستخدم هو steve@EXAMPLE.COM، ويجب أن يحمل امتيازات المستخدم العادي فقط. ملاحظة: استبدل EXAMPLE.COM و steve بالحقل واسم مستخدم المدير عندك على التوالي. ثم يحتاج مستخدم المدير الجديد إلى أن يحصل على أذونات قوائم التحكم بالوصول (ACL) الملائمة؛ تُضبَط هذه الأذونات في ملف ‎/etc/krb5kdc/kadm5.acl: steve/admin@EXAMPLE.COM *يعطي هذا القيد steve/admin القدرة على القيام بأي عملية في جميع المبادئ في الحقل؛ تستطيع ضبط المبادئ بامتيازات أقل؛ والذي يكون ملائمًا إذا احتجت مبدأ مدير يستطيع طاقم العمل المبتدئ استخدامه في عملاء Kerberos؛ راجع صفحة الدليل man kadm5.acl لمزيد من التفاصيل. أعد الآن تشغيل krb5-admin-server لكي تأخذ قوائم التحكم بالوصول الجديدة مفعولها: sudo service krb5-admin-server restartيمكن اختبار مبدأ المستخدم الجديد باستخدام الأداة kinit: kinit steve/admin steve/admin@EXAMPLE.COM's Password:بعد إدخال كلمة المرور، فاستخدم klist لعرض معلومات حول بطاقة منح البطاقات (TGT): klist Credentials cache: FILE:/tmp/krb5cc_1000 Principal: steve/admin@EXAMPLE.COM Issued Expires Principal Jul 13 17:53:34 Jul 14 03:53:34 krbtgt/EXAMPLE.COM@EXAMPLE.COMحيث اسم ملف التخزين المؤقت krb5cc_1000 مكون من السابقة krb5cc_‎ ومعرف المستخدم uid، الذي في هذه الحالة 1000؛ ربما تحتاج لإضافة قيد في ملف ‎/etc/hosts من أجل مركز توزيع المفاتيح لكي يستطيع العميل العثور عليه، على سبيل المثال: 192.168.0.1 kdc01.example.com kdc01استبدل 192.168.0.1 بعنوان مركز توزيع المفاتيح؛ هذا يحدث عادة عندما تملك حقل Kerberos يشمل عدّة شبكات مفصولة بموجهات (routers). أفضل طريقة للسماح للعملاء بتحديد مركز توزيع المفاتيح للحقل هو استخدم سجلات DNS SRV، أضف ما يلي إلى ‎/etc/named/db.example.com: _kerberos._udp.EXAMPLE.COM. IN SRV 1 0 88 kdc01.example.com. _kerberos._tcp.EXAMPLE.COM. IN SRV 1 0 88 kdc01.example.com. _kerberos._udp.EXAMPLE.COM. IN SRV 10 0 88 kdc02.example.com. _kerberos._tcp.EXAMPLE.COM. IN SRV 10 0 88 kdc02.example.com. _kerberos-adm._tcp.EXAMPLE.COM. IN SRV 1 0 749 kdc01.example.com. _kpasswd._udp.EXAMPLE.COM. IN SRV 1 0 464 kdc01.example.com.ملاحظة: استبدل EXAMPLE.COM ،kdc01 و kdc02، باسم النطاق، ومركز توزيع المفاتيح الرئيسي، ومركز توزيع المفاتيح الثانوي على التوالي وبالترتيب. انظر إلى الدرس تنصيب وإعداد خدمة اسم النطاق DNS لتعليمات تفصيلية حول ضبط DNS. أصبح حقل Kerberos الجديد جاهزًا لاستيثاق العملاء. مركز توزيع المفاتيح الثانويبعد أن حصلت على مركز توزيع المفاتيح (KDC) في شبكتك، فمن المستحسن الحصول على مركز ثانوي في حال لم يكن المركز الرئيسي متوافرًا؛ وأيضًا لو كان عندك عملاء Kerberos في شبكات مختلفة (ربما مفصولة بموجهات تستخدم NAT)، فمن الحكمة وضع مركز توزيع ثانوي في كل شبكة من تلك الشبكات. أولًا، ثبت الحزم، عندما تسأل عن أسماء Kerberos و Admin server فادخل اسم مركز توزيع المفاتيح الرئيسي: sudo apt-get install krb5-kdc krb5-admin-serverبعد أن ثبتت الحزم، أنشِئ مبدأ مضيف KDC، بإدخال الأمر الآتي في الطرفية: kadmin -q "addprinc -randkey host/kdc02.example.com"ملاحظة: بعد تنفيذك لأوامر kadmin فستُسأل عن كلمة مرور username/admin@EXAMPLE.COM. استخرج ملف Keytab: kadmin -q "ktadd -norandkey -k keytab.kdc02 host/kdc02.example.com"يجب أن يكون هنالك ملف keytab.kdc02 في مجلدك الحالي، انقل الملف إلى ‎/etc/krb5.keytab: sudo mv keytab.kdc02 /etc/krb5.keytabملاحظة: المسار إلى keytab.kdc02 يختلف تبعًا لمجلد العمل الحالي. تستطيع أيضًا أن تُشكِّل قائمةً بالمبادئ في ملف Keytab؛ مما يفيد في استكشاف الأخطاء؛ استخدم الأداة klist: sudo klist -k /etc/krb5.keytabيشير الخيار ‎-k إلى أن الملف هو ملف keytab. هنالك حاجة لوجود ملف kpropd.acl في كل مركز لتوزيع المفاتيح الذي يعرض كل مراكز توزيع المفاتيح للحقل؛ على سبيل المثال، أَنشِئ في مركز توزيع المفاتيح الرئيسي والثانوي الملف ‎/etc/krb5kdc/kpropd.acl: host/kdc01.example.com@EXAMPLE.COM host/kdc02.example.com@EXAMPLE.COMأنشِئ قاعدة بيانات فارغة في المركز الثانوي: sudo kdb5_util -s createابدأ الآن عفريت kpropd، الذي يستمع إلى الاتصالات من أداة kprop؛ تستخدم أداة kprop لنقل ملفات التفريغ: sudo kpropd -Sمن الطرفية في مركز توزيع المفاتيح الرئيسي، أنشئ ملف تفريغ من قاعدة بيانات المبادئ: sudo kdb5_util dump /var/lib/krb5kdc/dumpاستخرج ملف keytab في مركز توزيع المفاتيح الرئيسي وانقله إلى ‎/etc/krb5.keytab: kadmin -q "ktadd -k keytab.kdc01 host/kdc01.example.com" sudo mv keytab.kdc01 /etc/krb5.keytabملاحظة: تأكد من وجود مضيف مرتبط مع kdc01.example.com قبل استخراج Keytab. استخدم الأداة kprop لدفع التغيرات إلى قاعدة البيانات في KDC الثانوي: sudo kprop -r EXAMPLE.COM -f /var/lib/krb5kdc/dump kdc02.example.comملاحظة: يجب أن تَظهر رسالة SUCCEEDED إذا تمت عملية «النسخ» بنجاح، إذا كانت هنالك رسالة خطأ، فتحقق من ‎/var/log/syslog في مركز توزيع المفاتيح الثانوي لمزيدٍ من المعلومات. ربما ترغب بإنشاء مهمة مجدولة لتحديث قاعدة البيانات في مركز توزيع المفاتيح الثانوي كل فترة زمنية؛ ما يلي سيدفع التغييرات إلى قاعدة البيانات كل ساعة (لاحظ أن السطر الطويل قد جُزِّء لجزأين لكي يتسع في عرض الصفحة): # m h dom mon dow command 0 * * * * /usr/sbin/kdb5_util dump /var/lib/krb5kdc/dump && /usr/sbin/kprop -r EXAMPLE.COM -f /var/lib/krb5kdc/dump kdc02.example.comأنشئ ملف stash في المركز الثانوي لكي يُحفَظ به مفتاح Kerberos الرئيسي (Master Key): sudo kdb5_util stashفي النهاية، شغل عفريت krb5-kdc في المركز الثانوي: sudo service krb5-kdc startيجب أن يكون المركز الثانوي قادرًا على إعطاء البطاقات للحقل؛ يمكنك اختبار ذلك بإيقاف عفريت krb5-kdc في المركز الرئيسي؛ ثم استخدام kinit لطلب بطاقة، وإذا جرى كل شيء على ما يرام، فيجب أن تحصل على بطاقة من مركز توزيع المفاتيح الثانوي؛ عدا ذلك، تحقق من ‎/var/log/syslog و ‎/var/log/auth.log في مركز توزيع المفاتيح الثانوي. عميل Kerberos للينكسيشرح هذا القسم ضبط نظام لينُكس كعميل Kerberos؛ هذا سيسمح بالوصول إلى أيّة خدمة تستخدم Kerberos بعد أن يستطيع المستخدم تسجيل دخوله إلى النظام. التثبيتلكي يتم الاستيثاق إلى حقل Kerberos؛ فإن حزمتَيّ krb5-user و libpam-krb5 مطلوبتان؛ بالإضافة إلى غيرها من الحزم غير المطلوبة لكنها تسهل عملك؛ أدخِل الأمر الآتي في مِحَث الطرفية لتثبيت هذه الحزم: sudo apt-get install krb5-user libpam-krb5 libpam-ccreds auth-client-configتسمح حزمة auth-client-config بضبط PAM ضبطًا بسيطًا للاستيثاق من مصادر عدّة، وستُخزِّن حزمة libpam-ccreds اعتماديات الاستيثاق مما يسمح لك بتسجيل الدخول في حال لم يكن مركز توزيع المفاتيح متاحًا؛ ستفيد هذه الحزمة الحواسيب المحمولة، التي يمكن أن تستوثق باستخدام Kerberos عندما تكون في شبكة الشركة، لكنها تحتاج إلى الوصول عندما تكون خارج الشبكة أيضًا. الضبطلضبط العميل، أدخل ما يلي في الطرفية: sudo dpkg-reconfigure krb5-configسيُطلَب منك إدخال اسم حقل Kerberos؛ أيضًا إن لم لديك DNS مضبوط مع سجلات Kerberos SRV؛ فستظهر قائمة تسألك عن اسم مضيف مركز توزيع المفاتيح وخادوم إدارة الحقل. يضيف dpkg-reconfigure قيودًا إلى ملف ‎/etc/krb5.conf للحقل الخاص بك، يجب أن تحصل على قيود شبيهة بالآتي: [libdefaults] default_realm = EXAMPLE.COM ... [realms] EXAMPLE.COM = { kdc = 192.168.0.1 admin_server = 192.168.0.1 }ملاحظة: إذا ضَبطت uid لكلٍ من مستخدمي شبكتك الموثوقين ليبدأ من 5000؛ كما هو منصوح به في قسم «التثبيت» من درس OpenLDAP، فتستطيع عندها أن تخبر pam بأن يستوثق باستخدام مستخدمي Kerberos عندما يكون uid أكبر من 5000: # Kerberos should only be applied to ldap/kerberos users, not local ones. for i in common-auth common-session common-account common-password; do sudo sed -i -r \ -e 's/pam_krb5.so minimum_uid=1000/pam_krb5.so minimum_uid=5000/' \ /etc/pam.d/$i doneهذا ما سيتجنب الطلب لكلمات مرور (غير موجودة) لمستخدم موثوق محليًا عند تغيير كلمة المرور باستخدام passwd. يمكنك اختبار الضبط بطلب بطاقة باستخدام الأداة kinit، على سبيل المثال: kinit steve@EXAMPLE.COM Password for steve@EXAMPLE.COM:يمكن عرض التفاصيل عند إعطاء بطاقة باستخدام klist: klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: steve@EXAMPLE.COM Valid starting Expires Service principal 07/24/08 05:18:56 07/24/08 15:18:56 krbtgt/EXAMPLE.COM@EXAMPLE.COM renew until 07/25/08 05:18:57 Kerberos 4 ticket cache: /tmp/tkt1000 klist: You have no tickets cachedثم استخدم auth-client-config لضبط وحدة libpam-krb5 لطلب بطاقة أثناء تسجيل الدخول: sudo auth-client-config -a -p kerberos_exampleيجب أن تحصل الآن على بطاقة بعد عملية استيثاق ناجحة. مصادرللمزيد من المعلومات حول نسخة MIT من Kerberos، راجع موقع «MIT Kerberos».توجد بعض التفاصيل في صفحة ويكي أوبنتو «Kerberos».الكتاب من O'Reilly المسمى «Kerberos: The Definitive Guide» هو مرجع ممتاز أثناء ضبط Kerberos.تستطيع أيضًا القدوم إلى قناتَيّ ‎#ubuntu-server و ‎#kerberos على خادوم IRC الشهير Freenode إذا كانت لديك أسئلة حول Kerberos.ترجمة -وبتصرف- للمقال Ubuntu Server Guide: Kerberos.