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

एक्टिव डायरेक्टरी में Kerberos प्रमाणीकरण के लिए Keytab फ़ाइल बनाना

कई लिनक्स सेवाएं (apache, nginx, आदि) keytab फ़ाइलों का उपयोग एक्टिव डायरेक्टरी में Kerberos प्रमाणीकरण के लिए पासवर्ड दर्ज किए बिना कर सकती हैं। Keytab फ़ाइल Kerberos प्रिंसिपल्स के नाम और उनके संबंधित एन्क्रिप्टेड कुंजियों (Kerberos पासवर्ड से प्राप्त) को रखती है। इस लेख में हम दिखाएंगे कि लिंक किए गए एक्टिव डायरेक्टरी खाते के SPN के लिए ktpass टूल का उपयोग करके keytab फ़ाइल कैसे बनाएं।

अक्सर, एक अलग एक्टिव डायरेक्टरी उपयोगकर्ता खाता उस सेवा के लिए बनाया जाता है जिसे keytab फ़ाइल का उपयोग करने की आवश्यकता होती है। हालांकि, आप इसे करने के लिए कंप्यूटर ऑब्जेक्ट का भी उपयोग कर सकते हैं। फिर सर्विस नाम खाते से बंधा होता है (ServicePrincipalName — SPN)। SPN का उपयोग Kerberos प्रमाणीकरण द्वारा सर्विस इंस्टेंस को AD खाते में मैप करने के लिए किया जाता है (यही कारण है कि ऐप्स उपयोगकर्ता नाम जाने बिना भी सेवाओं के रूप में प्रमाणित कर सकते हैं)।

सबसे पहले, AD में एक सर्विस अकाउंट बनाएं और इसके लिए एक ज्ञात पासवर्ड सेट करें। आप ग्राफिक ADUC कंसोल (dsa.msc) से अकाउंट बना सकते हैं या PowerShell में New-ADUser cmdlet का उपयोग कर सकते हैं (PowerShell Active Directory मॉड्यूल से):

New-ADUser -Name "web" -GivenName "nginx web app" -SamAccountName "web" -UserPrincipalName "web@test.com" -Path "OU=Services,OU=Munich,OU=DE,DC=test,DC=com" –AccountPassword (ConvertTo-SecureString “Sup6r!Pa$s” -AsPlainText -force) -Enabled $true

ग्राफिक कंसोल या PowerShell में सर्विस अकाउंट के लिए "User cannot change password" और "Password never expires" विकल्प सक्षम करें:

Get-ADUser web|Set-ADUser -PasswordNeverExpires:$True -CannotChangePassword:$true

अगले चरण में सर्विस प्रिंसिपल नेम (SPN) को उपयोगकर्ता खाते से बांधें। आपको यह चरण अलग से करने की आवश्यकता नहीं है, क्योंकि ktpass keytab फ़ाइल बनाते समय इसे स्वचालित रूप से करता है (मैं आपको प्रक्रिया को बेहतर ढंग से समझने के लिए इसे करूंगा)।

web खाते से निम्न SPN रिकॉर्ड बांधें:

setspn -A HTTP/www.test.com@test.com web

AD उपयोगकर्ता से जुड़े SPN रिकॉर्ड की सूची प्रदर्शित करें:

setspn -L web

keytab फ़ाइल बनाने के लिए, निम्न कमांड का उपयोग किया जाता है:

ktpass -princ HTTP/www.test.com@TEST.COM -mapuser web -crypto ALL -ptype KRB5_NT_PRINCIPAL -pass Sup6r!Pa$s -target mundc01.test.com -out c:\share\web.keytab

Successfully mapped HTTP/www.test.com to web. Password successfully set! Key created. Output keytab to c:\share\webt.keytab: Keytab version: 0x502 keysize 53 HTTP/www.test.com@test.com ptype 1 (KRB5_NT_PRINCIPAL) vno 4 etype 0x1 (DES-CBC-CRC) keylength 8 (0x73f868856e046449)

कमांड ने सर्विस HTTP/www@test.com के SPN रिकॉर्ड के लिए एक keytab फ़ाइल (c:\share\webt.keytab) बनाई है। SPN रिकॉर्ड निर्दिष्ट पासवर्ड के साथ web खाते से बंधा हुआ है।

सुनिश्चित करें कि सर्विस के लिए SPN रिकॉर्ड सफलतापूर्वक बनाया गया है (यदि आपने इसे मैन्युअली नहीं बनाया):

setspn -Q */www.test.com@test.com
आप देख सकते हैं कि SPN रिकॉर्ड मिल गया है (Existing SPN found!)। यह web खाते से बंधा हुआ है।

विंडोज में keytab फ़ाइल की सामग्री देखने के लिए कोई बिल्ट-इन टूल नहीं है। लेकिन यदि आपके कंप्यूटर पर Java JRE इंस्टॉल है, तो आप Java डिस्ट्रीब्यूशन पैकेज में शामिल klist.exe का उपयोग कर सकते हैं।

cd "c:\Program Files\Java\jre1.8.0_181\bin"
klist.exe -K -e -t -k c:\PS\web_host.keytab

Key tab: c:\PS\web_host.keytab, 5 entries found.

आइए keytab फ़ाइल की सामग्री देखें। यहां SPNs, कुंजियाँ, टाइमस्टैम्प्स, एक एन्क्रिप्शन एल्गोरिदम और एक कुंजी संस्करण (KVNO — कुंजी संस्करण संख्या) निर्दिष्ट हैं।

keytab फ़ाइल बनाते समय, ktpass उपयोगकर्ता खाते के msDS-KeyVersionNumber एट्रिब्यूट मान को बढ़ाता है (आप इसे AD एट्रिब्यूट एडिटर में देख सकते हैं) और मान को keytab टेबल में KVNO के रूप में उपयोग करता है।

यदि आप खाता पासवर्ड बदलते हैं, तो एट्रिब्यूट मान एक से बढ़ जाता है, और पिछले KVNO के साथ सभी keytab एंट्रीज़ अमान्य हो जाती हैं (यहां तक कि यदि नया पासवर्ड पुराने से पूरी तरह मेल खाता है)। यदि AD में उपयोगकर्ता पासवर्ड बदलता है, तो आपको keytab फ़ाइल फिर से जनरेट करनी होगी।

एक keytab फ़ाइल अलग-अलग SPNs की कुंजियाँ रख सकती है। अतिरिक्त SPNs और कुंजियों को keytab फ़ाइल में ktpass पैरामीटर्स (-in,-setupn,-setpass) का उपयोग करके जोड़ा जाता है।

आपके द्वारा प्राप्त keytab फ़ाइल का आगे का उपयोग उस सर्विस पर निर्भर करता है जिस पर इसे लागू किया जाता है। उदाहरण के लिए, यहां आप सीख सकते हैं कि Zabbix में पारदर्शी SSO उपयोगकर्ता प्रमाणीकरण के लिए keytab फ़ाइल का उपयोग कैसे करें। साथ ही, अपने keytab फ़ाइलों को सुरक्षित रखना न भूलें (कोई भी जो keytab फ़ाइल की सामग्री पढ़ने में सक्षम है, वह इसमें से किसी भी कुंजी का उपयोग कर सकेगा)।

  1. IIS वेबसाइट पर केरबेरोस ऑथेंटिकेशन कॉन्फिगर करना IIS वेबसाइट पर केरबेरोस ऑथेंटिकेशन कॉन्फिगर करना

    यहां Windows Server 2012 R2 पर चल रही IIS वेबसाइट पर ट्रांसपेरेंट SSO (सिंगल साइन-ऑन) केरबेरोस डोमेन यूजर ऑथेंटिकेशन कॉन्फिगर करने के लिए चरण-दर-चरण गाइड है। अपने वेब सर्वर पर IIS मैनेजर शुरू करें, आवश्यक वेबसाइट चुनें और Authentication सेक्शन पर जाएं। जैसा कि आप देख सकते हैं, डिफ़ॉल्ट रूप से केवल

  1. Zabbix: Active Directory में सिंगल साइन-ऑन (SSO) प्रमाणीकरण Zabbix: Active Directory में सिंगल साइन-ऑन (SSO) प्रमाणीकरण

    इस लेख में हम Zabbix 4.0 (या नए) के लिए Active Directory में Kerberos का उपयोग करके पारदर्शी SSO (सिंगल साइन-ऑन) प्रमाणीकरण के चरण-दर-चरण कॉन्फ़िगरेशन पर विचार करेंगे। अंतिम परिणाम यह है कि एक उपयोगकर्ता बिना क्रेडेंशियल दर्ज किए Zabbix फ्रंटपेज पर स्वचालित रूप से प्रमाणित हो जाता है। इसके लिए, उपय

  1. समाधान: डोमेन के लिए एक्टिव डायरेक्टरी डोमेन कंट्रोलर से संपर्क नहीं किया जा सका समाधान: डोमेन के लिए एक्टिव डायरेक्टरी डोमेन कंट्रोलर से संपर्क नहीं किया जा सका

    त्रुटि डोमेन के लिए एक्टिव डायरेक्टरी डोमेन कंट्रोलर से संपर्क नहीं किया जा सका अक्सर आपके DNS मिसकॉन्फिगरेशन के कारण होती है, जिस स्थिति में आपको इसे बदलना होगा। उपयोगकर्ताओं ने रिपोर्ट किया है कि जब वे किसी अन्य विंडोज वर्कस्टेशन को डोमेन में जोड़ने का प्रयास करते हैं, तो उन्हें निम्न त्रुटि संदेश