सवाल आईआईएस में एनटीएलएम के बजाय केर्बेरो का उपयोग क्यों करें?


यह ऐसा कुछ है जिसे मैंने कभी जवाब देने में सक्षम नहीं किया है और साथ ही मुझे पसंद है: एनटीएलएम के बजाय आईआईएस में केर्बेरोज प्रमाणीकरण का उपयोग करने का वास्तविक लाभ क्या है?

मैंने देखा है कि बहुत से लोग वास्तव में इसे स्थापित करने के लिए संघर्ष करते हैं (स्वयं शामिल) और मैं इसका उपयोग करने के लिए एक अच्छे कारण के साथ आने में सक्षम नहीं हूं। यद्यपि कुछ बहुत ही महत्वपूर्ण फायदे होने चाहिए, अन्यथा यह इसे स्थापित करने के लिए सभी परेशानी के लायक नहीं होगा, है ना?


38
2018-04-01 23:04


मूल




जवाब:


केवल एक विंडोज परिप्रेक्ष्य से:

NTLM

  • के साथ काम करता है दोनों  बाहरी (गैर-डोमेन) और अंदर का ग्राहकों
  • दोनों के साथ काम करता है डोमेन खाते तथा स्थानीय उपयोगकर्ता खाते आईआईएस बॉक्स पर
    • डोमेन खातों का उपयोग कर, केवल सर्वर एक डोमेन नियंत्रक (डीसी) के लिए सीधी कनेक्टिविटी की आवश्यकता है
    • स्थानीय खातों का उपयोग करके, आपको कहीं भी कनेक्टिविटी की आवश्यकता नहीं है :)
    • आपको क्रेडेंशियल का उपयोग करने के लिए उपयोगकर्ता के रूप में लॉग इन करने की आवश्यकता नहीं है
    • अलग: यह एनटीएलएम अनुरोधों की मात्रा के साथ एक व्यस्त एनटीएलएम सर्वर (आईआईएस, एक्सचेंज, टीएमजी / आईएसए, आदि) द्वारा डीसी को अभिभूत करने के लिए असामान्य नहीं है (कम करने के लिए: MaxConcurrentAPI, AuthPersistSingleRequest (असत्य), तेजी से डीसी।) (आत्म-संदर्भित बोनस।)
  • ग्राहक कनेक्टिविटी की आवश्यकता है केवल आईआईएस सर्वर के लिए (साइट पोर्ट पर, और कुछ नहीं। यानी। सब कुछ HTTP (या HTTPS) पर होता है।)
  • किसी भी प्रॉक्सी समर्थन कर सकते हैं HTTP Keep-Aliveरों
    • आप दूसरों के आसपास काम करने के लिए टीएलएस / एसएसएल का उपयोग करने में सक्षम हो सकते हैं
  • की आवश्यकता है एकाधिक दौर यात्राएं के साथ प्रमाणित करने के लिए छोटे पैकेट
    • (लॉग पैटर्न है 401.2, 401.1, 200 उपयोगकर्ता नाम के साथ)
  • उन परिदृश्यों में उपयोग नहीं किया जा सकता है जहां डबल-हॉप प्रमाणीकरण की आवश्यकता होती है
    • यानी उपयोगकर्ता के प्रमाण पत्र किसी अन्य कंप्यूटर पर किसी सेवा के लिए अग्रेषित किए जाने हैं
  • पुराने ग्राहकों का समर्थन करता है (<Win2000)
  • एलएम औथ स्तर विसंगतियों के लिए अतिसंवेदनशील है (बेमेल lmcompatibilitylevel)
  • अगर Curb विफल रहता है तो नेगोशिएट पैकेज द्वारा फ़ॉलबैक के रूप में उपयोग किया जाता है।
    • (नहीं "अगर पहुंच है से इनकार किया Curb के साथ ", Curb चाहिए टूटना एनटीएलएम का उपयोग करने के लिए - आमतौर पर ऐसा लगता है कि टिकट नहीं मिल रहा है। अगर ग्राहक को टिकट मिलता है और यह सही नहीं है, तो इससे फॉलबैक नहीं होता है।)

