
HardeningKitty और Windows Hardening Settings
यह प्रोजेक्ट Windows 10 के लिए एक सरल hardening सूची के रूप में शुरू हुआ। कुछ समय बाद, Windows की hardening को सरल बनाने के लिए HardeningKitty बनाया गया। अब, HardeningKitty Microsoft, CIS Benchmarks, DoD STIG और BSI SiSyPHuS Win10 के दिशानिर्देशों का समर्थन करता है। और निश्चित रूप से मेरी अपनी hardening सूची भी।
यह एक hardening चेकलिस्ट है जिसका उपयोग निजी और व्यावसायिक वातावरण में Windows 10 की hardening के लिए किया जा सकता है। चेकलिस्ट का उपयोग सभी Windows संस्करणों के लिए किया जा सकता है, लेकिन Windows 10 Home में Group Policy Editor एकीकृत नहीं है और समायोजन सीधे रजिस्ट्री में किया जाना चाहिए। इसके लिए, HardeningKitty का HailMary मोड उपलब्ध है।
सेटिंग्स को सुरक्षा और गोपनीयता अनुशंसा के रूप में देखा जाना चाहिए और सावधानीपूर्वक जाँच की जानी चाहिए कि क्या वे आपके इंफ्रास्ट्रक्चर के संचालन को प्रभावित करेंगी या प्रमुख कार्यों की उपयोगिता को प्रभावित करेंगी। सुरक्षा और उपयोगिता के बीच संतुलन बनाना महत्वपूर्ण है।
यह प्रोजेक्ट Windows 10 के लिए एक सरल hardening चेकलिस्ट बनाने के साथ शुरू हुआ। HardeningKitty के विकास के साथ ध्यान विभिन्न प्रसिद्ध फ्रेमवर्क / बेंचमार्क के ऑडिट पर स्थानांतरित हो गया है। इस बीच, विभिन्न CIS बेंचमार्क और Microsoft Security Baselines का समर्थन किया जाता है। HailMary मोड के विकास के साथ, किसी भी hardening चेकलिस्ट की सेटिंग्स को Windows सिस्टम पर लागू करना भी संभव होगा।
HardeningKitty Windows सिस्टम की hardening का समर्थन करता है। सिस्टम का कॉन्फ़िगरेशन प्राप्त किया जाता है और एक finding सूची का उपयोग करके मूल्यांकन किया जाता है। इसके अतिरिक्त, सिस्टम को पूर्वनिर्धारित मानों के अनुसार harden किया जा सकता है। HardeningKitty रजिस्ट्री से सेटिंग्स पढ़ता है और रजिस्ट्री के बाहर कॉन्फ़िगरेशन पढ़ने के लिए अन्य मॉड्यूल का उपयोग करता है।
स्क्रिप्ट अंग्रेजी सिस्टम के लिए विकसित की गई थी। यह संभव है कि अन्य भाषाओं में विश्लेषण गलत हो। यदि ऐसा होता है तो कृपया एक issue बनाएं।
HardeningKitty का विकास इस रिपॉजिटरी में होता है। scip AG की रिपॉजिटरी में HardeningKitty का एक स्थिर संस्करण है जिसे scip AG के कोड साइनिंग सर्टिफिकेट के साथ हस्ताक्षरित किया गया है। इसका मतलब है कि HardeningKitty उन सिस्टम पर भी चलाया जा सकता है जो केवल हस्ताक्षरित स्क्रिप्ट की अनुमति देते हैं।
मशीन सेटिंग्स तक पहुँचने के लिए स्क्रिप्ट को प्रशासनिक विशेषाधिकारों के साथ चलाएं। उपयोगकर्ता सेटिंग्स के लिए इसे सामान्य उपयोगकर्ता खाते के साथ निष्पादित करना बेहतर है। आदर्श रूप से, दैनिक कार्य के लिए उपयोगकर्ता खाते का उपयोग किया जाता है।
HardeningKitty डाउनलोड करें और इसे लक्ष्य सिस्टम पर कॉपी करें (स्क्रिप्ट और सूचियाँ)। फिर HardeningKitty को आयात और निष्पादित किया जा सकता है:```powershell PS C:\tmp> Import-Module .\HardeningKitty.psm1 PS C:\tmp> Invoke-HardeningKitty -EmojiSupport
=^._.^=
_( )/ HardeningKitty 0.9.0-1662273740
[*] 9/4/2022 8:54:12 AM - Starting HardeningKitty
[] 9/4/2022 8:54:12 AM - Getting user information [] Hostname: DESKTOP-DG83TOD [*] Domain: WORKGROUP
...
[] [] 9/4/2022 8:54:12 AM - Starting Category Account Policies [😺] ID 1103, Store passwords using reversible encryption, Result=0, Severity=Passed [😺] ID 1100, Account lockout threshold, Result=10, Severity=Passed [😺] ID 1101, Account lockout duration, Result=30, Severity=Passed
...
[*] 9/4/2022 8:54:12 AM - Starting Category User Rights Assignment [😿] ID 1200, Access this computer from the network, Result=BUILTIN\Administrators;BUILTIN\Users, Recommended=BUILTIN\Administrators, Severity=Medium
...
[*] 9/4/2022 8:54:14 AM - Starting Category Administrative Templates: Printer [🙀] ID 1764, Point and Print Restrictions: When installing drivers for a new connection (CVE-2021-34527), Result=1, Recommended=0, Severity=High [🙀] ID 1765, Point and Print Restrictions: When updating drivers for an existing connection (CVE-2021-34527), Result=2, Recommended=0, Severity=High
...
[*] 9/4/2022 8:54:19 AM - Starting Category MS Security Guide [😿] ID 2200, LSA Protection, Result=, Recommended=1, Severity=Medium [😼] ID 2201, Lsass.exe audit mode, Result=, Recommended=8, Severity=Low
...
[] 9/4/2022 8:54:25 AM - HardeningKitty is done [] 9/4/2022 8:54:25 AM - Your HardeningKitty score is: 4.82. HardeningKitty Statistics: Total checks: 325 - Passed: 213, Low: 33, Medium: 76, High: 3.
### इंस्टॉल कैसे करें
पहले *HardeningKitty* नाम की एक डायरेक्टरी बनाएं और प्रत्येक वर्ज़न के लिए *0.9.3* जैसी एक सब-डायरेक्टरी उस पाथ में बनाएं जो *PSModulePath* एनवायरनमेंट वेरिएबल में सूचीबद्ध हो।
मॉड्यूल *HardeningKitty.psm1*, *HardeningKitty.psd1*, और *lists* डायरेक्टरी को इस नई डायरेक्टरी में कॉपी करें।```powershell
PS C:\tmp> $Version = "0.9.3"
PS C:\tmp> New-Item -Path $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty\$Version -ItemType Directory
PS C:\tmp> Copy-Item -Path .\HardeningKitty.psd1,.\HardeningKitty.psm1,.\lists\ -Destination $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty\$Version\ -Recurse
अधिक जानकारी के लिए Microsoft का लेख Installing a PowerShell Module देखें।
आप HardeningKitty की नवीनतम रिलीज़ को डाउनलोड और इंस्टॉल करने के लिए नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।```powershell Function InstallHardeningKitty() { $Version = (((Invoke-WebRequest "https://api.github.com/repos/0x6d69636b/windows_hardening/releases/latest" -UseBasicParsing) | ConvertFrom-Json).Name).SubString(2) $HardeningKittyLatestVersionDownloadLink = ((Invoke-WebRequest "https://api.github.com/repos/0x6d69636b/windows_hardening/releases/latest" -UseBasicParsing) | ConvertFrom-Json).zipball_url $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest $HardeningKittyLatestVersionDownloadLink -Out HardeningKitty$Version.zip Expand-Archive -Path ".\HardeningKitty$Version.zip" -Destination ".\HardeningKitty$Version" -Force $Folder = Get-ChildItem .\HardeningKitty$Version | Select-Object Name -ExpandProperty Name Move-Item ".\HardeningKitty$Version$Folder*" ".\HardeningKitty$Version" Remove-Item ".\HardeningKitty$Version$Folder" New-Item -Path $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty$Version -ItemType Directory Set-Location .\HardeningKitty$Version Copy-Item -Path .\HardeningKitty.psd1,.\HardeningKitty.psm1,.\lists\ -Destination $Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty$Version\ -Recurse Import-Module "$Env:ProgramFiles\WindowsPowerShell\Modules\HardeningKitty$Version\HardeningKitty.psm1" } InstallHardeningKitty
### उदाहरण
#### ऑडिट
डिफ़ॉल्ट मोड _audit_ है। HardeningKitty एक ऑडिट करता है, परिणामों को एक CSV फ़ाइल में सहेजता है और एक लॉग फ़ाइल बनाता है। फ़ाइलों को स्वचालित रूप से नाम दिया जाता है और एक टाइमस्टैम्प प्राप्त होता है। _ReportFile_ या _LogFile_ पैरामीटर का उपयोग करके, अपना स्वयं का नाम और पथ निर्दिष्ट करना भी संभव है।
_Filter_ पैरामीटर का उपयोग हार्डनिंग सूची को फ़िल्टर करने के लिए किया जा सकता है। इस उद्देश्य के लिए PowerShell ScriptBlock सिंटैक्स का उपयोग किया जाना चाहिए, उदाहरण के लिए `{ $_.ID -eq 4505 }`। फ़िल्टर करने के लिए निम्नलिखित तत्व उपयोगी हैं: ID, Category, Name, Method, और Severity।```powershell
Invoke-HardeningKitty -Mode Audit -Log -Report
HardeningKitty को FileFindingList पैरामीटर द्वारा परिभाषित एक विशिष्ट सूची के साथ निष्पादित किया जा सकता है। यदि HardeningKitty को एक ही सिस्टम पर कई बार चलाया जाता है, तो मशीन की जानकारी छिपाना उपयोगी हो सकता है। इस उद्देश्य के लिए SkipMachineInformation पैरामीटर का उपयोग किया जाता है।```powershell Invoke-HardeningKitty -FileFindingList .\lists\finding_list_0x6d69636b_user.csv -SkipMachineInformation
HardeningKitty डिफ़ॉल्ट सूची का उपयोग करता है, और केवल Medium गंभीरता वाले परीक्षणों की जाँच करता है।```powershell
Invoke-HardeningKitty -Filter { $_.Severity -eq "Medium" }