
مجموعة أدوات PowerShell لتدقيق AD CS استناداً إلى أداة PSPKI.
مجموعة أدوات PowerShell لتدقيق خدمات شهادات Active Directory (AD CS).
هي مبنية على مجموعة أدوات PSPKI (رخصة Microsoft العامة) من PKISolution. يحتوي هذا المستودع على إصدار أحدث من PSPKI مما هو متاح في PSGallery (انظر دليل PSPKI). تفضل Vadims Podans (منشئ PSPKI) بتوفير هذا الإصدار لأنه يحتوي على تصحيحات لعدة أخطاء.
تهدف هذه القراءة إلى كونها نقطة انطلاق فقط - للحصول على التفاصيل الكاملة والإرشادات الدفاعية، يرجى الاطلاع على الورقة البيضاء "Certified Pre-Owned".
تحتوي الوحدة على الوظائف الرئيسية التالية:
تحذير: هذا الكود في مرحلة بيتا! نحن واثقون من أن Invoke-PKIAudit لن يؤثر على البيئة لأن كمية البيانات التي يستعلم عنها محدودة جدًا. لم نقم بإجراء اختبارات دقيقة مع Get-CertRequest ضد أعباء العمل النموذجية لخادم CA. يقوم Get-CertRequest بالاستعلام مباشرة عن قاعدة بيانات CA وقد يضطر إلى معالجة آلاف النتائج، مما قد يؤثر على الأداء.
إذا لم تكن هناك نتائج، فهذا ليس ضمانًا بأن بيئتك آمنة!!
كما لا يمكننا ضمان أن نصائح التخفيف لدينا ستجعل بيئتك آمنة أو لن تعطل العمليات!
تقع على عاتقك مسؤولية التحدث إلى فريق (فرق) Active Directory/PKI/الهندسة المعمارية لديك لتحديد أفضل إجراءات التخفيف لبيئتك.
إذا تعطل الكود، أو فاتنا شيء، يرجى تقديم مشكلة أو طلب سحب للإصلاح!
قم بتثبيت ما يلي على جهاز Windows باستخدام موجه PowerShell مرتفع (إصدار PowerShell 5.1 أو أعلى):
* وحدة [PSPKI PowerShell](https://github.com/PKISolutions/PSPKI). قم بالتثبيت باستخدام الأمر التالي:```
Install-Module -Name PSPKI
قم بتنزيل الوحدة واستخراجها إلى مجلد. ثم، استورد الوحدة باستخدام الأوامر التالية:``` cd PSPKIAudit Get-ChildItem -Recurse | Unblock-File
Import-Module .\PSPKIAudit.psd1
# تدقيق سوء تكوينات AD CS
تشغيل `Invoke-PKIAudit` سيشغل جميع فحوصات التدقيق ضد AD CS في المجال الحالي، بما في ذلك تعداد إعدادات مصدر الشهادات (Certificate Authority) وقوالب الشهادات (Certificate Template) المختلفة. لتدقيق CA معين، يمكنك تشغيل `Invoke-PKIAudit -CAComputerName CA.DOMAIN.COM` أو `Invoke-PKIAudit -CAName X-Y-Z`.
أي سوء تكوينات (ESC1-8) ستظهر كخصائص على نتائج CA/قالب المعروضة لتحديد سوء التكوين المحدد الذي تم العثور عليه.
إذا كنت ترغب في تغيير المجموعات/المستخدمين المستخدمة لاختبار التسجيل/التحكم في الوصول، قم بتعديل التعبير العادي `$CommonLowprivPrincipals` في أعلى `Invoke-PKIAudit.ps1`
إذا كنت ترغب في تصدير جميع معلومات CA إلى ملف csv، قم بتشغيل: `Get-AuditCertificateAuthority [-CAComputerName CA.DOMAIN.COM | -CAName X-Y-Z] | Export-Csv -NoTypeInformation CAs.csv`
إذا كنت ترغب في تصدير جميع معلومات القوالب المنشورة إلى ملف csv (وليس فقط القوالب الضعيفة)، قم بتشغيل: `Get-AuditCertificateTemplate [-CAComputerName CA.DOMAIN.COM | -CAName X-Y-Z] | Export-Csv -NoTypeInformation templates.csv`
## شرح المخرجات
هناك قسمان رئيسيان من المخرجات، تفاصيل حول CAs المكتشفة وتفاصيل حول القوالب التي يحتمل أن تكون ضعيفة.
لنتائج مصدر الشهادات:
| Certificate Authority Property | Description |
| ------------------------------ | ------------------------------------------------------------------ |
| ComputerName | النظام الذي يعمل عليه CA. |
| CAName | اسم CA. |
| ConfigString | سلسلة تكوين COMPUTER\CA_NAME الكاملة. |
| IsRoot | إذا كان CA هو CA جذر. |
| AllowsUserSuppliedSans | إذا كان CA يحتوي على علامة `EDITF_ATTRIBUTESUBJECTALTNAME2` مفعلة. |
| VulnerableACL | ما إذا كان CA يحتوي على إعداد ACL ضعيف. |
| EnrollmentPrincipals | المسؤولون الذين لديهم امتياز `Enroll` على مستوى CA. |
| EnrollmentEndpoints | نقاط نهاية خدمات الويب للتسجيل الخاصة بـ CA. |
| NTLMEnrollmentEndpoints | نقاط نهاية خدمات الويب للتسجيل الخاصة بـ CA التي يتم فيها تمكين NTLM. |
| DACL | معلومات التحكم في الوصول الكاملة. |
| Misconfigurations | ESCX يشير إلى سوء التكوين المحدد الموجود (إن وجد). |
لنتائج قوالب الشهادات: