الاستيثاق الشبكي – تثبيت وضبط خادوم Kerberos على أوبنتو
تعد أنظمة الاستيثاق الشبكي أحد الأساسيات في إدارة الشبكات الحديثة، وتلعب دورًا حيويًا في ضمان الأمان والتأكد من هوية المستخدمين داخل الشبكة. يُعتبر Kerberos أحد أبرز البروتوكولات المستخدمة في هذا المجال، حيث يوفر وسيلة آمنة لاستيثاق الهوية عبر شبكة غير آمنة، باستخدام التشفير القوي والتذاكر لضمان عدم تعرض البيانات للاختراق أو التلاعب.
يتميز Kerberos بقدرته على تقديم خدمة الاستيثاق في بيئات العمل المعقدة، حيث يقوم بتوزيع التذاكر التي تُستخدم للتحقق من هوية المستخدمين والتأكد من صحتها. ولأن Kerberos يعتمد على مبدأ الثقة بين الأطراف في عملية التوثيق، فقد أصبح الخيار المثالي للعديد من المؤسسات لتأمين بيئاتها التقنية.
1. مقدمة عن خادوم Kerberos
تعتبر Kerberos أداة قوية لتهيئة بيئات أمان معتمدة على الشبكة، حيث يقوم بتوفير بروتوكول موحد وآمن للتوثيق. يعتمد البروتوكول على خادوم مركزي يسمى KDC (Key Distribution Center) الذي يدير عملية توزيع التذاكر ويعمل على التحقق من هوية المستخدمين والأجهزة المتصلة.
Kerberos مصمم خصيصًا للعمل في بيئات متعددة المستخدمين ويستخدم مفهوم التذاكر التي تحتوي على معلومات تشفير تُرسل بين العميل والخادوم لضمان التوثيق الآمن. تقوم هذه التذاكر بتسهيل عملية الاستيثاق بحيث لا يتعين على المستخدم إعادة إدخال بياناته في كل مرة يريد الوصول فيها إلى مورد معين داخل الشبكة.
2. مزايا استخدام Kerberos
-
الأمان العالي: يوفر Kerberos تشفيرًا قويًا للبيانات المرسلة بين الأطراف المختلفة في الشبكة.
-
المركزية: يعتمد على خادوم مركزي يتولى مهمة التوثيق مما يسهل عملية الإدارة والمراقبة.
-
التوسعة: يمكن استخدام Kerberos في بيئات متعددة الشبكات ويدعم العديد من الأنظمة.
-
عدم الحاجة لكلمات مرور متكررة: من خلال التذاكر الصادرة من خادوم KDC، يتمكن المستخدم من الوصول إلى الخدمات المتعددة دون الحاجة لإدخال كلمة مرور بشكل متكرر.
3. التنصيب والإعداد على أوبنتو
3.1 إعداد خادوم Kerberos على أوبنتو
قبل البدء في تثبيت Kerberos، يجب التأكد من أن النظام لديك مُحدَّث. يمكن تحديث النظام عبر تشغيل الأمر التالي في الطرفية:
bashsudo apt update && sudo apt upgrade
ثم نقوم بتثبيت الحزمة الخاصة بـ Kerberos:
bashsudo apt install krb5-kdc krb5-admin-server krb5-config
سيتطلب منك النظام إدخال بعض الإعدادات الأساسية أثناء عملية التثبيت، مثل اسم مجال Kerberos (عادةً ما يكون اسم المجال الذي تستخدمه في الشبكة).
3.2 تهيئة خادوم KDC
بعد تثبيت الحزم الضرورية، يجب إعداد KDC ليكون مستعدًا لإصدار التذاكر. للقيام بذلك، نقوم بتعديل ملف krb5.conf الموجود في /etc/krb5.conf وتحديثه ليعكس اسم المجال (realm) الذي سنستخدمه.
افتح الملف باستخدام محرر النصوص المفضل لديك:
bashsudo nano /etc/krb5.conf
قم بتعديل الإعدادات ضمن القسم [realms] بحيث يعكس المجال الذي ستستخدمه، مثل:
ini[realms]
EXAMPLE.COM = {
kdc = kerberos.example.com
admin_server = kerberos.example.com
}
ثم، قم بتعديل إعدادات القسم [domain_realm] لربط النطاق بنظام Kerberos:
ini[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
3.3 إنشاء قاعدة بيانات Kerberos
الخطوة التالية هي إنشاء قاعدة البيانات الخاصة بـ Kerberos والتي سيتم تخزين بيانات المستخدمين والتذاكر فيها. لإنشاء قاعدة البيانات، استخدم الأمر التالي:
bashsudo krb5_newrealm
سيُطلب منك إدخال كلمة مرور لـ KDC، وهي كلمة المرور التي ستُستخدم لحماية قاعدة البيانات الخاصة بـ Kerberos.
3.4 إعداد خادم إدارة Kerberos
بعد تكوين KDC، يجب إعداد خادم الإدارة الذي سيتعامل مع إدارة المستخدمين وتوزيع التذاكر. يمكن القيام بذلك عبر تحرير ملف krb5kdc.conf.
افتح الملف باستخدام محرر نصوص:
bashsudo nano /etc/krb5kdc/kdc.conf
ثم قم بتحديث الإعدادات بما يتناسب مع احتياجات الشبكة الخاصة بك.
3.5 إعادة تشغيل الخدمات
بمجرد الانتهاء من الإعدادات، يجب إعادة تشغيل الخدمات لتطبيق التغييرات:
bashsudo systemctl restart krb5-kdc sudo systemctl restart krb5-admin-server
4. إضافة مستخدمين إلى قاعدة بيانات Kerberos
يمكنك الآن إضافة مستخدمين إلى خادم Kerberos باستخدام الأوامر المناسبة. لإضافة مستخدم جديد، استخدم الأمر التالي:
bashsudo kadmin.local kadmin.local: addprinc user1
سيُطلب منك إدخال كلمة مرور للمستخدم. بعد ذلك، سيصبح المستخدم user1 قادرًا على الحصول على تذاكر Kerberos.
5. إعداد العميل (Client)
5.1 تثبيت الحزم على العميل
على جهاز العميل الذي سيصل إلى Kerberos، يجب تثبيت الحزم اللازمة للاتصال بخوادم Kerberos:
bashsudo apt install krb5-user
5.2 تهيئة العميل
بعد تثبيت الحزم على العميل، يجب تكوينه ليتصل بخادم Kerberos. للقيام بذلك، قم بتعديل الملف /etc/krb5.conf على العميل ليحتوي على نفس المعلومات الخاصة بالمجال (realm) و KDC كما فعلت في الخادم.
5.3 اختبار الاتصال
لاختبار الاتصال بـ Kerberos، استخدم الأمر التالي:
bashkinit user1
ستُطلب منك إدخال كلمة مرور المستخدم. بعد ذلك، يمكن التأكد من حصول العميل على تذكرة Kerberos عبر الأمر:
bashklist
6. إعداد خدمات أخرى لاستخدام Kerberos
بعد أن يكون لديك خادم Kerberos وقاعدة بيانات جاهزة، يمكنك تكامل Kerberos مع خدمات أخرى مثل SSH و Samba وغيرها. على سبيل المثال، لتمكين SSH لاستخدام Kerberos، يمكن تعديل ملف /etc/ssh/sshd_config ليحتوي على السطر التالي:
bashKerberosAuthentication yes
ثم يتم إعادة تشغيل الخدمة:
bashsudo systemctl restart ssh
7. حلول المشاكل الشائعة
7.1 التذاكر غير صالحة أو انتهت صلاحيتها
إذا واجهت مشكلة تتعلق بانتهاء صلاحية التذاكر، يمكنك استخدام الأمر التالي لتحديث التذكرة:
bashkinit
7.2 مشاكل الاتصال بـ KDC
إذا لم يتمكن العميل من الاتصال بـ KDC، تأكد من أن KDC يعمل بشكل صحيح وأن الإعدادات في krb5.conf على العميل صحيحة.
8. خاتمة
إعداد Kerberos على أوبنتو يعد خطوة هامة لضمان أمان الشبكة والحفاظ على سرية البيانات. من خلال التوزيع الصحيح للتذاكر والمصادقة المركزية، يمكن للمؤسسات ضمان تكامل الأنظمة وحمايتها من الهجمات المتقدمة. بفضل مرونته وقوته في التوثيق، يظل Kerberos أداة أساسية في تأمين الشبكات الحديثة.