करबरोस

  • के साथ काम करता है वर्तमान में केवल डोमेन से जुड़े ग्राहकों
    • एक के लिए ग्राहक कनेक्टिविटी की आवश्यकता है एडी डीसी (टीसीपी / udp 88) और सर्वर (टिकट को क्लाइंट द्वारा डीआर से कर्क पोर्ट के माध्यम से पुनर्प्राप्त किया जाता है, और फिर HTTP का उपयोग कर सर्वर को प्रदान किया जाता है)
  • पराक्रम प्रॉक्सी को पार करने में सक्षम हो, लेकिन उपरोक्त डीसी बिंदु देखें: आपको अभी भी एक सक्रिय डीसी के रूप में एक ही नेटवर्क पर होना चाहिए, जैसा कि सर्वर करता है

    • इसलिए सिद्धांत रूप में यदि आपके पास ऐसा डोमेन था जिसमें इंटरनेट से जुड़े क्लाइंट सीधे इंटरनेट से जुड़े डीसी से चैट करते हैं, तो यह काम करने योग्य है। परंतु ऐसा मत करो जब तक कि आप पहले से ही यह नहीं जानते थे।
    • रिवर्स प्रॉक्सी परिदृश्य (आईएसए / टीएमजी) में, प्रोटोकॉल संक्रमण सर्वर को उस नेटवर्क पर होना जरूरी है, यानी क्लाइंट नहीं ... लेकिन फिर क्लाइंट वास्तव में केर्बेरोज बिट नहीं कर रहा है (जरूरी - लगता है कि कर्ब संक्रमण के लिए फॉर्म ऑथ)।
  • टिकट लंबे समय तक रहता है (10 एच) अर्थ कम डीसी संचार टिकट जीवन भर के दौरान - और जोर देने के लिए: यह लाखों अनुरोधों को हजारों बचा सकता है  प्रति ग्राहक उस जीवनकाल में - (AuthPersistNonNTLM अभी भी एक बात है; केर्बेरोज पीएसी सत्यापन एक चीज थी)

  • आवश्यकता है एक एकल राउंड-ट्रिप प्रमाणित करने के लिए, लेकिन प्रमाणीकरण पेलोड आकार अपेक्षाकृत बड़ा है (आमतौर पर 6-16 के) (401, {(एन्कोडेड) टोकन आकार} 200)
  • (कृपया, हमेशा के साथ प्रयोग किया जा सकता है विवश) शिष्ठ मंडल कनेक्टिंग उपयोगकर्ता के अगले प्रमाणीकरण के विंडोज प्रमाणीकरण को सक्षम करने के लिए
    • उदाहरण के लिए, अनुमति देने के लिए UserA आईआईएस तक पहुंचने के लिए, और जब आईआईएस एसक्यूएल सर्वर का उपयोग करता है तो उसी उपयोगकर्ता खाते का उपयोग करें, यह "प्रमाणीकरण का प्रतिनिधिमंडल" है।
    • (विवश इस संदर्भ में "कुछ और नहीं" का अर्थ है, उदाहरण के लिए एक्सचेंज या अन्य एसक्यूएल बॉक्स)
  • वर्तमान में नेगोशिएट प्रमाणीकरण के लिए प्राथमिक सुरक्षा पैकेज है
    • जिसका अर्थ है कि विंडोज डोमेन सदस्य इसे प्राप्त कर सकते हैं जब वे इसे प्राप्त कर सकते हैं
  • की आवश्यकता है एसपीएन का पंजीकरण, जो मुश्किल हो सकता है। नियम जो मदद करते हैं
  • ए के उपयोग की आवश्यकता है नाम लक्ष्य के रूप में, एक आईपी पता नहीं
  • कारण विफल हो सकता है:
    • किसी नाम के बजाय एक आईपी पता का उपयोग करना
    • कोई एसपीएन पंजीकृत नहीं है
    • पंजीकृत डुप्लिकेट एसपीएन
    • एसपीएन गलत खाते के खिलाफ पंजीकृत (KRB_ERR_AP_MODIFIED)
    • कोई ग्राहक DNS / डीसी कनेक्टिविटी नहीं
    • क्लाइंट प्रॉक्सी सेटिंग / स्थानीय इंट्रानेट जोन लक्षित साइट के लिए उपयोग नहीं किया जाता है

जबकि हम इसमें हैं:

