تأمين كلمات مرور مسؤولي Windows باستخدام Microsoft LAPS

كيف تتعامل حاليًا مع كلمات مرور المسؤول المحلي لنظام ويندوز؟ يحتوي كل نظام ويندوز على كلمة مرور للمسؤول المحلي وله مفاتيح للوصول إلى كل حاسوب. نظرًا لأن كلمات المرور المحلية للمسؤول ليست جزءًا من Active Directory (AD)، يجب عليك إدارة كل حساب على كل حاسوب بشكل منفصل. إنه مزعج.

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

يمكن أن يساعدك حل كلمة مرور المسؤول المحلي لشركة مايكروسوفت (LAPS).

في هذه المقالة، ستتعلم كيفية تأمين حواسيبك المتصلة بـ AD من خلال إعداد LAPS.

ما هو حل كلمة مرور المسؤول المحلي لشركة مايكروسوفت؟

يعد LAPS جزءًا حيويًا من الحفاظ على بيئة ويندوز آمنة. إن LAPS هو أداة تعمل بطريقة ذكية؛ فهو يقوم تلقائيًا بتعشيش كلمة مرور المسؤول المحلي على جميع الحواسيب في النطاق مع تنشيط LAPS ويغير كل كلمة مرور بانتظام.

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

يمكن للمتسللين استخدام طريقة “Pass-The-Hash” للانتشار بسرعة عبر النطاق الخاص بك وربما يصادفون أوراق اعتماد مسؤول النطاق باستخدام نفس الطريقة. يمنع LAPS هذا النشاط عن طريق إجبار الأفراد الخبيثين على اكتشاف كلمة مرور لكل جهاز فردي.

تطبيق LAPS في العمل

يتكون LAPS من ثلاثة أجزاء رئيسية:

سمات AD المقفلة

يخزن LAPS كلمة مرور المسؤول المحلي لكل جهاز كمبيوتر مُدار في AD تسمى ms-Mcs-AdmPwd. يحتاج LAPS أيضًا إلى معرفة متى ينتهي صلاحية كلمات المرور لتغييرها ، لذا يخزن أيضًا سمة AD أخرى تسمى ms-Mcs-AdmPwdExpirationTime. هذه السمات AD قابلة للقراءة / الكتابة فقط بواسطة كيانات AD محددة مثل مجموعة أو مستخدم وقابلة للكتابة أيضًا بواسطة حساب الكمبيوتر الذي يستخدم كلمة المرور.

إعدادات GPO

لتوفير LAPS على جهاز كمبيوتر وتغيير كلمة المرور ، يحتوي LAPS أيضًا على مجموعة من إعدادات GPO. عندما يتم ربط GPO بمجموعة من الأجهزة ، يتم توزيع إعدادات LAPS على كل جهاز كمبيوتر. عندما يطبق الكمبيوتر إعدادات GPO ، يستخدم LAPS ملف DLL خاص لتفسيرها.

عندما يرى LAPS أن التاريخ الحالي قد تجاوز تاريخ انتهاء صلاحية كلمة المرور، سيقوم بما يلي:

  • يقوم بإعادة توليد كلمة مرور جديدة وتعيينها ككلمة مرور للمسؤول المحلي.
  • يكتب كلمة مرور المسؤول المحلي الجديدة في سمة Ms-Mcs-AdmPwd في AD.
  • يكتب تاريخ انتهاء صلاحية جديد في ms-Mcs-AdmPwdExpirationTime.

باستخدام هذه الطريقة الذكية والبسيطة، يبقى أجهزة المجال آمنة أكثر.

إعداد LAPS

معلومات كافية، لنتعرف الآن على ما يمكن أن يفعله LAPS فعليًا! ليس من الصعب إعداد LAPS ولكنه يتطلب بضع خطوات ستتعلمها في هذا البرنامج التعليمي. وهي:

  1. تثبيت أدوات إدارة LAPS على جهاز المسؤول الخاص بك.
  2. توسيع مخطط AD لإضافة السمات المخصصة الاثنين التي يستخدمها LAPS.
  3. تعيين الامتيازات المناسبة لمكونات مختلفة في AD.
  4. بناء سياسة المجموعة المتقدمة LAPS التي ستُطبق على أجهزة Windows.
  5. نشر ملحق سياسة المجموعة المتقدمة LAPS على أجهزة Windows المناسبة.

بمجرد الانتهاء من الخطوات السابقة، ستكون لديك بيئة LAPS مكتملة وجاهزة للاستخدام!

المتطلبات الأساسية

