كيفية تثبيت وتكوين خادم OpenLDAP على Ubuntu

في عالم الرقمي السريع اليوم، البقاء على اطلاع على حسابات المستخدمين وضبط الوصول ليس بالأمر السهل. ولكن لا تخاف! OpenLDAP هو حلاً لمشاكلك، وهو تنفيذ مفتوح المصدر واسع الانتشار لبروتوكول الوصول إلى الدليل الخفيف (LDAP).

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

استمر في القراءة لتبسيط إدارة المستخدم وتبسيط سير العمل الخاص بتقنية المعلومات الخاصة بك!

المتطلبات المسبقة

يحتوي هذا البرنامج التعليمي على عروض توضيحية عملية في إعداد خادم OpenLDAP. إذا كنت ترغب في متابعته، تأكد من أن لديك ما يلي:

  • جهازان (واحد للخادم وواحد للعميل) يعملان بنظام Ubuntu 20.04 أو أحدث.
  • A non-root user with sudo privileges on both machines.

تثبيت خادم OpenLDAP على Ubuntuبدءًا من التأكد من جاهزية نظامك، ستنغمس الآن في جوهر إعدادك، وتثبيت خادم OpenLDAP. يحمل LDAP وزنًا كبيرًا في إدارة الخادم، خاصة عند إدارة حسابات المستخدمين وضبط الوصول داخل شبكة المؤسسة.

من أجل ضمان استعداد نظامك، أصبحت الآن تتعمق في قلب مجموعتك، حيث تقوم بتثبيت خادم OpenLDAP. يحمل LDAP وزناً كبيراً في إدارة الخوادم، خاصة عندما يتعلق الأمر بإدارة الحسابات المستخدم وتحديد الوصول داخل شبكة المؤسسة.

لتثبيت خادم OpenLDAP على نظامك، اتبع الخطوات التالية:

? طوال هذا الدليل، يجب عليك استخدام اسم المجال الخاص بك لاستبدال ata.com.

1. افتح المحطة الخاصة بك وقم بتنفيذ الأمر التالي لتعيين اسم الماكينة (على سبيل المثال، ldap.ata.com). لا يعطي هذا الأمر أي نتائج في المحطة ولكنه يسمح للأجهزة الأخرى على الشبكة بالتعرف على جهازك.

sudo hostnamectl set-hostname ldap.ata.com

2. بعد ذلك، قم بتشغيل apt update الأمر أدناه لتحديث فهرس الحزم الخاص بنظامك.

sudo apt update -y
Updating the system’s package list

3. بمجرد التحديث، قم بتشغيل أمر apt install أدناه لتثبيت ويب سيرفر أباتشي والمكونات الأساسية (وحدات PHP). تلك المكونات ضرورية لعمل OpenLDAP بشكل صحيح.

sudo apt install apache2 php php-cgi libapache2-mod-php php-mbstring php-common php-pear -y
Installing Apache web server and essential PHP modules

4. الآن، استدعي هذا الأمر لتثبيت خادم OpenLDAP وLDAP Account Manager (LAM)، أداة الإدارة المبوبة الويب الغنية.

sudo apt install slapd ldap-utils -y && sudo apt install ldap-account-manager -y
Installing the OpenLDAP server and LAM

5. قم بتوفير كلمة مرور مشرف لخادم LDAP الخاص بك عندما يطلب منك ذلك أثناء التثبيت.

Providing an admin password for the LDAP server

6. بمجرد تثبيته، قم بتنفيذ الأمر systemctl التالي للتأكد من حالة خادم OpenLDAP (slapd) status.

sudo systemctl status slapd
Confirming the OpenLDAP server is active and running

7. أخيرًا، اجرِ الأمر slapcat أدناه للتحقق من محتويات قاعدة البيانات LDAP.

sudo slapcat

A list of default schemas and configurations below indicates that OpenLDAP has been installed correctly.

Checking the LDAP database contents

الحفاظ على خادم OpenLDAP الآمن مع جدار الحماية UFW

لقد نجحت في تثبيت خادم OpenLDAP الخاص بك، لكن عليك تحسين دفاعاته قبل أن يتمكن من حماية الشبكة الخاصة بك. كيف؟ عن طريق الاستعانة بـUFW، جدار الحماية الافتراضي المعتمد لـ Ubuntu.

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

لضمان الاتصالات الآمنة على خادم OpenLDAP الخاص بك، يجب عليك فتح بعض المواقع لخادم OpenLDAP على النحو التالي:

قم بتنفيذ الأوامر ufw التالية للسماح بالمرور الوارد على المنافذ للHTTP (80) والHTTPS (443) والـ LDAP (389).