बुनियादी

  • बहु-हॉप कर सकते हैं लेकिन ऐसा करता है सीधे अपना उपयोगकर्ता नाम और पासवर्ड उजागर करें लक्ष्य वेब ऐप के लिए
    • जो तब उनके साथ कुछ भी कर सकता है। कुछ भी
    • "ओह, क्या एक डोमेन एडमिन सिर्फ मेरे ऐप का उपयोग करता है? और क्या मैंने अभी अपना ईमेल पढ़ा? फिर अपना पासवर्ड रीसेट करें? Awww। दया"
  • ज़रूरत परिवहन परत सुरक्षा (यानी टीएलएस / एसएसएल) सुरक्षा के किसी भी रूप के लिए।
    • और फिर, पिछली समस्या देखें
  • किसी भी ब्राउज़र के साथ काम करता है
    • (परंतु पहला मुद्दा देखें)
  • आवश्यकता है एक एकल राउंड-ट्रिप प्रमाणित करने के लिए (401, 200)
  • बहु-हॉप परिदृश्यों में उपयोग किया जा सकता है क्योंकि विंडोज मूलभूत प्रमाणपत्रों के साथ एक इंटरैक्टिव लॉगऑन कर सकते हैं
    • जरूरत हो सकती है LogonType इसे पूरा करने के लिए कॉन्फ़िगर किया जाना चाहिए (लगता है कि 2000 और 2003 के बीच नेटवर्क क्लीयरक्स्ट में डिफ़ॉल्ट रूप से बदला गया है, लेकिन हो सकता है कि यह गलत हो रहा हो)
    • परंतु फिर, पहला मुद्दा देखें
    • इंप्रेशन प्राप्त करना कि पहला मुद्दा वास्तव में, वास्तव में महत्वपूर्ण है? यह है।

सारांश में:

कर्क स्थापित करने के लिए मुश्किल हो सकता है, लेकिन गाइड के भार हैं (मेरा एक) वहां प्रक्रिया को सरल बनाने का प्रयास करें, और उपकरण में सुधार हुआ है बेहद 2003 से 2008 तक (SetSPN डुप्लिकेट की खोज कर सकते हैं, जो सबसे आम तोड़ने वाला मुद्दा है; उपयोग SETSPN -S जब भी आप उपयोग करने के लिए मार्गदर्शन देखते हैं- ए, और जीवन खुश होगा)।

प्रतिबंधित प्रतिनिधिमंडल प्रवेश की लागत के लायक है।


64
2018-04-02 02:06



तकनीकी रूप से, कर्क ग्राहक नहीं है है डोमेन / क्षेत्र में शामिल होने के लिए वे उपयोग करना चाहते हैं। जब तक उनके पास डीसी से कनेक्टिविटी हो, तब तक आप नेटोनली फ्लैग के साथ रनस का उपयोग कर सकते हैं और एक डोमेन उपयोगकर्ता के संदर्भ में एक प्रक्रिया लॉन्च कर सकते हैं जो डीसी लुकअप के माध्यम से डीसी को पाई जा सकती है, फिर भी एक वैध टीजीटी खींच जाएगी । और यहां तक ​​कि यदि DNS को बस्ट किया गया है, तो आप ksetup.exe का उपयोग कर रजिस्ट्री संकेतों के साथ तकनीकी रूप से इसके आसपास काम कर सकते हैं। आप लिनक्स क्लाइंट के साथ भी इसी तरह की चीजें कर सकते हैं। जाहिर है, हालांकि ये किनारे के मामले हैं। - Ryan Bolger


  • केर्बेरोस एनटीएलएम की तुलना में तेज़ी से और अधिक सुरक्षित प्रमाणीकरण तंत्र होने की प्रतिष्ठा है।
  • एनटीएलएम की कनेक्शन-आधारित प्रकृति के कारण एनटीएलएम की तुलना में प्रॉक्सी सर्वर से कनेक्ट करना भी ऐतिहासिक रूप से आसान रहा है।
  • उस ने कहा, जैसा कि आप ध्यान देते हैं, केर्बेरोज उठना और दौड़ना अधिक कठिन है, और उस एडी के साथ कनेक्शन की आवश्यकता है जो हमेशा व्यावहारिक नहीं है।

एक और दृष्टिकोण प्रमाणीकरण सेट करने के लिए होगा negotiate और दूसरे के बजाय एक के बजाय दोनों का उपयोग करें।


10
2018-04-01 23:50





वहाँ से माइक्रोसॉफ्ट एप्लिकेशन सत्यापनकर्ता, जो सामान्य डेवलपर गलतियों का पता लगाता है। उन गलतियों में से एक है एनटीएलएम का उपयोग:

एनटीएलएम एक पुरानी प्रमाणीकरण प्रोटोकॉल है जो त्रुटियों के साथ है   संभावित रूप से अनुप्रयोगों और ऑपरेटिंग की सुरक्षा समझौता   प्रणाली। सबसे महत्वपूर्ण कमी सर्वर की कमी है   प्रमाणीकरण, जो किसी हमलावर को उपयोगकर्ताओं को धोखा देने की अनुमति दे सकता है   एक स्पूफेड सर्वर से कनेक्ट करना। लापता सर्वर की एक अनुशासनिक के रूप में   प्रमाणीकरण, एनटीएलएम का उपयोग कर अनुप्रयोग भी एक के लिए कमजोर हो सकता है   हमले का प्रकार "प्रतिबिंब" हमले के रूप में जाना जाता है। यह बाद में एक की अनुमति देता है   हमलावर को उपयोगकर्ता की प्रमाणीकरण वार्तालाप को हाइजैक करने के लिए   वैध सर्वर और हमलावर को प्रमाणित करने के लिए इसका उपयोग करें   उपयोगकर्ता का कंप्यूटर एनटीएलएम की कमजोरियों और उनका शोषण करने के तरीके   सुरक्षा में अनुसंधान गतिविधि बढ़ाने का लक्ष्य हैं   समुदाय।