في هذه المقالة، ستقوم بإعداد LAPS بشكل فعلي. إذا كنت ترغب في المتابعة، يرجى التأكد من توافر بعض المتطلبات الأولية أولاً.

  • مجال AD (2003 فأعلى)
  • A computer running Windows (10 or Server 2012+ is recommended) has RSAT for Active Directory installed.
  • الوصول إلى حساب يكون عضوًا في مجموعتي AD Domain Admins و Schema Admins.

سيتم استخدام جميع الأمثلة في هذه المقالة باستخدام مجال AD يسمى contoso.com.

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

تثبيت أدوات إدارة Microsoft LAPS

للبدء، يجب عليك أولاً تثبيت أدوات إدارة LAPS على جهاز الإدارة الخاص بك. ستقوم هذه الأدوات بتثبيت كل من ملحق GPO LAPS (إذا تم اختياره) وأدوات الإدارة لتكوين LAPS.

  1. ابدأ بتنزيل الملف LAPS.x64.msi وقم بتشغيله كمسؤول وانقر فوق Next.
Installing Microsoft LAPS

2. اضغط Next حتى تصل إلى إعداد مخصص ثم انقر على Management Tools و Entire feature will be installed on local hard drive لتثبيت كلاً من هذه المكونات. إذا كنت لا ترغب في إدارة الجهاز الحالي باستخدام LAPS ، فحدد AdmPwd GPO Extension.

Click Management Tools

3. انقر على Next حتى ينتهي التثبيت واخرج من برنامج التثبيت.

لقد قمت الآن بتثبيت ملحقات GPO LAPS (إذا تم اختيارها) وأدوات الإدارة الخاصة بها ، ويمكننا الآن أن نبدأ في توسيع مخطط AD وإضافة سياسات المجموعة الخاصة بنا.

توسيع مخطط AD

كما ذكر سابقًا ، يستخدم LAPS سمتي AD تسمى ms-Mcs-AdmPwd و ms-Mcs-AdmPwdExpirationTime. هاتين السمتين ليستا الافتراضيتين ويجب إضافتهما إلى مخطط AD.

  1. ابدأ بإضافة عضو في مجموعة “Domain Admins” إلى مجموعة “Schema Admins” إذا لم يكن الحساب عضوًا بالفعل. سنطلق على هذا الحساب “حساب المسؤول”.
  2. قم بتشغيل PowerShell بصفتك حساب المسؤول وقم بتحميل وحدة البرنامج النصي “AdmPwd” باستخدام الأمر التالي: Import-module AdmPwd.PS.
  3. بمجرد استيراد الوحدة، قم بتشغيل الأمر التالي: Update-AdmPwdADSchema لتحديث مخطط AD وإضافة سمتين AD. يمكنك رؤية النتائج في الشاشة التالية.
Powershell Admin Account

لقد قمت الآن بتوسيع مخطط AD لدينا لدعم LAPS وأنت جاهز لتعيين الأذونات في Active Directory.

ضبط أذونات Active Directory

كل جهاز يحتاج إلى القدرة على تحديث كلمة مرور المسؤول المحلية وسمة انتهاء الصلاحية في AD. للقيام بذلك، يجب أن يكون لكل جهاز إذن الكتابة الذاتية على سمة AD “ms-Mcs-AdmPwd” وسمة “ms-Mcs-AdmPwdExpirationTime”. لحسن الحظ، يمكن القيام بمعظم هذا العمل بسهولة باستخدام وحدة البرنامج النصي “AdmPwd” في PowerShell.

السماح للأجهزة بحفظ كلمات المرور الخاصة بها

أولاً، تأكد من أن كل جهاز يمكنه حفظ كلمة المرور الخاصة به في سمة AD “ms-Mcs-AdmPwd” وتحديثها عند انتهاء صلاحية تلك الكلمة في سمة AD “ms-Mcs-AdmPwdExpirationTime”. يحتوي وحدة البرنامج النصي “AdmPwd” في PowerShell على أمر يمكنك استخدامه لتعيين هذه الأذونات حسب وحدة التنظيم (OU) وينطبق على جميع وحدات التنظيم الفرعية باستخدام الأمر التالي: Set-AdmPwdComputerSelfPermission.

في PowerShell، قم بتشغيل الأمر Set-AdmPwdComputerSelfPermission -OrgUnit ‘OU=Workstations,DC=contoso,DC=com’ مع تحديث الوحدة التنظيمية المحددة واسم النطاق الخاص بك.

Update OU and Domain Name

