Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

Microsoft ने हाल ही में एक बहुत ही उपयोगी SecretManagement जारी किया है पावरशेल मॉड्यूल। आप इसका उपयोग अपनी PowerShell स्क्रिप्ट में सहेजे गए पासवर्ड (रहस्य) को सुरक्षित रूप से संग्रहीत और उपयोग करने के लिए कर सकते हैं। मॉड्यूल में दो घटक होते हैं:a SecretStore vault (एक डिफ़ॉल्ट पासवर्ड स्टोर), और एक SecretManagement (विभिन्न पासवर्ड वॉल्ट तक पहुंचने के लिए इंजन)। बिल्ट-इन सीक्रेटस्टोर वॉल्ट और थर्ड-पार्टी सीक्रेट वॉल्ट (जैसे कीपास, लास्टपास, हैशीकॉर्प वॉल्ट, एज़्योर की वॉल्ट, बिटवर्डन, विंडोज क्रेडेंशियल मैनेजर, आदि) दोनों समर्थित हैं। SecretManagement का उपयोग करके, आप किसी भी पासवर्ड (क्रेडेंशियल्स) को गुप्त तिजोरी में सहेज सकते हैं और उन्हें किसी भी समय पुनः प्राप्त कर सकते हैं। आप लाइसेंस कुंजियाँ, पहुँच कुंजियाँ, और अन्य संवेदनशील जानकारी भी संग्रहीत कर सकते हैं (Hashtable , Byte , String , SecureString , और PSCredential ऑब्जेक्ट प्रकार समर्थित हैं)।

इस लेख में, हम दिखाएंगे कि क्रेडेंशियल्स को संग्रहीत और पुनर्प्राप्त करने के लिए आपकी PowerShell स्क्रिप्ट में SecretManagement मॉड्यूल का उपयोग कैसे करें, साथ ही साथ KeePass एकीकरण का एक उदाहरण भी।

सामग्री:

  • गुप्त प्रबंधन मॉड्यूल की स्थापना
  • पावरशेल के माध्यम से एक पासवर्ड स्टोर (सीक्रेटस्टोर वॉल्ट) बनाएं
  • गुप्त प्रबंधन मॉड्यूल का उपयोग करके सहेजे गए क्रेडेंशियल प्रबंधित करना
  • पावरशेल स्क्रिप्ट में गुप्त वॉल्ट से सहेजे गए पासवर्ड का उपयोग करना
  • पावरशेल के साथ कीपास पासवर्ड और रहस्यों को प्रबंधित करना

गुप्त प्रबंधन मॉड्यूल की स्थापना

SecretManagement मॉड्यूल के लिए Windows PowerShell संस्करण 5.1 या PowerShell Core 6.x, 7.x की आवश्यकता होती है।

NuGet पैकेज मैनेजर का उपयोग करके SecretManagement को स्थापित करने के लिए, निम्न कमांड चलाएँ:

Install-Module -Name Microsoft.PowerShell.SecretManagement

डिफ़ॉल्ट SecretStore स्थापित करने के लिए Microsoft द्वारा ऑफ़र किया गया वॉल्ट, निम्न कमांड चलाएँ:

Install-Module -Name Microsoft.PowerShell.SecretStore

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

मॉड्यूल में उपलब्ध cmdlets की सूची प्रदर्शित करने के लिए, इन आदेशों का उपयोग करें:

Get-Command -Module Microsoft.PowerShell.SecretManagement
Get-Command -Module Microsoft.PowerShell.SecretStore

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

पावरशेल के माध्यम से एक पासवर्ड स्टोर (SecretStore Vault) बनाएं

सबसे पहले, एक स्थानीय गुप्त तिजोरी बनाएं। मैं इसे MyDomainPassdb नाम दूंगा और इसे एक डिफ़ॉल्ट पासवर्ड स्टोर बनाएं।

Register-SecretVault -Name MyDomainPassdb -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault

यदि आपकी पावरशेल स्क्रिप्ट निष्पादन नीति की सेटिंग्स मॉड्यूल को चलने से रोकती हैं, तो आप अपने वर्तमान सत्र के लिए सेटिंग्स को निम्नानुसार बदल सकते हैं:

Set-ExecutionPolicy -Scope Process Unrestricted

आप स्थानीय और दूरस्थ पासवर्ड वॉल्ट दोनों बना और उपयोग कर सकते हैं।

नीचे दिया गया कमांड वर्तमान उपयोगकर्ता के लिए पंजीकृत पासवर्ड वाल्ट की सूची प्रदर्शित करता है:

Get-SecretVault

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

अपना सीक्रेटस्टोर वॉल्ट एक्सेस करने के लिए एक मास्टर पासवर्ड बनाएं:

Get-SecretStoreConfiguration

यदि आप अपना सीक्रेटस्टोर वॉल्ट मास्टर पासवर्ड भूल जाते हैं, तो आप इसमें संग्रहीत डेटा तक नहीं पहुंच पाएंगे।

डिफ़ॉल्ट रूप से, निम्न सेटिंग्स निर्धारित करती हैं कि पासवर्ड स्टोर कौन और कैसे एक्सेस कर सकता है:

  • दायरा - CurrentUser (केवल वर्तमान उपयोगकर्ता ही सीक्रेटस्टोर तक पहुंच सकता है)
  • प्रमाणीकरण - Password (मास्टर पासवर्ड का उपयोग करके वॉल्ट एक्सेस करें)
  • पासवर्ड टाइमआउट - 900 - सत्र की अवधि (सेकंड में) जिसके दौरान आपको अपना मास्टर पासवर्ड फिर से दर्ज करने की आवश्यकता नहीं है, आप सत्र की लंबाई बढ़ा सकते हैं:Set-SecretStoreConfiguration -PasswordTimeout 1200
  • बातचीत - Prompt (क्या परिवर्तन करते समय मास्टर पासवर्ड दर्ज करना है)

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

गुप्त तिजोरी (अनुशंसित नहीं) तक पहुँचने के लिए मास्टर पासवर्ड के अनुरोध को अक्षम करने के लिए, Authentication = None सेट करें :

Set-SecretStoreConfiguration -Authentication None

मास्टर पासवर्ड बदलने के लिए, Set-SecretStorePassword . का उपयोग करें सीएमडीलेट।

विंडोज़ में, स्थानीय पासवर्ड स्टोर उपयोगकर्ता प्रोफ़ाइल फ़ोल्डर में स्थित है %LOCALAPPDATA%\Microsoft\PowerShell\secretmanagement

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

दुर्भाग्य से, आप प्रबंधित सेवा खातों (MSA/gMSA) के लिए गुप्त प्रबंधन मॉड्यूल का उपयोग नहीं कर सकते क्योंकि उनके लिए कोई प्रोफ़ाइल नहीं बनाई गई है।

गुप्त प्रबंधन मॉड्यूल का उपयोग करके सहेजे गए क्रेडेंशियल प्रबंधित करना

Set-Secret cmdlet का उपयोग पासवर्ड वॉल्ट में SecureString प्रकार का एक रहस्य जोड़ने के लिए किया जाता है। तिजोरी का नाम और प्रवेश नाम निर्दिष्ट करें:

Set-Secret -Vault MyDomainPassdb -Name user1

पासवर्ड (गुप्त) दर्ज करें जिसे आप स्टोर में सहेजना चाहते हैं।

या, आप एक संरक्षित मान को निम्नानुसार सहेज सकते हैं (उदा., एक GitHub कुंजी):
Set-Secret -Vault MyDomainPassdb -Name MY_GITHUB_TOKEN -Secret 'GitHub_AUTH_API_Token'

PowerShell कंसोल में निजी जानकारी को सादे पाठ के रूप में दर्ज करते समय सावधान रहें, क्योंकि यह PowerShell कमांड इतिहास में सहेजी जाती है।

आप गुप्त तिजोरी में प्रविष्टियों की सूची प्रदर्शित कर सकते हैं:

Get-SecretInfo

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

PowerShell 7.x में, आप –AsPlainText का उपयोग करके पासवर्ड वॉल्ट से एक सुरक्षित मान को सादे पाठ के रूप में प्रदर्शित कर सकते हैं विकल्प (यदि आवश्यक हो तो अपने पावरशेल संस्करण को अपडेट करें):

Get-Secret -Vault MyDomainPassdb -Name user1| ConvertFrom-SecureString –AsPlainText

ज्यादातर मामलों में, आपको केवल विंडोज़ नेटवर्क में काम करते समय पासवर्ड सहेजने के बजाय उपयोगकर्ता नाम और पासवर्ड दोनों को सहेजना होगा। इस मामले में, क्रेडेंशियल को PSC क्रेडेंशियल . के रूप में सहेजें वस्तु। आप सहेजी गई प्रविष्टि के विवरण के साथ मेटाडेटा भी जोड़ सकते हैं।

Set-Secret -Vault MyDomainPassdb -Name adm_maxbak -Secret (Get-Credential) -Metadata @{description = "AD enterprise admin woshub.com"}

यदि आप गेट-क्रेडेंशियल विंडो में खाता नाम दर्ज नहीं करना चाहते हैं, तो आप इसे इस तरह निर्दिष्ट कर सकते हैं:

Set-Secret -Vault MyDomainPassdb -name adm_maxbak -Secret (get-credential woshub\adm_maxbak)

यहां बताया गया है कि आप कैसे सहेजे गए पासवर्ड और उनके विवरण की सूची प्रदर्शित कर सकते हैं:

Get-SecretInfo | Ft Name, Metadata

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

पावरशेल स्क्रिप्ट में गुप्त वॉल्ट से सहेजे गए पासवर्ड का उपयोग करना

अब आप अपने पावरशेल स्क्रिप्ट और कमांड में सहेजे गए पासवर्ड का उपयोग कर सकते हैं। उदाहरण के लिए, मेरा एक ग्राहक सुरक्षा और प्रशासनिक खाता सुरक्षा कारणों से प्रत्येक व्यवस्थापक और विभिन्न सेवाओं/कार्यों के लिए एक दर्जन खातों का उपयोग कर रहा है। समान पासवर्ड का उपयोग वर्जित है, पासवर्ड का नियमित रूप से ऑडिट किया जाता है। व्‍यवस्‍थापकों को लगातार अलग-अलग पासवर्ड दर्ज करने में परेशानी होती है।

SecretManagement मॉड्यूल का उपयोग करके, आप अपने पासवर्ड को स्थानीय तिजोरी में सुरक्षित रूप से संग्रहीत कर सकते हैं और यदि आवश्यक हो तो उन्हें प्राप्त कर सकते हैं।

उदाहरण के लिए, रिमोट कंप्यूटर से कनेक्ट करने और पावरशेल रिमोटिंग के माध्यम से कमांड चलाने के लिए, आप निम्न कोड का उपयोग कर सकते हैं:

Enter-PSSession -ComputerName mun-dc01 -Credential (Get-Secret -Vault MyDomainPassdb -Name adm_maxbak)

उसी तरह, आप एक्सचेंज या माइक्रोसॉफ्ट 365 (एक्स-ऑफिस 365) को आसानी से कनेक्ट कर सकते हैं:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://mun-exch1.woshub.com/PowerShell/ -Authentication Kerberos -Credential (Get-Secret -Vault MyDomainPassdb -Name adm_ex_maxbak)

या अपने Azure AD टैनेंट को कनेक्ट करें:

Connect-AzureAD -Credential (Get-Secret -Vault MyDomainPassdb -Name azadm_ maxbak)

या केवल क्रेडेंशियल प्राप्त करें और उन्हें एक PowerShell चर में संग्रहीत करें:

$Cred = Get-Secret -Vault MyDomainPassdb user1

पावरशेल के साथ KeePass पासवर्ड और रहस्यों को प्रबंधित करना