# السماح بالمرور الخاص بالـ HTTP
sudo ufw allow 80
# السماح بالمرور الخاص بالـ HTTPS
sudo ufw allow 443
# السماح بالمرور الخاص بالـ LDAP
sudo ufw allow 389
Configuring the UFW Firewall for OpenLDAP Server

الآن ، اجر الأمر التالي للتحقق من النظرة المفصلة للوضع والتكوين الحاليين لـ UFW على نظامك.

sudo ufw status verbose

يؤكد الإخراج التالي أن قواعد الحماية التي أضفتها تم تطبيقها بنجاح.

Checking the UFW status

تمكين دعم PHP في Apache لـ LAM

بعد تحصين أمان خادم LDAP الخاص بك بواسطة فيروال UFW ، يجب أن تتأكد من أن Apache يتعرف ويعالج ملفات PHP بشكل فعال. هذه الخطوة الحاسمة تشق الطريق للتكامل السلس بين Apache و LAM ، مما يسمح بإدارة فعالة لدليل LDAP الخاص بك.

لتمكين دعم PHP في Apache ، قم بما يلي:

1. اجر الأمر a2enconf التالي لتمكين ملف تكوين لواجهة برمجة تطبيقات PHP الشائعة (CGI) في Apache’s .

هذه الملفات التكوين تحتوي عادة على توجيهات متعلقة بتكوين PHP لـ Apache، مثل إعداد معالجات أو تحديد خيارات تنفيذ PHP. من خلال تمكين هذه الملفات التكوين، ستضمن أن Apache مؤهلة بشكل صحيح للتعامل مع سيناريوهات PHP باستخدام واجهة CGI.

sudo a2enconf php*-cgi
Enabling the PHP module

2. بمجرد تمكينها، قم بتنفيذ الأمر أدناه لـ إعادة التحميل خدمة Apache (apache2) لتطبيق التغييرات.

هذا الأمر لا يُخرج شيئًا ولكنه يضمن أن أي تعديلات تم إجراؤها على تكوين Apache تأخذ تأثيرًا. يشمل هذا العملية تمكين وحدة PHP CGI دون إعادة تشغيل الخدمة Apache بأكملها.

sudo systemctl reload apache2

3. الآن، استدعي هذا الأمر للتحقق من الحالة لخدمة apache2 للتأكد من أن كل شيء يعمل بشكل سليم.

sudo systemctl status apache2

سيظهر الناتج حالة الويب سيرفر Apache الحالية كما نشط (يعمل) بدون أي أخطاء، كما يلي.

Checking the status of the Apache service

إعداد واجهة LAM الويب

بعد تمكين دعم PHP في Apache لـ LAM، يتوجب عليك الآن التركيز على مركز مركزي حيث يمكنك التحكم في خادم OpenLDAP الخاص بك – واجهة LAM الويب. توفر هذه الواجهة الويب منصة مباشرة للمسؤولين مثلك لإشراف على خدمات الدليل.

لإعداد واجهة LAM الويب، اتبع هذه الخطوات:

1. اجر الأمر ifconfig أدناه لعرض معلومات الشبكة الخاصة بك.

ifconfig

انظر إلى واكتب عنوان IP لخادمك (على سبيل المثال، 192.168.1.7)، وعادة ما يشار إليه بـ إنت.

Noting down the server’s IP address

2. افتح متصفحك المفضل، وانتقل إلى عنوان IP للخادم الخاص بك متبوعًا بـ /lam في شريط العنوان (مثلاً، http://192.168.1.7/lam). القيام بذلك سيعيد توجيه متصفحك إلى واجهة LAM على الويب، كما يظهر أدناه.

Accessing the LAM web interface

3. انقر فوق تكوين LAM (أعلى اليمين) على صفحة الدخول للوصول إلى صفحة مدير الحسابات LDAP (الخطوة الرابعة).

Accessing the LAM Account Manager

4. الآن، انقر فوق تعديل إعدادات الخادم لتعديل إعدادات LAM الخاصة بك.

Editing server profiles to modify the LAM settings

5. أدخل كلمة المرور الافتراضية lam في صفحة الدخول الثانية، وانقر فوق موافق للتوثيق.

Authenticating access to the LAM web interface

6. بمجرد تسجيل الدخول، قم بتكوين التالية للخادم وإعدادات اللغة تحت الإعدادات العامة:

  • اللافظ الجذري – أدخل الاسم المميز الأساسي للدليل الخاص بك (DN)، مثل dc=ata,dc=com، واستبدالها بمكونات النطاق الخاصة بك.
  • اللغة الافتراضية – حدد تفضيلاتك للغة واجهة LAM على الويب.
  • المنطقة الزمنية – اختر المنطقة الزمنية التي تتماشى مع موقع الخادم الخاص بك، وهي مهمة لإدارة دقيقة لانتهاء صلاحية الحسابات.
Configuring the server and language settings

7. انظر إلى الأسفل وقم بتعيين الخيارات للأمان وكلمة المرور للملف الشخصي بالتالي:

  • قائمة المستخدمين الصالحين – أدرج DN لمستخدم LDAP الإداري الخاص بك، مثلاً cn=admin,dc=ata,dc=com.
  • كلمة المرور الجديدة و أعد إدخال كلمة المرور – قم بإنشاء وتأكيد كلمة مرور قوية للحساب الإداري لـ LAM لتبديل كلمة المرور الافتراضية الأولية.
  • أبقي الإعدادات الأخرى كالافتراضية، وانقر فوق حفظ لتطبيق تهيئتك. بمجرد الحفظ، سيتم إعادة توجيه متصفحك إلى صفحة تسجيل الدخول.
Configuring security settings and profile password

إنشاء مجموعات ومستخدمين في LAM

بمجرد أن تتاح لك لوحة تحكم LAM، تركز على تأسيس أساس لهيكل دليل منظم وآمن — المجموعات والمستخدمين. إنشاء المجموعات والمستخدمين يشبه تنظيم فريقك في أقسام وتعطي كل شخص بطاقته الشخصية.

لإنشاء مجموعات ومستخدمين في LAM، قم بتنفيذ ما يلي:

1. اتبع خطوات الخطوة الثالثة إلى الخامسة من قسم “إعداد واجهة LAM الإنترنتية” ولكن هذه المرة، أدخل كلمة المرور التي قمت بتهيئتها لخادم OpenLDAP.

2. في مدير الحسابات LAM، انتقل إلى علامة أنواع الحسابات لرؤية جميع خيارات أنواع الوصول.

Accessing the account types

3. بعد ذلك، انتقل إلى الأسفل وقم بتعيين لايبدي أختصارات وباستبدال <base_DN> (أي dc=ata,dc=com)، وفقًا لما يلي:

  • المستخدمينou=Departments,<base_DN>
  • المجموعاتou=Groups,<base_DN>
  • أبقي الإعدادات الأخرى كالافتراضية، وانقر فوق حفظ.

بعد الحفظ، سيتم إعادة توجيه متصفحك إلى صفحة تسجيل دخول المدير (الخطوة الرابعة).

Setting the LDAP suffixes

4. الآن، أدخل كلمة المرور الخاصة بالمشرف الذي قمت بتعيينها أثناء التثبيت، وانقر فوق تسجيل الدخول للوصول إلى خادم OpenLDAP الخاص بك.

Logging in to the OpenLDAP server

5. عندما يطلب منك، انقر فوق إنشاء لإنشاء السفرين الناقصين.

Creating the two missing suffixes

6. بعد الإنشاء، انقر فوق منظور الشجرة (أعلى اليمين) لرؤية السفرين الجديدين لـ LDAP (الأقسام و المجموعات) المعروضة بترتيب هرمي، كما يظهر في الأسفل.

Viewing the hierarchical structure

7. والآن، انقر فوق الأدوات (أعلى اليمين) واختر محرر OU لتكوين قسم جديد بالتالي:

  • DN الأصل – اختر القسم > ata > com لـ DN الأصل. هذا الخيار يحدد مكان إنشاء القسم الجديد داخل دليل LDAP الخاص بك.
  • الاسم – أدخل IT (تعسفي) كاسم للقسم (OU).

بمجرد التكوين، انقر فوق موافق لإضافة قسم جديد بـ IT.

Adding a new department within the LDAP directory

8. الآن، انتقل إلى اللسان المجموعات وانقر فوق مجموعة جديدة لإنشاء مجموعة جديدة.

إنشاء المجموعات ي简ين الإدارة، يعزز التعاون، يفرض السياسات، ويسهل القابلية التنموية للمنظمة.

Creating a new group

9. قم بتزويد اسم المجموعة الوصفي (أي، مجموعتي IP) وانقر فوق حفظ لتأكيد المجموعة الجديدة.

Naming the new group

10. بمجرد إنشاء المجموعة، انتقل إلى اللسان المستخدمين وانقر فوق مستخدم جديد لإنشاء مستخدم جديد.

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

Creating a new user

11. بعد ذلك، قم بتعيين معلومات شخصية للمستخدم كما يلي:

  • اختر IT > Departments > ata > com من قائمة التخفيض Suffix لوضع المستخدم في قسم IT.
  • في تبويب الشخصي (الجهة اليسرى),أدخل myituser (عشوائي) في حقل الكنية الاسم.
Setting the ne user’s personal information

12. قم بتكوين معرفات المستخدم الجديد بالتالي:

  • اذهب إلى تبويب Unix (الجهة اليسرى),وتأكد من أن اسم المجموعة التي تم إنشاؤها (مثلاً، My IP Group) محدد كـ المجموعة الأساسية.
  • انقر فوق Set password، الذي سيفتح مربع حوار حيث ستحدد كلمة المرور للمستخدم الجديد (خطوة 13).
Initiating setting a password for the new user

13. قم بتوفير كلمة مرور آمنة للمستخدم الجديد، وانقر فوق OK للتأكيد.

Providing a secure password

14. ترك الإعدادات الأخرى كما هي، وانقر فوق Save لتنهي إنشاء حساب المستخدم الجديد.

Saving the new user

15. عد إلى Tree view لرؤية التركيبة المحدثة مع القسم الجديد (IT)، المجموعة (My IP Group)، وحساب المستخدم (myituser) المشمولة.

Verifying the updated structure

تثبيت وتكوين OpenLDAP Client

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

دمج نظامك بنظام Ubuntu مع مخدم الدليل LDAP ينشئ آلية توثيق موحدة، مما يعزز الأمان ويبسط إدارة المستخدمين.

لتثبيت وتكوين عميل OpenLDAP، اتبع الخطوات التالية:

1. قم بتنفيذ الأمر sh التالي لإضافة إسم المضيف وعنوان IP لمخدم OpenLDAP إلى جهازك العميل في الملف /etc/hosts، مما يسمح بالتواصل بناء على إسم المضيف.

تذكر تبديل 192.168.1.7 و ldap.ata.com بعنوان IP وإسم المضيف لخادمك.

sudo sh -c 'echo "192.168.1.7 ldap.ata.com" >> /etc/hosts'
Adding the OpenLDAP server’s hostname and IP address to the hosts file

2. بمجرد الإضافة، قم بتشغيل الأمر ping أدناه للتحقق من اتصال بين نظامك ومخدم OpenLDAP الخاص بك (ldap.ata.com).

ping -c3 ldap.ata.com

سيؤكد الناتج أدناه أن جهاز العميل يستطيع الاتصال بنجاح مع مخدم OpenLDAP باستخدام العنوان IP وإسم المضيف المحدد.

Pinging the LDAP server

3. بعد ذلك، قم بتشغيل الأمر أدناه لتحديث قوائم الحزم وتثبيت حزم عميل OpenLDAP الضرورية التالية:

  • libnss-ldap – يمكن لنظامك استخدام LDAP لقواعد بيانات التكوين الشائعة.
  • libpam-ldap – يتيح التحقق من الهوية على الشبكة لمجلدات LDAP.
  • ldap-utils – يوفر أدوات سطر الأوامر لإدارة مدخلات مجلد LDAP.
  • nscd – يتيح ذاكرة مؤقتة لبحث NSS، مما يحسن الأداء بتقليل استفسارات الخادم LDAP.
sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd -y

خلال التثبيت، ستحصل على سلسلة من الاستفسارات لتكوين عميل OpenLDAP (الخطوة الرابعة).

Updating the package lists and installing the necessary OpenLDAP client packages

4. الآن، أدخل ldap://192.168.1.7 في حقل معرف المورد الوحيد للـ LDAP، الذي يوجه العميل إلى خادم OpenLDAP الخاص بك.

Setting the LDAP server Uniform Resource Identifier

5. أدخل الـ DN لقاعدة البحث (أي dc=ata,dc=com) لعمليات LDAP.

Entering the DN of the search base

6. اختر 3 لإستخدام إصدار LDAP لتحسين الأمان والميزات

Selecting the preferred LDAP version

7. بعد ذلك، اختر نعم لتمنح مستخدم الجذر صلاحيات إدارة قاعدة البيانات.

Making local root a Database admin

8. بعد ذلك، اختر لا لإدارة حساب الجذر لتعطيل تسجيل الدخول في قاعدة بيانات LDAP.

Disabling the LDAP database login

9. أدخل حساب LDAP للجذر (أي cn=admin,dc=ata,dc=com) هذا التكوين يحدد الحساب الإداري لإدارة LDAP.

Provide the LDAP account for the root

10. أدخل كلمة مرور قوية لحساب الجذر LDAP (كلمة مرور الإدارة).

Provide an LDAP root account password

11. بعد تكوين العميل، افتح ملف /etc/nsswitch.conf في المحرر المفضل لديك (أي nano أو vim) لتكوين مفتاح خدمة الأسماء للنظام.

هذا الملف يقرر الترتيب التي يبحث فيها النظام عن أشياء مثل حسابات المستخدمين والمجموعات والمضيفات والخدمات.

12. قم بتغيير قيم السطور التالية في ملف /etc/nsswitch.conf لتشمل ما يلي:

compat – يشير إلى الملفات المحلية مثل /etc/passwd.

ldap – يحدد استخدام LDAP.

هذه التكوينة تسمح باستخدام تصريح هوية مستخدم LDAP وغيره من وظائف النظام

passwd:         compat systemd ldap
group:          compat systemd ldap
shadow:         compat
Allowing the use of LDAP user authentication

13. الآن، افتح ملف /etc/pam.d/common-password، اعثر على خيار use_authtok وأزله كما هو مبرز أدناه، واحفظ التغييرات وأغلق الملف.

هذا الإجراء يسمح لك بتعديل إعدادات كلمة المرور PAM لاستخدام كلمة المرور المقدمة من المستخدم.

Adjusting the PAM password settings

14. بالإضافة إلى ذلك، افتح ملف /etc/pam.d/common-session، أضف السطر التالي واحفظ وأغلق الملف.

بمجرد تسجيل دخول المستخدم، سيقوم هذا التكوين بإضافة إنشاء دليل المنزل التلقائي لضمان إنشاء دليل المنزل للمستخدمين بصلاحيات صحيحة.

session optional pam_mkhomedir.so skel=/etc/skel umask=077
Adding automatic home directory creation upon user login

15. أخيرًا، قم بتشغيل الأمر أدناه لإعادة تشغيل ديمون الخبيئة لخدمة الأسماء (nscd) وتطبيق تغييرات التكوين.

sudo systemctl restart nscd

تحقق من إعداد OpenLDAP الخاص بك

بمجرد أن يكون كل شيء في مكانه، يجب عليك التأكد من أن خوادم OpenLDAP وتكوينات العميل يعملون كما هو متوقع. ستقوم بالاختبار لتؤكد تمكن الوصول إلى دليل LDAP، وأن المستخدمين يمكنهم التحقق بنجاح، وأن البيانات تتم الاسترجاع والتحديث بشكل صحيح.

للتأكد من سلامة وعملية إعداد خوادم OpenLDAP والعميل الخاص بك، قم بما يلي:

أجراء الأمر ldapsearch التالي للاستعلام في دليل LDAP الخاص بك لجميع حسابات المستخدمين.

ldapsearch -x -H ldap://192.168.1.7 -b "dc=ata,dc=com"

سترى خرج يبدو أشبه بما يلي هنا، يسرد تفاصيل كل مستخدم. هذا الخرج يخبر بأن خادم OpenLDAP يستجيب بشكل صحيح لاستعلامات البحث الخاصة بك.

Querying the LDAP directory for all user accounts

أخيرًا، حاول الولوج (su) إلى حساب المستخدم myituser.

su - myituser

تم الولوج بنجاح يشير إلى أن التحقق الشخصي ضد خادم OpenLDAP يعمل كما هو متوقع.

? رسالة الولوج الناجحة قد لا تظهر دائمًا؛ بدلاً من ذلك، قد تتم الولوج فقط ويتم عرض سطر الأوامر الجديد، كما هو موضح أدناه. إذا كانت هناك أي أخطاء، سيتم عرضها وستظل متصلًا كمستخدم حالي.

Logging in as the myituser user

خاتمة

لقد قمتَ بذلك! الآن يمتلك الخادم الأوبونتو نظام OpenLDAP يعمل بشكل كامل مع جدار حماية آمن، وخادم ويب بدعم PHP، وواجهة مدير حسابات LDAP الجذابة.

تم تعيين مجموعات وحسابات المستخدمين، وعميل OpenLDAP الخاص بك جاهز للاتصال. بالتالي، يمكنك أن تكون واثقًا من أداء الخادم الخاص بك.

الآن، قم بأخذ بعض الوقت لتصفح صفحة الوثائق الرسمية الشاملة لـ OpenLDAP، المليئة بالنصائح والحيل القيمة. كما لماذا لا تفكر في تعلم كيفية نسخ احتياطي واستعادة خادم OpenLDAP الخاص بك لضمان سلامة حسابات المستخدمين والتكوينات الخاصة بك؟

Source:
https://adamtheautomator.com/openldap/