إذا كنت ترغب في السماح لـ LAPS بالتحكم في المزيد من الوحدات التنظيمية، قم بتكرار الأمر أعلاه لكل وحدة تنظيمية في AD.

تأمين سمات AD عن طريق العثور على الحقوق الممتدة

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

للعثور على الحسابات التي تحمل حقوق ممتدة، قم بتشغيل الأمر Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders مع استبدال الوحدة التنظيمية واسم النطاق الخاص بك.

يمكنك الآن مشاهدة في لقطة الشاشة التالية أن CONTOSO\joe-the-admin و CONTOSO\MDT-service لديهما حقوق ممتدة إلى وحدة التنظيم Workstations.

Workstations OU

يتطلب الحق MDT-service في الواقع الحق الممتد، ولكن joe-the-admin ليس بحاجة إلى ذلك. الآن تحتاج إلى إزالة الإذن لـ joe-the-admin.

ستحتاج إلى تكرار هذه العملية لجميع الوحدات التنظيمية التي قمت بتعيين إذن الكتابة الذاتية عليها في خطوة سابقة.

إزالة الحقوق الممتدة

بمجرد تحديد كل حساب لإزالة الحقوق الممتدة منه، حان الوقت الآن للقيام بذلك فعلياً.

  1. افتح مستخدمو Active Directory وأجهزة الكمبيوتر وانقر على عرض في القائمة العلوية وتأكد من تمكين الميزات المتقدمة. عند تمكين الميزات المتقدمة، ستظهر جميع وحدات التنظيم المخفية عادة كما هو موضح في اللقطة المرفقة.
Hidden OUs

2. انقر بزر الماوس الأيمن على وحدة التنظيم التي ترغب في إزالة الصلاحية الممتدة عنها وانقر على الخصائص.

Right Click OU to Remove

3. انقر على علامة التبويب الأمان ثم انقر على زر متقدم.
4. ابحث عن الحساب أو المجموعة التي ترغب في إزالة الصلاحيات الممتدة عنها واحذفها عن طريق تحديدها والنقر على إزالة.

Security Tab for Account Removal

5. كرر هذه الخطوات حسب الحاجة لجميع الكيانات ذات الصلاحيات الممتدة.

منح الإذن لقراءة وإعادة تعيين كلمة مرور المسؤول المحلي

بعد التأكد من أن الحسابات المناسبة فقط لديها صلاحيات ممتدة، يجب عليك الآن إنشاء مجموعتي AD للقراءة وإعادة تعيين كلمة مرور المسؤول المحلي تسمى LAPS Workstations Password Read و LAPS Workstations Password Reset.

يرجى ملاحظة أن أسماء المجموعات المحددة هنا ليست إلزامية. يمكنك استخدام أي اسم مجموعة تحبه.

مع وجود نافذة PowerShell مفتوحة مع حساب المسؤول الخاص بك، أدخل الأوامر التالية لمنح كلا المجموعتين إذن قراءة كلمة مرور المسؤول المحلي للكمبيوترات في وحدة التنظيم الأجهزة العاملة.

PS> Set-AdmPwdReadPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Read"

PS> Set-AdmPwdResetPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Reset" 

لقد قمت الآن بتمكين مجموعات AD المذكورة أعلاه لقراءة وإعادة تعيين كلمات مرور المسؤول المحلي للأجهزة في وحدة التنظيم Workstations. الآن تحتاج إلى إضافة المسؤولين أو المجموعات المطلوبة لقراءة أو إعادة تعيين كلمات المرور.

إنشاء متجر مركزي لقوالب سياسة المجموعة

لكي يتمكن LAPS من تمكين نفسه بمجرد تثبيته على الأجهزة، أنشئ أولاً سياسة مجموعة عن طريق استيراد قوالب سياسة المجموعة إلى المتجر PolicyDefinition. يعتبر المتجر PolicyDefinition مجلدًا يقع على جميع مراكز التحكم في النطاق.

لا تمكّن أبدًا سياسة LAPS المستهدفة لمراكز التحكم في النطاق. فهذا لا يتمتع بالدعم وقد يتسبب في مشكلات غير متوقعة.

  1. اختر أحد مراكز التحكم في النطاق في Active Directory؛ أي مركز تحكم في النطاق سيعمل.
  2. تأكد من وجود المسار \\contoso.com\SYSVOL\Policies\PolicyDefinitions. إذا لم يكن موجودًا، قم بإنشائه الآن.
  3. انسخ محتويات المجلد C:\Windows\PolicyDefinitions في جهاز الكمبيوتر الإداري (الذي قمت بتثبيت LAPS عليه) إلى مجلد \\contoso.com\SYSVOL\Policies\PolicyDefinitions على مركز تحكم في النطاق.

إنشاء سياسة المجموعة

الآن دعنا ننسخ قوالب سياسة LAPS إلى المتجر المركزي (المجلد PolicyDefinitions).

  1. افتح إدارة سياسة المجموعة تحت حساب المسؤول الخاص بك، انقر بزر الماوس الأيمن على OU التي ترغب في تمكين LAPS فيها وانقر على ربط GPO موجودة…
Group Policy Management

2. انتقل إلى تكوين الكمبيوتر —> القوالب الإدارية —> LAPS و قم بتعيين تمكين إدارة كلمة مرور المسؤول المحلي إلى تمكين. إذا كانت لديك متطلبات مختلفة لتعقيد كلمة المرور، قم بتحرير إعدادات كلمة المرور بشكل مناسب.

Linking GPO to all OUs

انت قريب من الانتهاء! الآن ربط هذا GPO بجميع OUs التي ترغب في استخدام LAPS فيها.

نشر امتداد GPO لـ LAPS

بمجرد تطبيق GPO على جميع OUs المناسبة التي تحتوي على أجهزة الكمبيوتر فيها، يجب الآن نشر امتداد GPO لـ LAPS. لديك بضع طرق مختلفة لتثبيت هذا الامتداد إما من خلال تثبيت MSI (كما هو موضح سابقًا) أو عن طريق تسجيل ملف DLL لـ LAPS.

إذا اخترت تثبيت MSI، في كل كمبيوتر داخل OU مُتحكم بها بواسطة LAPS، قم بتشغيل الأمر التالي لتمكين LAPS.

> msiexec /q /i \\server\share\LAPS.x64.msi

إذا اخترت تمكين LAPS عن طريق تسجيل DLL، يمكنك القيام بذلك باستخدام الأمر التالي.

> regsvr32.dll \\server\share\AdmPwd.dll

يمكنك استخدام أي أداة تنفيذ عن بُعد تتوفر لديك لتشغيل هذه الأوامر على الأجهزة.

نشر LAPS MSI باستخدام GPO

استخدام GPO هو أسهل طريقة لضمان تثبيت امتداد GPO لـ LAPS على جميع الأجهزة.

  1. انسخ LAPS.x64.msi إلى مشاركة الشبكة يمكن الوصول إليها من جميع أجهزة الكمبيوتر في النطاق المجالي.
  2. افتح إدارة سياسة المجموعة على الكمبيوتر الإداري الخاص بك وأنشئ GPO بعنوان تثبيت LAPS أو شيء مماثل.
Creating GPO called Install LAPS

3. انقر بزر الماوس الأيمن على GPO تثبيت LAPS ، انقر على تحرير وانتقل إلى التكوين الكمبيوتر – > السياسات – > إعدادات البرامج – > تثبيت البرامج.

LAPS GPO Software Installation

4. انقر بزر الماوس الأيمن على تثبيت البرامج وانتقل إلى جديد — > حزمة…

GPO New Package

5. انتقل إلى المشاركة التي نسخت منها LAPS.x64.msi، حددها، انقر فوق موافق وحدد معينة.

Assigning LAPS.x64.msi

6. الآن ربط GPO بنفس وحدات التنظيم التي قمت بتكوين LAPS لها. أنت الآن جاهز لاختبار LAPS!

اختبار LAPS

للتأكد من أن LAPS يعمل كما هو مصمم على الأجهزة المراقبة، دعنا نجبر الآن إحدى الأجهزة على تطبيق GPO المذكور ونرى ما يحدث.

  1. أعد تشغيل جهاز كمبيوتر موجود تحت إحدى وحدات التنظيم التي قمت بتكوينها للتو. بمجرد إعادة التشغيل، يجب أن يبدأ الكمبيوتر في تثبيت LAPS.
  2. بمجرد تثبيت LAPS على الكمبيوتر، أعد تشغيل الجهاز مرة أخرى وافتح وحدة التحكم PowerShell كمسؤول على الكمبيوتر الإداري باستخدام حساب يكون عضوًا في مجموعات AD LAPS Workstation Password Read و LAPS Workstation Password Reset.
  3. قم بتشغيل الأمر Get-AdmPwdPassword <اسم_الكمبيوتر> باستخدام اسم الكمبيوتر الذي قمت بإعادة تشغيله للتو وتثبيت LAPS عليه. إذا تم كل شيء على ما يرام ، فسترى شيئًا مشابهًا للإخراج في لقطة الشاشة التالية.
