يُعد بروتوكول LDAP بروتوكولاً أساسياً للهوية منذ أوائل التسعينيات، عندما تم تطويره كبديل أبسط لبروتوكول الوصول إلى الدليل X.500. ولا يزال هذا البروتوكول مدمجاً في معظم بيئات المؤسسات اليوم، ويستمر في تشكيل الأساس لخدمات المصادقة وخدمات الدليل، حتى في ظل تبنّي المؤسسات لحلول الهوية السحابية.
يعمل بروتوكول LDAP وفقًا لنموذج «العميل-الخادم»، حيث يرسل عميل LDAP الطلبات إلى خادم الدليل، الذي يقوم بتخزين المعلومات واسترجاعها من دليل مركزي. ويتم الاتصال عبر بروتوكول TCP/IP، عادةً على المنفذ 389 للاتصالات القياسية أو المنفذ 636 لبروتوكول LDAPS (LDAP عبر SSL/TLS).
بشكل عام، يتألف تبادل البيانات عبر بروتوكول LDAP من أربع خطوات:
- الاتصال:يقوم العميل بفتح جلسة TCP مع خادم LDAP.
- التجليد: يقوم العميل بتوثيق هويته لدى الخادم، إما بشكل مجهول أو باستخدام بيانات الاعتماد.
- الطلب:يقوم العميل بإصدار عملية، مثل طلب بحث أو تعديل، على الدليل.
- الرد:يقوم الخادم بإرجاع البيانات المطلوبة أو رمز الحالة، ثم يقوم العميل في النهاية بإصدار أمر «unbind» لإغلاق الجلسة.
ينظم الخادم بياناته في شكل شجرة هرمية ويستجيب لمجموعة محددة من العمليات، بما في ذلك الربط، والبحث، والمقارنة، والإضافة، والتعديل، والحذف، وفك الربط. ويُعد نموذج الوصول المشترك في الوقت الفعلي هذا هو ما يجعل بروتوكول LDAP مناسبًا تمامًا للبيئات التي تحتاج فيها العديد من التطبيقات إلى الاستعلام عن بيانات الهوية من نفس المصدر المرجعي.
هيكل دليل LDAP
يخزن دليل LDAP المعلومات في شجرة هرمية تُعرف باسم «شجرة معلومات الدليل» (DIT). ويمثل كل إدخال في الشجرة كائنًا (مثل مستخدم أو مجموعة أو جهاز)، ويتم تعريفه بواسطة «اسم مميز» (DN) فريد يصف موضعه في التسلسل الهرمي.
يتكون DN من سلسلة من المكونات التي تُقرأ من الأكثر تحديدًا إلى الأكثر عمومية:
- cn(الاسم الشائع)، مثل الاسم الكامل للشخص
- أو(وحدة تنظيمية)، مثل قسم ما
- dc(مكون النطاق)، مثل أجزاء من اسم النطاق
على سبيل المثال، يُحدد اسم DN cn=John Smith,ou=Engineering,dc=example,dc=com مستخدمًا يُدعى جون سميث في الوحدة التنظيمية «Engineering» ضمن نطاق example.com.
عمليات LDAP
يحدد بروتوكول LDAP مجموعة صغيرة من العمليات المعيارية التي تغطي دورة الحياة الكاملة لتفاعل العميل مع الدليل، بدءًا من المصادقة وصولاً إلى عمليات القراءة والكتابة وإنهاء الجلسة.
- ربط: تقوم بالمصادقة على العميل لدى خادم الدليل وإنشاء جلسة عمل مصدقة. وتُعد عملية الربط (bind) هي ما يجعل بروتوكول LDAP قابلاً للاستخدام كآلية مصادقة، حيث إن نجاح عملية الربط يؤكد أن بيانات الاعتماد المقدمة تتطابق مع إدخال صالح في الدليل.
- بحث: يبحث في الدليل عن الإدخالات التي تتطابق مع معايير محددة، باستخدام صيغة تصفية لتحديد السمات والقيم التي يجب إرجاعها. ويُعد البحث أكثر عمليات LDAP استخدامًا، وهو الذي يدعم حالات الاستخدام مثل البحث عن المستخدمين، والتحقق من عضوية المجموعات، وتصفح الدليل.
- قارن: يتحقق مما إذا كانت قيمة سمة معينة تتطابق مع القيمة المخزنة في أحد السجلات، ويُرجع استجابة «صحيح» أو «خطأ» دون الكشف عن القيمة المخزنة نفسها. غالبًا ما تُستخدم وظيفة «المقارنة» في مهام التحقق البسيطة التي لا تتطلب إجراء بحث شامل.
- إضافة: ينشئ إدخالاً جديداً في الدليل في موقع محدد ضمن الشجرة. تُستخدم عمليات الإضافة عادةً أثناء عملية تجهيز المستخدمين، عندما يتعين تسجيل حسابات أو مجموعات أو أجهزة جديدة في الدليل.
- تعديل: يقوم بتحديث سمات إدخال موجود، مما يتيح إجراء تغييرات مثل إعادة تعيين كلمة المرور، أو تحديث عضوية المجموعات، أو تعديل الملف الشخصي. وتدعم وظيفة «التعديل» إضافة قيم السمات الفردية واستبدالها وحذفها داخل الإدخال.
- تعديل اسم التمييز (DN): يُعيد تسمية أحد العناصر أو ينقله إلى موقع آخر في شجرة الدليل. تُستخدم ميزة «تعديل DN» عند حدوث تغييرات في الهياكل التنظيمية، مثل انتقال مستخدم من قسم إلى آخر أو إعادة هيكلة وحدة تنظيمية.
- حذف: يزيل إدخالاً من الدليل. تُستخدم عملية الحذف عادةً أثناء عملية إلغاء التخصيص، عندما يتم إيقاف الحسابات أو الموارد ويصبح من الضروري مسح سجلاتها من الدليل.
- إلغاء الربط: يغلق جلسة عمل العميل وينهي الاتصال بالخادم. وعلى الرغم من أن الاسم يوحي بأنه يعكس عملية الربط (bind)، فإن الأمر «unbind» يشير في الواقع إلى أن العميل قد انتهى من عمله ويحرر موارد الخادم المرتبطة به.
- العمليات الموسعة: هو إطار عمل يتيح للموردين وهيئات المعايير تحديد عمليات إضافية تتجاوز المجموعة الأساسية. ويُعد StartTLS، الذي يعمل على ترقية اتصال LDAP القياسي إلى اتصال مشفر، أحد أكثر العمليات الموسعة استخدامًا.
يُستخدم بروتوكول LDAP في بيئات المؤسسات لتركيز بيانات الهوية وتمكين الوصول المتسق إلى تلك البيانات من تطبيقات وخدمات متعددة. وتشمل حالات الاستخدام الشائعة ما يلي:
- المصادقة المركزية: التحقق من صحة بيانات اعتماد المستخدمين للعديد من التطبيقات من دليل واحد، مما يقلل من انتشار كلمات المرور والأعباء الإدارية
- إدارة المستخدمين والمجموعات: تخزين وتنظيم السجلات الخاصة بالموظفين والمتعاقدين وحسابات النظام، إلى جانب المجموعات والأذونات المرتبطة بها
- دفتر العناوين والبحث عن جهات الاتصال: تمكين برامج البريد الإلكتروني وأدوات التعاون من الاستعلام عن معلومات الاتصال من دليل الشركة
- إدارة الأجهزة والموارد: تتبع موارد الشبكة مثل الطابعات والخوادم ووحدات التخزين المشتركة
- أسس نظام تسجيل الدخول الموحد: يُعد مصدر الهوية الأساسي الذي تستخدمه أنظمة تسجيل الدخول الموحد (SSO) للتحقق من هوية المستخدمين واسترجاع سمات ملفاتهم الشخصية
المصادقة عبر LDAP هي العملية التي يتحقق من خلالها أحد التطبيقات من هوية المستخدم عن طريق الربط بدليل LDAP باستخدام بيانات الاعتماد التي قدمها المستخدم. وإذا أكد الدليل أن بيانات الاعتماد تتطابق مع إدخال صالح، يتم المصادقة على المستخدم ويُمنح حق الوصول إلى التطبيق الطالب.
تسير عملية المصادقة النموذجية عبر بروتوكول LDAP على النحو التالي:
- يقوم المستخدم بإدخال بيانات الاعتماد (عادةً ما تكون اسم المستخدم وكلمة المرور) في أحد التطبيقات.
- يرسل التطبيق طلب ربط LDAP إلى خادم الدليل متضمناً بيانات الاعتماد تلك.
- يقوم خادم LDAP بتحديد موقع إدخال المستخدم داخل شجرة الدليل باستخدام المعرّف المقدم.
- يقوم الخادم بمقارنة كلمة المرور التي تم إدخالها مع بيانات الاعتماد المخزنة لتلك الإدخالة.
- يقوم الخادم بإرجاع استجابة بنجاح أو فشل إلى التطبيق.
- في حالة النجاح، يمنح التطبيق المستخدم حق الوصول إلى المورد المطلوب.
الربط البسيط مقابل الربط عبر SASL
يدعم بروتوكول LDAP آليتين أساسيتين للربط، ويكون للاختيار بينهما آثار أمنية كبيرة على كيفية نقل بيانات الاعتماد والتحقق منها أثناء عملية المصادقة.
A ربط بسيط يرسل اسم المستخدم وكلمة المرور مباشرةً إلى الخادم، الذي يرسل بيانات الاعتماد بنص عادي ما لم يكن الاتصال محميًّا ببروتوكول TLS (كما هو الحال مع LDAPS أو StartTLS).
A ربط SASL (طبقة المصادقة والأمان البسيطة) تدعم آليات مصادقة أقوى، بما في ذلك كيربيروس وشهادات العميل وطرق أخرى قابلة للتوصيل، وهي تُفضل في البيئات التي يُشكل فيها تعرض بيانات الاعتماد مصدر قلق.
غالبًا ما يتم الخلط بين LDAP و«Active Directory»، لكنهما ليسا تقنيتين متنافستين. فـ LDAP هو بروتوكول مفتوح للوصول إلى معلومات الدليل، في حين أن «Active Directory» هو منتج لخدمة الدليل من نوع Microsoft يستخدم LDAP كإحدى طرق الوصول التي يدعمها.
ببساطة، يستخدم Active Directory بروتوكول LDAP، لكن LDAP ليس Active Directory. كما أن العديد من خدمات الدليل غير التابعة لـ Microsoft، بما في ذلك OpenLDAP و389 Directory Server وOracle Internet Directory، تطبق أيضًا بروتوكول LDAP.
تُعد بروتوكولات LDAP وSAML وOAuth بروتوكولات مترابطة لكنها متميزة عن بعضها، وتهدف إلى حل مشكلات مختلفة ضمن النطاق الأوسع لإدارة الهوية والوصول.
- LDAPيتولى إدارة الوصول إلى الدليل والمصادقة، وعادةً ما يكون ذلك للموارد المحلية والتطبيقات الداخلية. وهو بروتوكول يُستخدم للاستعلام عن الدليل وتعديله، ويمكنه إجراء المصادقة من خلال عملية «الربط» (bind).
- SAML (لغة ترميز تأكيدات الأمان) تتيح المصادقة الموحدة لتسجيل الدخول مرة واحدة عبر الويب، من خلال تبادل تأكيدات المصادقة والتفويض بين مزود الهوية ومزود الخدمة. وتُستخدم عادةً لتسجيل دخول المستخدمين إلى التطبيقات السحابية وتطبيقات SaaS.
- OAuth هو بروتوكول تفويض يتيح لتطبيقات الجهات الخارجية الحصول على وصول محدود إلى موارد المستخدم دون الكشف عن بيانات الاعتماد. وهو ينظم ما يمكن للتطبيق القيام به نيابة عن المستخدم، وليس هوية المستخدم نفسه.
تعتمد العديد من البيئات الحديثة على هذه العناصر الثلاثة جميعها: LDAP كدليل أساسي لبيانات المستخدمين، وSAML لتسجيل الدخول الموحد (SSO) المتحد إلى التطبيقات السحابية، وOAuth للوصول المفوض إلى واجهات برمجة التطبيقات (API). ولإلقاء نظرة أعمق على كيفية تفاعل طبقات المصادقة والحوكمة معًا، انظر مقالة RSA حول إدارة الهوية وإدارة الهوية والوصول (IAM) .
لا يزال نظام LDAP مستخدمًا على نطاق واسع، ولم يتم استبداله بشكل كامل، حتى مع تبنّي المؤسسات لمزودي الهوية السحابية وتطبيقات SaaS. ولا تزال معظم بيئات المؤسسات تعتمد على أدلة LDAP الحالية باعتبارها المصدر الموثوق لبيانات المستخدمين، كما أن منصات إدارة الهوية والوصول (IAM) الحديثة مصممة عمومًا للتكامل مع تلك الأدلة بدلاً من استبدالها.
الاتجاه السائد ينحو نحو البنى الهجينة التي تتعايش فيها أدلة LDAP مع مزودي الهوية السحابية، ومنصات تسجيل الدخول الموحد (SSO)، وطبقات المصادقة متعددة العوامل. وبدلاً من إجراء عملية ربط بسيطة ومنح حق الوصول، تلجأ المؤسسات بشكل متزايد إلى دمج المصادقة عبر LDAP مع ضوابط إضافية، بما في ذلك المصادقة متعددة العوامل، والمصادقة بدون كلمة مرور، والمصادقة التكيفية، وقرارات الوصول القائمة على المخاطر، والتحقق المستمر. ويحافظ هذا النهج المتعدد الطبقات على الاستثمارات الحالية في الدلائل، مع معالجة المخاطر المرتبطة ببيانات الاعتماد التي لا يمكن لعمليات الربط البسيطة عبر LDAP التخفيف من حدتها.
RSA حلول إدارة الهوية والوصول التكامل مع أدلة LDAP الحالية لإضافة آليات مصادقة حديثة وضوابط وصول فوق البنية التحتية القديمة. تعمل RSA على توسيع نطاق المصادقة المدعومة بـ LDAP لتشمل المصادقة متعددة العوامل (MFA) وخيارات المصادقة بدون كلمة مرور والوصول القائم على تقييم المخاطر، مما يتيح للمؤسسات تعزيز أمن الهوية دون الحاجة إلى استبدال خدمات الدليل التي تعتمد عليها بالفعل.
لا يقوم بروتوكول LDAP نفسه بتشفير حركة المرور بشكل افتراضي، كما أن اتصالات LDAP القياسية تنقل بيانات اعتماد الربط في شكل نص عادي. يصبح LDAP آمنًا عند نشره مع LDAPS أو StartTLS لتشفير الاتصال، إلى جانب آليات مصادقة قوية مثل SASL وضوابط إضافية مثل المصادقة متعددة العوامل. وبدون هذه الحماية، يكون LDAP عرضة لهجمات اعتراض بيانات الاعتماد وهجمات الحقن.
يستخدم بروتوكول LDAP المنفذ TCP رقم 389 للاتصالات القياسية غير المشفرة، والمنفذ TCP رقم 636 لبروتوكول LDAPS، الذي يقوم بتشفير الاتصالات باستخدام SSL/TLS. ويُعد StartTLS بديلاً يبدأ على المنفذ 389 ويقوم بترقية الاتصال إلى جلسة مشفرة. تستخدم خدمات الدليل العام في Active Directory المنفذين 3268 و3269 كبديل مشفر.
ينقل بروتوكول LDAP البيانات عبر اتصال TCP غير مشفر على المنفذ 389، مما يعرض بيانات الاعتماد واستعلامات الدليل لخطر الاعتراض. أما بروتوكول LDAPS فيغلف بروتوكول LDAP نفسه بقناة مشفرة بواسطة SSL/TLS على المنفذ 636، مما يحمي الاتصال من التنصت والتلاعب. يُعد بروتوكول LDAPS ضروريًا بشكل عام في البيئات التي تمر فيها بيانات الدليل الحساسة أو حركة مرور المصادقة عبر شبكات غير موثوق بها.
نعم، لا يزال بروتوكول LDAP مستخدمًا على نطاق واسع في بيئات المؤسسات. فهو لا يزال يُستخدم كبروتوكول الدليل الأساسي لـ Active Directory و OpenLDAP وخدمات الدليل الأخرى، ولا يزال يُعتمد عليه في المصادقة وتوفير حسابات المستخدمين والبحث في الدليل عبر البنى المحلية والهجينة. وعادةً ما تتكامل منصات الهوية السحابية مع بروتوكول LDAP بدلاً من استبداله.
استعلام LDAP هو طلب بحث يُرسل من عميل LDAP إلى خادم الدليل لاسترداد الإدخالات التي تتطابق مع معايير محددة. تستخدم الاستعلامات صيغة تصفية محددة، مثل (&(objectClass=user)(department=Engineering))، لتحديد السمات والقيم التي يجب إرجاعها. تستخدم التطبيقات استعلامات LDAP للبحث عن المستخدمين والمجموعات وكائنات الدليل الأخرى على نطاق واسع.
نعم، يمكن لـ LDAP دعم التطبيقات السحابية من خلال مزامنة الدلائل، أو عروض «LDAP كخدمة»، أو التكامل مع مزودي الهوية السحابية الذين يقومون بتوحيد عملية المصادقة مع دلائل LDAP المحلية. تستخدم العديد من المؤسسات SAML أو SCIM جنبًا إلى جنب مع LDAP لربط الدلائل المحلية بتطبيقات SaaS، مع الحفاظ على LDAP كمصدر موثوق للهوية.