हालांकि केर्बेरोज कई वर्षों से कई अनुप्रयोगों के लिए उपलब्ध है   अभी भी एनटीएलएम का उपयोग करने के लिए अभी भी लिखे गए हैं। यह अनिवार्य रूप से कम कर देता है   आवेदन की सुरक्षा। हालांकि केर्बेरो एनटीएलएम को प्रतिस्थापित नहीं कर सकते हैं   परिदृश्य - मुख्य रूप से वे जहां एक ग्राहक को प्रमाणीकृत करने की आवश्यकता होती है   सिस्टम जो किसी डोमेन से जुड़ नहीं जाते हैं (शायद एक घरेलू नेटवर्क   इनमें से सबसे आम)। वार्तालाप सुरक्षा पैकेज एक अनुमति देता है   पिछड़ा-संगत समझौता जो कि जब भी संभव हो Kerberos का उपयोग करता है   और जब कोई अन्य विकल्प नहीं होता है तो केवल एनटीएलएम पर वापस आ जाता है। कोड स्विचिंग   एनटीएलएम के बजाय नेगोशिएट का उपयोग करने में काफी वृद्धि होगी   कुछ या कोई आवेदन शुरू करते समय हमारे ग्राहकों के लिए सुरक्षा   compatibilities। खुद से वार्तालाप एक चांदी की बुलेट नहीं है - वहां   ऐसे मामले हैं जहां एक हमलावर एनटीएलएम में डाउनग्रेड कर सकता है लेकिन ये हैं   शोषण के लिए काफी मुश्किल है। हालांकि, एक तत्काल   सुधार यह है कि अनुप्रयोगों को सही ढंग से वार्तालाप का उपयोग करने के लिए लिखा गया है   स्वचालित रूप से एनटीएलएम प्रतिबिंब हमलों से प्रतिरक्षा कर रहे हैं।

एनटीएलएम के उपयोग के खिलाफ चेतावनी के अंतिम शब्द के माध्यम से: भविष्य में   विंडोज़ के संस्करण एनटीएलएम के उपयोग को अक्षम करना संभव होगा   ऑपरेटिंग सिस्टम। यदि एनटीएलएम पर अनुप्रयोगों की कठोर निर्भरता है   एनटीएलएम अक्षम होने पर वे प्रमाणीकृत करने में असफल हो जाएंगे।


9
2018-04-30 21:27



भयानक उद्धरण इसे बुकमार्क किया - Michael-O


आपको एक बहुत ही महत्वपूर्ण बिंदु जोड़ना चाहिए:

20 वर्षों से यूनिक्स में केर्बेरो मानक और खुले प्रोटोकॉल रहे हैं जबकि एनटीएलएम माइक्रोसॉफ्ट से पूरी तरह से मालिकाना समाधान है और केवल माइक्रोसॉफ्ट के लिए जाना जाता है।


4
2017-08-09 19:17



यह लगभग सभी डेस्कटॉप (मैक और विंडोज़) और (आधुनिक) मोबाइल ब्राउज़र द्वारा जाना जाता है। तो सिर्फ "माइक्रोसॉफ्ट" नहीं। - Aardvark
नहीं, केवल रिवर्स इंजीनियरिंग के कारण। एनटीएलएम माइक्रोसॉफ्ट से सार्वजनिक रूप से दस्तावेज नहीं किया गया है। तो, यह एक निर्बाध सुरक्षा तंत्र है। - Michael-O
मुझे नहीं पता कि इसमें क्या है, लेकिन: msdn.microsoft.com/en-us/library/cc236621.aspx - thinkOfaNumber
@thinkOfaNumber, जिसे स्वीकार किया गया है, साल पहले जारी किया गया है, हालांकि एक एकल सुविधा पूर्ण ओपन सोर्स एनटीएलएम लागू नहीं है। सोचो क्यों नहीं? - Michael-O


यदि आपको iis सर्वर पर मौजूद संसाधनों तक पहुंचने के लिए उपयोगकर्ता का प्रतिरूपण करने की आवश्यकता नहीं है तो केर्बेरोस आवश्यक है।


1
2018-04-02 04:00