LAPS Installation Output

4. قم الآن بمحاولة تسجيل الدخول إلى الكمبيوتر المراقب بواسطة LAPS باستخدام كلمة المرور المعروضة أعلاه. إذا نجحت العملية ، يجب أن تتمكن من الوصول.
5. قم الآن بمحاولة إعادة تعيين كلمة المرور عن طريق تشغيل الأمر Reset-AdmPwdPassword <اسم_الكمبيوتر> وإعادة تشغيل الكمبيوتر. هل لاحظت كيف تغيرت كلمات المرور في لقطة الشاشة التالية؟

LAPS Password Reset

الآن لديك LAPS يعمل في بيئتك. وعلى الرغم من أن الإدارة سهلة بشكل كبير ، إلا أن هناك بعض الأشياء التي يجب أن تعرفها …

نصائح وحيل لاستخدام LAPS في العالم الحقيقي

في حين أن الإعداد المشمول أعلاه كافٍ لمعظم البيئات الصغيرة ، قد يكون غير آمن أو لا يوفر مستوى التدقيق المطلوب للمؤسسات الكبيرة. فيما يلي بعض النصائح لجعلها تعمل في العالم الحقيقي.

1. قم بتشغيل التدقيق

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

PS> Set-AdmPwdAuditing -AuditedPrincipals Everyone -OrgUnit "OU=Workstations,DC=contoso,DC=com"

2. تأكد من عدم قدرة أي مستخدم على قراءة سمة AD ms-mcs-AdmPwd مباشرة

طريقة واحدة لضمان عدم قدرة المستخدم على قراءة سمة AD ms-mcs-AdmPwd هو إنشاء طريقة خدمة ذاتية للحصول على كلمة مرور المسؤول المحلي للكمبيوتر. على الرغم من أن ذلك خارج نطاق هذه المقالة، إلا أنه يمكنك التحقق من الأدوات مثل JEA أو WebJEA إذا لم يكن لديك بوابة خدمة ذاتية موجودة مناسبة لذلك.

3. إعادة تعيين سمة Ms-Mcs-AdmPwdTime أثناء صورة القرص

يجب عليك أن تتذكر إعادة تعيين سمة Ms-Mcs-AdmPwdTime عند إعادة تصوير كمبيوتر مُسيطر عليه بواسطة LAPS، وإلا فلن يتم تغيير كلمة المرور وسيتم الاحتفاظ بكلمة المرور المحلية التي تم تعيينها بواسطة الصورة. ومع ذلك، سيتم التفعيل بعد انتهاء صلاحية Ms-Mcs-AdmPwdTime.

يمكنك استخدام الأمر التالي في PowerShell لإعادة تعيين ExpirationTime بدون وحدة AdmPwd:

# مع RSAT 
Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} 

# بدون RSAT
$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"
$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()
$Computer.CommitChanges()

4. تذكر أن سمة ms-Mcs-AdmPwd تُبقى في سلة إعادة التدوير في AD

عندما تحذف كائنًا في AD وتكون سلة إعادة التدوير في AD مُمكَّنة، فإن AD عادةً ما يقوم بإزالة السمات الهامة، ولكن يتم حماية سمة ms-Mcs-AdmPwd من ذلك!

5. LAPS ليست للوصول المؤقت

على الرغم من كونه مغريًا، إلا أن LAPS ليس مصممًا لمنح الوصول المؤقت للموردين والمستخدمين وأنواع الحسابات الأخرى. بدلاً من استخدام LAPS ، استخدم مجموعة AD التي تكون مسؤولة محلية لتلك الحاسوب المحددة واستخدم TimeToLive على عضويات المجموعات.

الاستنتاج

لقد تعلمت الآن كيفية نشر LAPS وتعيين أذوناته وبعض النصائح والحيل لجعله أكثر أمانًا. مع بيئة حيث يتم نشر LAPS ، يتم تغيير كلمة مرور المسؤول المحلي بشكل منتظم وتلقائي. هذا يقلل بشكل كبير من مخاطر اختراق حاسوب متصل بالمجال من قبل قراصنة أو برامج ضارة ، ونأمل أن يوفر لك الكثير من الصداع.

إذا كان لديك أي أسئلة ، يرجى أن تتفضل بمراسلتي عبر تويتر على @AlexAsplund أو ترك تعليق أدناه.

Source:
https://adamtheautomator.com/microsoft-laps/