आप अन्य लोकप्रिय पासवर्ड वॉल्ट तक पहुंचने के लिए सीक्रेट मैनेजमेंट मॉड्यूल का उपयोग कर सकते हैं। आइए देखें कि सहेजे गए पासवर्ड को कीपास . में कैसे एक्सेस करें फ़ाइल (*.kdbx).

सबसे पहले, KeePass के साथ बातचीत करने के लिए SecretManagement मॉड्यूल स्थापित करें:

Install-Module -Name SecretManagement.KeePass

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

फिर अपने उपयोगकर्ता प्रोफ़ाइल में स्थित KeePass वॉल्ट फ़ाइल को पंजीकृत करें:

Register-SecretVault -Name "KeePassDB" -ModuleName "SecretManagement.Keepass" -VaultParameters @{
Path = "C:\Users\maxbak\Documents\personal_creds.kdbx"
UseMasterPassword = $true
}

KeePass फ़ाइल तक पहुँच की जाँच करने के लिए, कमांड चलाएँ:

Test-SecretVault -Name KeePassDB

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

कीपास वॉल्ट तक पहुंचने के लिए मास्टर पासवर्ड दर्ज करें। यदि आपने पासवर्ड सही ढंग से दर्ज किया है, तो कमांड सत्य returns लौटाता है ।

फिर KeePass डेटाबेस में सहेजे गए पासवर्ड की सूची प्रदर्शित करें:

Get-SecretInfo -Vault KeePassDB

पावरशेल सीक्रेट मैनेजमेंट मॉड्यूल:क्रेडेंशियल्स और सीक्रेट्स को सुरक्षित रूप से प्रबंधित करें

KeePass में एक नया रहस्य सहेजने के लिए:

Set-Secret -Vault KeePassDB -Name "ILO_adm" -Secret (Get-Credential woshub\ILO_adm)

इसी तरह, आप किसी अन्य लोकप्रिय पासवर्ड स्टोर समाधान को कनेक्ट कर सकते हैं और इसे पावरशेल में उपयोग कर सकते हैं।


  1. Windows PowerShell का उपयोग करके स्थानीय उपयोगकर्ताओं और समूहों का प्रबंधन कैसे करें

    Windows PowerShell का उपयोग स्थानीय उपयोगकर्ताओं और समूहों को प्रबंधित करने के लिए भी किया जा सकता है . यह विंडोज 10 के एक बहुउपयोगकर्ता ऑपरेटिंग सिस्टम होने के सिद्धांत की पुष्टि करता है। स्थानीय उपयोगकर्ताओं और समूहों को प्रबंधित करने के लिए अन्य GUI आधारित उपयोगिताएँ हैं। लेकिन कुछ सिस्टम प्रशासक

  1. Microsoft Edge में सहेजे गए पासवर्ड कैसे देखें और प्रबंधित करें

    Microsoft प्रतिस्पर्धा को मात देने और एक अद्वितीय उपयोगकर्ता अनुभव प्रदान करने के लिए अपने एज ब्राउज़र में लगातार नई सुविधाएँ जोड़ रहा है। अन्य ब्राउज़रों की तरह, Microsoft Edge आपको अपने सहेजे गए पासवर्ड देखने और प्रबंधित करने की अनुमति देता है। जब भी आप किसी ऐसी वेबसाइट पर जाते हैं जिसमें आपको साइ

  1. एक ही वॉल्ट में एकाधिक पासवर्ड की पहचान, लॉक और प्रबंधन कैसे करें

    क्रेडेंशियल जानकारी के महत्वपूर्ण भाग हैं जिन्हें हर समय सुरक्षित रखा जाना चाहिए, चाहे वह ऑनलाइन समाचार साइट के लिए एक मूल पासवर्ड हो या बैंकिंग और क्रेडिट कार्ड जैसी कुछ और महत्वपूर्ण चीजें हों। उपयोगकर्ता नाम और पासवर्ड एक क्रेडेंशियल के दो भाग हैं। पासवर्ड को उपयोगकर्ता के विवेक पर चुना और संग्रह