
PSPKI टूलकिट पर आधारित AD CS ऑडिटिंग के लिए PowerShell टूलकिट।
सक्रिय निर्देशिका प्रमाणपत्र सेवाओं (AD CS) के ऑडिट के लिए पावरशेल टूलकिट।
यह PKISolution के PSPKI टूलकिट (माइक्रोसॉफ्ट पब्लिक लाइसेंस) के ऊपर बनाया गया है। इस रिपॉजिटरी में PSPKI का एक नया वर्शन है जो PSGallery में उपलब्ध है (देखें PSPKI निर्देशिका)। Vadims Podans (PSPKI के निर्माता) ने कृपया यह वर्शन प्रदान किया है क्योंकि इसमें कई बगों के पैच शामिल हैं।
यह README केवल एक प्रारंभिक बिंदु है - पूर्ण विवरण और रक्षात्मक मार्गदर्शन के लिए, कृपया "Certified Pre-Owned" श्वेतपत्र देखें।
मॉड्यूल में निम्नलिखित मुख्य फ़ंक्शन शामिल हैं:
चेतावनी: यह कोड बीटा है! हमें विश्वास है कि Invoke-PKIAudit पर्यावरण को प्रभावित नहीं करेगा क्योंकि यह जितना डेटा क्वेरी करता है वह काफी सीमित है। हमने सामान्य CA सर्वर कार्यभार के विरुद्ध Get-CertRequest के साथ कठोर परीक्षण नहीं किया है। Get-CertRequest सीधे CA के डेटाबेस को क्वेरी करता है और इसे हजारों परिणामों को संसाधित करना पड़ सकता है, जो प्रदर्शन को प्रभावित कर सकता है।
यदि कोई परिणाम नहीं हैं, तो यह गारंटी नहीं है कि आपका वातावरण सुरक्षित है!!
हम यह भी गारंटी नहीं दे सकते कि हमारी शमन सलाह आपके वातावरण को सुरक्षित बनाएगी या संचालन को बाधित नहीं करेगी!
यह आपकी जिम्मेदारी है कि आप अपनी सक्रिय निर्देशिका/PKI/आर्किटेक्चर टीम(टीमों) से बात करें ताकि आपके वातावरण के लिए सर्वोत्तम शमन निर्धारित किए जा सकें।
यदि कोड टूट जाता है, या हम कुछ भूल गए हैं, तो कृपया सुधार के लिए कोई issue या pull request सबमिट करें!
एक उन्नत पावरशेल प्रॉम्प्ट (पावरशेल वर्शन 5.1 या उससे ऊपर) का उपयोग करके विंडोज मशीन पर निम्नलिखित स्थापित करें:
* The [PSPKI PowerShell module](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 के विरुद्ध सभी ऑडिटिंग जाँचें चलेंगी, जिसमें विभिन्न प्रमाणपत्र प्राधिकरण और प्रमाणपत्र टेम्पलेट सेटिंग्स की गणना शामिल है। किसी विशिष्ट CA का ऑडिट करने के लिए, आप `Invoke-PKIAudit -CAComputerName CA.DOMAIN.COM` या `Invoke-PKIAudit -CAName X-Y-Z` चला सकते हैं।
कोई भी गलत कॉन्फ़िगरेशन (ESC1-8) CA/टेम्पलेट परिणामों पर गुणों के रूप में दिखाई देंगे, जो पाए गए विशिष्ट गलत कॉन्फ़िगरेशन की पहचान करने के लिए प्रदर्शित किए जाते हैं।
यदि आप नामांकन/पहुँच नियंत्रण का परीक्षण करने के लिए उपयोग किए जाने वाले समूहों/उपयोगकर्ताओं को बदलना चाहते हैं, तो `Invoke-PKIAudit.ps1` के शीर्ष पर `$CommonLowprivPrincipals` regex को संशोधित करें।
यदि आप सभी 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`
## आउटपुट स्पष्टीकरण
आउटपुट के दो मुख्य भाग हैं, खोजे गए CA के बारे में विवरण और संभावित रूप से कमजोर टेम्पलेट्स के बारे में विवरण।
प्रमाणपत्र प्राधिकरण परिणामों के लिए:
| Certificate Authority Property | Description |
| ------------------------------ | ------------------------------------------------------------------ |
| ComputerName | वह सिस्टम जिस पर CA चल रहा है। |
| CAName | CA का नाम। |
| ConfigString | पूर्ण COMPUTER\CA_NAME कॉन्फ़िगरेशन स्ट्रिंग। |
| IsRoot | यदि CA एक रूट CA है। |
| AllowsUserSuppliedSans | यदि CA में `EDITF_ATTRIBUTESUBJECTALTNAME2` फ्लैग सेट है। |
| VulnerableACL | क्या CA में एक कमजोर ACL सेटिंग है। |
| EnrollmentPrincipals | वे प्रिंसिपल जिनके पास CA स्तर पर `Enroll` विशेषाधिकार है। |
| EnrollmentEndpoints | CA के वेब सेवाओं के नामांकन एंडपॉइंट। |
| NTLMEnrollmentEndpoints | CA के वेब सेवाओं के नामांकन एंडपॉइंट जिनमें NTLM सक्षम है। |
| DACL | पूर्ण पहुँच नियंत्रण जानकारी। |
| Misconfigurations | ESCX जो विशिष्ट गलत कॉन्फ़िगरेशन की उपस्थिति (यदि कोई हो) को इंगित करता है। |
प्रमाणपत्र टेम्पलेट परिणामों के लिए: