إن تي إل إم (NTLM)

آلية عمل NTLM

يعتمد NTLM على آلية “التحدي والاستجابة” للمصادقة. عند محاولة مستخدم الوصول إلى مورد محمي على الشبكة، تحدث سلسلة من التبادلات بين العميل (جهاز المستخدم)، والخادم (الذي يستضيف المورد)، ووحدة التحكم بالمجال (Domain Controller) – إن وجدت.

فيما يلي الخطوات الرئيسية في عملية مصادقة NTLM:

  1. العميل يرسل طلبًا للمصادقة: يرسل العميل طلبًا إلى الخادم، معلناً عن رغبته في الوصول إلى مورد معين. يتضمن هذا الطلب اسم المستخدم (اسم تسجيل الدخول).
  2. الخادم يرسل “تحديًا”: يرد الخادم على العميل بـ “تحدي” (Challenge). هذا التحدي عبارة عن سلسلة عشوائية من البيانات يتم إنشاؤها بواسطة الخادم.
  3. العميل يستجيب للتحدي: يقوم العميل بتشفير التحدي باستخدام كلمة مرور المستخدم (أو بالأحرى، دالة تجزئة لكلمة المرور). تسمى النتيجة “الاستجابة” (Response). ثم يرسل العميل هذه الاستجابة مرة أخرى إلى الخادم.
  4. الخادم يتحقق من الاستجابة: يقوم الخادم بإعادة توجيه اسم المستخدم والاستجابة إلى وحدة التحكم بالمجال (Domain Controller). تقوم وحدة التحكم بالمجال بتجزئة كلمة مرور المستخدم المخزنة لديها (أو استردادها من قاعدة البيانات المخزنة لديها) ثم تستخدم هذه التجزئة لتشفير التحدي الأصلي. إذا كانت النتيجة (الاستجابة المحسوبة) مطابقة للاستجابة التي أرسلها العميل، فهذا يعني أن العميل قد قدم كلمة المرور الصحيحة.
  5. منح الوصول: إذا كانت الاستجابات متطابقة، تقوم وحدة التحكم بالمجال بإعلام الخادم بأن المصادقة ناجحة. ثم يمنح الخادم حق الوصول إلى المورد المطلوب للعميل.

إصدارات NTLM

تطورت NTLM عبر عدة إصدارات، كل منها يهدف إلى تحسين الأمان وإضافة ميزات جديدة. بعض الإصدارات الرئيسية تشمل:

  • NTLMv1: الإصدار الأصلي من البروتوكول. يعتبر الآن غير آمن للغاية بسبب نقاط الضعف الأمنية المعروفة.
  • NTLMv2: إصدار محسّن من البروتوكول يعالج بعض نقاط الضعف الموجودة في NTLMv1. يستخدم NTLMv2 تجزئة أقوى ويضيف آليات لمنع هجمات الوسيط (Man-in-the-Middle).
  • NTLM2 Session Security: إضافة إلى NTLMv2 توفر تشفيرًا لرسائل المصادقة لزيادة الأمان.

نقاط الضعف الأمنية في NTLM

على الرغم من أن NTLMv2 أكثر أمانًا من NTLMv1، إلا أنه لا يزال يعاني من بعض نقاط الضعف الأمنية:

  • هجمات تمرير التجزئة (Pass-the-Hash): يمكن للمهاجم الذي تمكن من الحصول على تجزئة لكلمة مرور المستخدم استخدام هذه التجزئة مباشرة لمصادقة نفسه على الخادم دون الحاجة إلى معرفة كلمة المرور الفعلية.
  • هجمات التخمين القوي (Brute-Force Attacks): على الرغم من أن NTLM يستخدم تجزئة لكلمات المرور، إلا أن التجزئات المستخدمة (خاصة في NTLMv1) قد تكون عرضة لهجمات التخمين القوي، خاصة إذا كانت كلمات مرور المستخدمين ضعيفة.
  • هجمات الوسيط (Man-in-the-Middle Attacks): على الرغم من أن NTLMv2 يتضمن آليات لمنع هجمات الوسيط، إلا أنها ليست مضمونة تمامًا ويمكن تجاوزها في بعض الحالات.

بدائل NTLM

نظرًا لنقاط الضعف الأمنية المرتبطة بـ NTLM، توصي مايكروسوفت باستخدام بروتوكول Kerberos للمصادقة في بيئات Active Directory الحديثة. يوفر Kerberos العديد من المزايا الأمنية مقارنة بـ NTLM، بما في ذلك:

  • المصادقة المتبادلة: يتحقق كل من العميل والخادم من هوية الآخر، مما يمنع هجمات انتحال الهوية.
  • التشفير القوي: يستخدم Kerberos خوارزميات تشفير قوية لحماية رسائل المصادقة.
  • تفويض الهوية: يسمح Kerberos للعميل بتفويض هويته إلى الخادم، مما يسمح للخادم بالوصول إلى موارد أخرى نيابة عن العميل.

بالإضافة إلى Kerberos، هناك بروتوكولات مصادقة أخرى يمكن استخدامها كبدائل لـ NTLM، مثل:

  • OAuth: بروتوكول تفويض مفتوح يستخدم على نطاق واسع لتفويض الوصول إلى الموارد عبر الإنترنت.
  • SAML: لغة ترميز التأكيد الأمني (Security Assertion Markup Language) تستخدم لتبادل بيانات المصادقة والترخيص بين الأطراف المختلفة.

اعتبارات التكوين والإدارة

عند استخدام NTLM، من المهم مراعاة بعض جوانب التكوين والإدارة لتقليل المخاطر الأمنية:

  • تعطيل NTLMv1: يجب تعطيل NTLMv1 قدر الإمكان لأنه يعتبر غير آمن للغاية.
  • فرض استخدام NTLMv2: يجب تكوين الشبكة لفرض استخدام NTLMv2 فقط.
  • فرض سياسات كلمات مرور قوية: يجب على المستخدمين استخدام كلمات مرور قوية ومعقدة لمنع هجمات التخمين القوي.
  • مراقبة حركة مرور NTLM: يجب مراقبة حركة مرور NTLM للكشف عن أي أنشطة مشبوهة.

NTLM في سياق التطبيقات الحديثة

على الرغم من أن NTLM يعتبر بروتوكولًا قديمًا، إلا أنه لا يزال يلعب دورًا في بعض التطبيقات الحديثة، خاصة في السيناريوهات التي تتضمن التوافق مع الأنظمة القديمة أو التكامل مع الخدمات المستندة إلى ويندوز. على سبيل المثال، قد تستخدم بعض تطبيقات الويب NTLM للمصادقة إذا كانت تستضيف على خوادم IIS وتتطلب الوصول إلى موارد الشبكة المحلية. بالإضافة إلى ذلك، قد تستخدم بعض الأدوات والبرامج الإدارية NTLM للمصادقة على الأجهزة البعيدة أو الوصول إلى خدمات النظام.

ومع ذلك، من المهم ملاحظة أنه حتى في هذه السيناريوهات، يجب أن يكون NTLM هو الخيار الأخير، ويجب استبداله ببروتوكولات أكثر أمانًا مثل Kerberos أو OAuth كلما أمكن ذلك. يجب على المطورين والمسؤولين تقييم المخاطر الأمنية المرتبطة باستخدام NTLM وتنفيذ تدابير تخفيف مناسبة، مثل تعطيل NTLMv1 وفرض استخدام NTLMv2 وتطبيق سياسات كلمات مرور قوية.

بالإضافة إلى ذلك، يجب أن يكون المطورون على دراية بالقيود المفروضة على استخدام NTLM في التطبيقات الحديثة، مثل عدم توافقه مع بعض التقنيات والمنصات، وصعوبة تنفيذه في البيئات المعقدة. بدلاً من ذلك، يجب عليهم استكشاف خيارات المصادقة الحديثة الأخرى التي توفر أمانًا وأداءً وموثوقية أفضل، مثل OpenID Connect و SAML و JWT.

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

خاتمة

إن تي إل إم (NTLM) هو بروتوكول مصادقة قديم ولكنه لا يزال قيد الاستخدام في شبكات ويندوز. على الرغم من أنه يوفر طريقة للمصادقة والترخيص، إلا أنه يعاني من العديد من نقاط الضعف الأمنية. يوصى باستخدام بروتوكولات أكثر أمانًا مثل Kerberos كلما أمكن ذلك. عند استخدام NTLM، من المهم اتباع أفضل الممارسات لتكوينه وإدارته لتقليل المخاطر الأمنية.

المراجع