मल्टी-होम होस्ट्स के साथ केर्बरोस का उपयोग करना


0

मेरे पास कई होस्ट हैं जो ओपनएसएसएच 6.6.1 पी 1 और केर्बरोस 5 संस्करण 1.14.1 के साथ सेंटोस 7.3 चला रहे हैं ।

मेरे मेजबान और उनके नेटवर्क इंटरफेस नीचे दिखाए गए हैं। होस्ट्स को उनके "प्राथमिक" होस्टनाम द्वारा सूचीबद्ध किया जाता है, जो होस्टनाम है जो होस्ट के eth0 नेटवर्क इंटरफ़ेस पर एकल आईपी पते के साथ DNS में जुड़ा हुआ है। कई नेटवर्क इंटरफेस वाले मेजबानों पर, मैं तब उन प्रत्येक नेटवर्क इंटरफेस पर एकल आईपी पते से जुड़े DNS नाम भी देता हूं।

  • inf.example.com

    • eth0: 192.168.1.1/24
  • dev.example.com

    • eth0: 192.168.1.2/24
  • cluster-1.example.com

    • eth0: 192.168.1.11/24
    • eth1: 192.168.10.11/24 (इस द्वितीयक नेटवर्क इंटरफ़ेस के लिए DNS A / PTR रिकॉर्ड होस्टनाम क्लस्टर -1-a.example.com का उपयोग करके स्थापित किए गए हैं)
  • cluster-2.example.com

    • eth0: 192.168.1.12/24
    • eth1: 192.168.10.12/24 (इस द्वितीयक नेटवर्क इंटरफ़ेस के लिए DNS A / PTR रिकॉर्ड होस्टनाम क्लस्टर-2-a.example.com का उपयोग करके स्थापित किए गए हैं)

inf.example.com , "इन्फ्रास्ट्रक्चर" सर्वर है, जहां DNS, LDAP, कर्बरोस की डिस्ट्रीब्यूशन सेंटर (KDC), आदि चलते हैं। ये सभी आइटम FreeIPA संस्करण 4.4.0 के उपयोग के माध्यम से एकीकृत तरीके से प्रबंधित किए जाते हैं ।

dev.example.com एक विकास मेजबान जहाँ से डेवलपर्स स्क्रिप्ट कि SSH का उपयोग पर दूरस्थ आदेश पर अमल करने के लिए चलाया जाता है cluster-1.example.com

आदेश पर चलाए जाने के दौरान cluster-1.example.com बदले में पर एक दूरस्थ कमांड निष्पादित करने के लिए SSH का उपयोग करता है अन्य क्लस्टर मेजबान है, लेकिन यह अपने से अधिक ऐसा नहीं करता है माध्यमिक नेटवर्क इंटरफेस (यानी अपने से अधिक 192.168.10.11 (उर्फ क्लस्टर-2-एक .example.com ) नेटवर्क इंटरफ़ेस)।

इन लिपियों को चलाने की सुविधा के लिए, मैं OpenSSH के लिए पूरी तरह से सिंगल साइन ऑन (SSO) प्राप्त करने का प्रयास कर रहा हूं।

192.168.1.0/24 पतों का उपयोग करने और SSH के लिए -K फ़्लैग का उपयोग करने के लिए मेरा Kerberos टिकट ग्रांटिंग टिकट (TGT) को होस्ट करने के लिए अग्रेषित कर रहा हूँ, तो सब कुछ ठीक चल रहा है:

user@dev$ ssh -K cluster-1.example.com
user@cluster-1$ ssh -K cluster-2.example.com
user@cluster-2 $ # Everything worked! I was never prompted to accept an SSH host key or to enter a password!

हालाँकि, यदि मैं द्वितीय एसएसएच हॉप पर द्वितीयक नेटवर्क इंटरफ़ेस का उपयोग करने की कोशिश करता हूं, तो चीजें वांछित के रूप में काम नहीं करती हैं (यानी एक तरह से जिसे मानव सहभागिता की आवश्यकता नहीं है)। विशेष रूप से, मानव संपर्क के दो संकेत होते हैं:

  1. मुझे सर्वर की SSH होस्ट कुंजी स्वीकार करने के लिए प्रेरित किया जाता है
  2. मुझे मेरे पासवर्ड के लिए संकेत दिया गया है

इन समस्याओं को नीचे देखा जा सकता है:

user@dev$ ssh -K cluster-1.example.com
user@cluster-1$ ssh -K cluster-2-a.example.com
The authenticity of host 'cluster-2-a.example.com (<no hostip for proxy command>)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'cluster-2-a.example.com' (RSA) to the list of known hosts.
Password:

यह आश्चर्य की बात नहीं है कि यह काम नहीं कर रहा है। हालाँकि, द्वितीयक नेटवर्क इंटरफेस से जुड़े IP पते और होस्टनाम DNS में A और PTR रिकॉर्ड हैं, लेकिन Kerberos में द्वितीयक नेटवर्क इंटरफेस के साथ IP पते और होस्टनाम का कोई "नामांकन" नहीं है।

कैसे कई नेटवर्क इंटरफेस / होस्टनाम / आईपी एड्रेस के साथ करबरोस में ठीक से कॉन्फ़िगर किया गया है ताकि किसी भी होस्ट होस्टनाम / आईपी पते का उपयोग करके SSH SSO को काम करने दिया जा सके?

7/31/2018 UPDATE
inf.example.com (यानी KDC) की 192.168.10.0/24 नेटवर्क पर उपस्थिति नहीं है ।

उस पर एक उपस्थिति की आवश्यकता है 192.168.10.0/24 1 के लिए की आरंभिक नामांकन) cluster-1-a.example.com और cluster-2-a.example.com या 2 के लिए) के चल रहे कार्यों क्लस्टर-1-a.example .com और क्लस्टर - 2-a.example.com ?

या, क्या सभी करबरोस ट्रैफ़िक को नामांकन करने और फिर प्राथमिक इंटरफेस (यानी 192.168.1.0/24 नेटवर्क) पर माध्यमिक नेटवर्क इंटरफेस को संचालित करने की आवश्यकता हो सकती है ?

जवाबों:


1

हालाँकि, द्वितीयक नेटवर्क इंटरफेस से जुड़े IP पते और होस्टनाम DNS में A और PTR रिकॉर्ड हैं, लेकिन Kerberos में द्वितीयक नेटवर्क इंटरफेस के साथ IP पते और होस्टनाम का कोई "नामांकन" नहीं है।

अच्छा, उनका दाखिला कराओ।

  1. प्रत्येक मल्टीहोम सर्वर पर, सख्त प्रिंसिपल चेकिंग को अक्षम करें और यह बताएं कि इसके कीटेब में मौजूद किसी भी कुंजी के लिए टिकट स्वीकार करें:

  2. ऐसा करने के बाद, सर्वर के सभी नामों के लिए KDC, और उन सभी में कुंजी के लिए प्रिंसिपल को एक ही में जोड़ें /etc/krb5.keytab। (उन ग्राहकों के लिए जिनका नाम कैनोनिकलाइज़ेशन अक्षम है, आप संक्षिप्त नाम और / या आईपी पते के लिए प्रिंसिपल भी जोड़ सकते हैं।)

    FreeIPA के पास ऐसा करने के लिए "प्रिंसिपल अलायस" नामक एक सुविधा है, हालाँकि मुझे यकीन नहीं है कि यह यहाँ आवश्यकतानुसार काम करता है:

    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/linux_domain_identity_authentication_and_policy_guide/managing-kerberos-aliases

यह शायद एकमात्र तरीका नहीं है, लेकिन यह सबसे सरल है और इसमें कोई क्लाइंट-साइड कॉन्फ़िगरेशन शामिल नहीं है। सब कुछ पहले की तरह ही काम करता है।

7/31/2018 अपडेट

inf.example.com (यानी KDC) की 192.168.10.0/24 नेटवर्क पर उपस्थिति नहीं है।

क्या इसे 192.168.10.0/24 पर 1 के लिए उपस्थिति की आवश्यकता है) क्लस्टर -1-a.example.com और क्लस्टर-2-a.example.com का प्रारंभिक नामांकन या 2 के लिए) क्लस्टर-1-a.example का चालू संचालन .com और क्लस्टर-2-a.example.com?

नहीं, यह नहीं है। केर्बेरस मामूली में सबनेट के बारे में परवाह नहीं करता है - यह केवल मानक यूनिकैस्ट टीसीपी / यूडीपी संचार काम करने पर निर्भर करता है। (उदाहरण के लिए, मेरे होमलैब में तीन अलग-अलग देशों में सर्वर और केडीसी हैं, जो सार्वजनिक इंटरनेट पर संचार करते हैं ...)

उस मामले के लिए, सर्वर KDC के साथ बिल्कुल भी संवाद नहीं करते हैं केवल ग्राहक करते हैं। सर्वर आपके टिकट को सत्यापित करने के लिए अपने स्थानीय कीटाब का उपयोग करता है।

(बेशक, सर्वर LDAP के माध्यम से खाता विवरण देखने के लिए आपकी FreeIPA निर्देशिका सेवाओं के साथ संवाद करेगा ... लेकिन यह अब एक Kerberos चीज नहीं है।)


मैं इसे एक उत्तर के रूप में स्वीकार करने की संभावना रखता हूं क्योंकि एक बार मैं ऐसा करने के लिए पर्याप्त सीखता हूं जैसा कि आपने एक फ्रीपा-अनुरूप तरीके से सुझाया है। मैं अभी भी Kerberos / FreeIPA सीखने की अवस्था पर हूं। क्या सुझाव के लिए सुरक्षा निहितार्थ हैं?
डेव

कोई भी नहीं होना चाहिए, कम से कम तब तक जब तक किटैब में केवल एक ही सेवा के लिए वैकल्पिक प्रिंसिपल न हों। (सक्रिय डायरेक्ट्री सिस्टम डिफ़ॉल्ट रूप से ऐसा करता है, मेजबान की सभी प्रिंसिपलों के लिए एक ही कुंजी का उपयोग किया जाता है। मुझे संदेह है कि FreeIPA के "उपनाम" की सुविधा समान है।) हालांकि ऊपर दिए गए MIT Kerberos डॉक्स की समीक्षा करें।
विशालकाय जूल

इस पर धीरे-धीरे आगे बढ़ रहे हैं। कृपया मेरी मूल पोस्ट को 7/31/2018 अपडेट देखें। धन्यवाद!
डेव

यह शायद एक स्टैंडअलोन सवाल होना चाहिए, लेकिन संक्षेप में, सबनेट पूरी तरह से अप्रासंगिक हैं।
विशालकाय जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.