تأمين حسابات الخدمة المدارة (gMSA) في Active Directory
04/08/2025
تهدف هذه المقالة الفنية والتعليمية إلى توجيه محللي الأمن ومسؤولي تكنولوجيا المعلومات ومهندسي الأنظمة في تنفيذ وتأمين حسابات الخدمة المُدارة للمجموعة (gMSA) في Active Directory. تقدم gMSA حلاً قويًا لتحديات أمان حساب الخدمة من خلال أتمتة إدارة كلمات المرور وتبسيط الإدارة [1].
مقدمة
تشكل حسابات الخدمة التقليدية ذات كلمات المرور الثابتة خطرًا كبيرًا. تعمل gMSA (حسابات الخدمة المُدارة للمجموعة) على توسيع وظائف MSA (حسابات الخدمة المُدارة)، مما يسمح باستخدام حساب خدمة واحد بواسطة خوادم متعددة، مع إدارة Active Directory تلقائيًا لتدوير كلمات المرور وتوزيع المفاتيح دون تدخل يدوي [2].
سيغطي هذا الدليل العملي المتطلبات الأساسية، وإنشاء وتكوين gMSAs، وكيفية ربطها بالخدمات والمهام المجدولة، وأفضل الممارسات لضمان حماية حسابات الخدمة الخاصة بك وإدارتها بكفاءة.
لماذا تعتبر gMSAs حاسمة؟
- إدارة كلمات المرور تلقائيًا: يتم إنشاء كلمات المرور المعقدة والطويلة تلقائيًا وتدويرها كل 30 يومًا بواسطة Active Directory.
- النشر على خوادم متعددة: يمكن استخدام gMSA واحد بواسطة خوادم متعددة، مما يبسط الإدارة في البيئات الموزعة.
- مبدأ الامتياز الأقل: يسهل منح الحد الأدنى من الأذونات اللازمة.
- تحسين التدقيق: يبسط عملية التدقيق حيث يتم تعريف هويات الخدمة بشكل واضح ويمكن تتبعها.
المتطلبات الأساسية
- وحدات التحكم بالمجال (DC) التي تعمل بنظام التشغيل Windows Server 2012 أو الإصدارات الأحدث.
- المستوى الوظيفي للمجال (DFL) لنظام التشغيل Windows Server 2012 أو أعلى.
- وحدة الدليل النشط لنظام التشغيل Windows PowerShell.
- خوادم أعضاء المجال التي ستستخدم gMSA.
- مجموعة الأمان للمضيفين: مجموعة أمان في Active Directory والتي ستحتوي على الخوادم التي ستستخدم gMSA.
خطوة بخطوة: تنفيذ وتأمين gMSA
1. تكوين خدمة مفتاح الجذر KDS
خدمة KDS Root Key Service مطلوبة حتى يتمكن Active Directory من إنشاء كلمات مرور لـ gMSA. يجب تكوينه مرة واحدة لكل غابة [3].
- افتح Windows PowerShell كمسؤول على وحدة تحكم المجال.
- تحقق مما إذا كانت خدمة KDS Root Key Service قد تم تكوينها بالفعل:
بوويرشيل الحصول على KdsRootKey - إذا لم يتم إرجاع أي مفتاح، فقم بإنشاء مفتاح جذر KDS جديد. للإنتاج، استخدم
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)لتمكين النسخ المتماثل. للاختبار الفوري، استخدم:بوويرشيل Add-KdsRootKey - فعال على الفور
2. إنشاء مجموعة الأمان للمضيفين
ستحتوي هذه المجموعة على الخوادم التي سيتم السماح لها باستعادة كلمة مرور gMSA.
- افتح مستخدمو Active Directory وأجهزة الكمبيوتر (dsa.msc).
- قم بإنشاء مجموعة أمان جديدة (على سبيل المثال،
gMSA_Hosts_ServicoX) بالنطاقGlobalواكتبSecurity. - أضف أجهزة الكمبيوتر (الخوادم) التي ستستخدم gMSA إلى هذه المجموعة (على سبيل المثال:
ServidorApp01$،ServidorApp02$).
3. إنشاء gMSA
لنقم الآن بإنشاء gMSA باستخدام PowerShell.
- افتح Windows PowerShell كمسؤول على وحدة تحكم المجال.
- استخدم الأمر cmdlet "New-ADServiceAccount":
بوويرشيل حساب ADServiceAccount الجديد -الاسم gMSA_ServicoX -DNSHostName gMSA_ServicoX.contoso.com -PrincipalsAllowedToRetrieveManagedPassword "gMSA_Hosts_ServicoX"- شرح: تحدد المعلمة
PrincipalsAllowedToRetrieveManagedPasswordمجموعة الأمان التي يمكنها استرداد كلمة مرور gMSA. يجب أن تحتوي هذه المجموعة على الخوادم التي ستقوم بتشغيل الخدمة.
- شرح: تحدد المعلمة
4. تثبيت واختبار gMSA على الخوادم المضيفة
على الخوادم التي ستستخدم gMSA، يتعين عليك تثبيته واختبار وظائفه.
- في كل عضو خادم في مجموعة
gMSA_Hosts_ServicoX، افتح Windows PowerShell كمسؤول. - تثبيت gMSA:
بوويرشيل تثبيت-ADServiceAccount-Identity gMSA_ServicoX - اختبر أن gMSA مثبت ويعمل:
بوويرشيل اختبار-ADServiceAccount-Identity gMSA_ServicoX- النتيجة المتوقعة: يجب أن يكون الإخراج
صحيح، مما يشير إلى أن gMSA جاهز للاستخدام على الخادم.
- النتيجة المتوقعة: يجب أن يكون الإخراج
5. ربط gMSA بالخدمة
- على الخادم حيث ستكون الخدمةبمجرد التنفيذ، افتح وحدة التحكم الخدمات (
services.msc). - حدد موقع الخدمة التي تريد تكوينها.
- انقر بزر الماوس الأيمن فوق الخدمة، ثم حدد خصائص.
- في علامة التبويب تسجيل الدخول، حدد هذا الحساب.
- في الحقل هذا الحساب، اكتب اسم gMSA متبوعًا بـ
$، على سبيل المثال:gMSA_ServicoX$. - اترك حقول كلمة المرور فارغة. سيقوم Active Directory بإدارة كلمة المرور تلقائيًا.
- انقر فوق تطبيق وموافق.
- أعد تشغيل الخدمة لتصبح التغييرات سارية المفعول.
6. استخدام gMSA مع المهام المجدولة
- على الخادم، افتح برنامج جدولة المهام (
taskschd.msc). - أنشئ مهمة جديدة أو قم بتحرير مهمة موجودة.
- في علامة التبويب عام، انقر فوق تغيير المستخدم أو المجموعة....
- في الحقل
أدخل اسم الكائن المراد تحديده، أدخل اسم gMSA متبوعًا بـ$، على سبيل المثال:gMSA_ServicoX$. - انقر فوق التحقق من الأسماء ثم موافق.
- اترك حقول كلمة المرور فارغة.
- قم بتكوين خيارات المهام المجدولة الأخرى وانقر فوق موافق.
أفضل الممارسات والنصائح الأمنية
- مبدأ الامتياز الأقل: يمنح gMSA الأذونات اللازمة فقط لأداء وظيفته. لا تستخدم gMSA مع امتيازات مسؤول المجال.
- مجموعات الأمان المخصصة: استخدم مجموعات أمان محددة لـ
PrincipalsAllowedToRetrieveManagedPasswordللتحكم في الخوادم التي يمكنها استخدام gMSA. - التدقيق: مراقبة استخدام gMSA من خلال سجلات أمان Active Directory لاكتشاف أي نشاط غير طبيعي.
- حماية مفتاح جذر KDS: تأكد من أن وحدات التحكم بالمجال آمنة، حيث أن مفتاح جذر KDS ضروري لأمن gMSA.
- إزالة حسابات الخدمة القديمة: ترحيل الخدمات إلى gMSA وتعطيل أو حذف حسابات الخدمة القديمة التي تستخدم كلمات مرور ثابتة.
- الوثائق: احتفظ بسجل عن gMSA المستخدمة، والخدمات التي يتم تشغيلها، وعلى أي خوادم.
الخلاصة
تعد حسابات الخدمة المُدارة للمجموعة (gMSA) مكونًا حيويًا لتحسين وضع أمان Active Directory، خاصة في إدارة هويات الخدمة. ومن خلال أتمتة تدوير كلمات المرور، وتبسيط النشر في البيئات الموزعة، وتسهيل تطبيق مبدأ الامتيازات الأقل، تعمل gMSA على تقليل سطح الهجوم والتعقيد الإداري بشكل كبير. يعد التنفيذ والإدارة السليمين لـ gMSA خطوات حاسمة لحماية خدماتك وتطبيقاتك من التهديدات السيبرانية.
المراجع
[1] مايكروسوفت. (2023). حسابات الخدمة المُدارة للمجموعة (gMSA) في Active Directory. [2] مايكروسوفت. (2023). نظرة عامة على حسابات الخدمة المُدارة. [3] مايكروسوفت. (2023). خدمة توزيع مفتاح الدليل النشط (KDS).