सवाल सक्रिय निर्देशिका और OpenLDAP सिंक्रनाइज़ेशन


मैं एडी और ओपनएलडीएपी के बीच उपयोगकर्ता डेटाबेस को सिंक्रनाइज़ करने का सबसे अच्छा तरीका खोजने के लिए Google पर छेद खोद रहा हूं। मैं जो हासिल करना चाहता हूं वह है, एडी में उपयोगकर्ता डेटाबेस है और फिर इन उपयोगकर्ताओं को ओपनएलडीएपी में प्रचारित करें ताकि ये उपयोगकर्ता मेरे सभी एप्लिकेशन (ईमेल, वीपीएन, फाइल सर्वर, प्रिंट सर्वर लगभग सभी ओपनसोर्स ऐप्स) तक पहुंच सकें। मैं डेटाबेस पर एक ही संकेत बनाना चाहता हूं ताकि सभी उपयोगकर्ताओं के पास विंडोज़ और लिनक्स आधारित ऐप्स के लिए समान पासवर्ड हो सकें। मैं यह भी सुनिश्चित करना चाहता हूं कि पासवर्ड बिडरेक्शनल अपडेट हो जाएं। मैं इस बात की सराहना करूंगा कि कोई भी अपने अनुभव को साझा कर सकता है कि यह कैसे किया जा सकता है। धन्यवाद!!


5
2017-10-05 17:54


मूल


सक्रिय निर्देशिका है एलडीएपी (या कम से कम इसका व्युत्पन्न), और एलडीएपी सर्वर के रूप में उपयोग किया जा सकता है। अतीत में, गैर-विंडोज सिस्टम के लिए एक अलग ओपनएलडीएपी सर्वर शुरू करने के बजाय मैंने एडी में "बाइंड" खाता बनाया और फिर डोमेन नियंत्रकों को मेरे एलडीएपी सर्वर के रूप में इस्तेमाल किया। यदि आपके पास पहले से ही ओपनएलडीएपी आधारभूत संरचना नहीं है, तो यह आपको तेजी से और तेजी से चल सकता है। - Justin ᚅᚔᚈᚄᚒᚔ
@ जस्टिन: मैंने पहले ऐसा किया था, और मुझे अपने एलडीएपी सर्वर उदाहरण में एडी डेटा का उपयोग करने से पहले महत्वपूर्ण डेटा क्लीन-अप करना पड़ा था। एडी स्कीमा सिर्फ wacko है। अगर वह सिर्फ बांधना और प्रमाणित करना चाहता है, तो एक बाध्य खाता होना ठीक हो सकता है।
@ टिलो: मैं सहमत हूं, एडी स्कीमा अजीब है। हालांकि, मैं कई उदाहरणों में बुनियादी प्रमाणीकरण और प्रमाणीकरण के लिए इसका उपयोग करने में सफल रहा था। यह स्वीकार करते हुए कि "sAmAccountName" उपयोगकर्ता नाम सामान्य प्रमाणीकरण प्राप्त करने के लिए आमतौर पर पर्याप्त है। अधिक जटिल सेटअप के लिए, या यदि आपको किसी भी कस्टम विशेषताओं को स्टोर करने की आवश्यकता है, तो एक अलग एलडीएपी आधारभूत संरचना की अत्यधिक अनुशंसा की जाती है। - Justin ᚅᚔᚈᚄᚒᚔ
@ जस्टिन: हाँ, बुनियादी प्रमाणीकरण और प्रमाणीकरण के लिए निश्चित रूप से काफी अच्छा है।
@ टिलो छेड़छाड़ अजीब लगता है जो वे समझ में नहीं आता है। यह समझने के लिए सावधान रहें कि एलडीएपी क्या है और नहीं है। एडी में अजीब लगने वाली अधिकांश चीजें सिर्फ X500 मानक से आ रही हैं, या माइक्रोसॉफ्ट डोमेन पर काम कर रहे मुख्य एप्लिकेशन की ज़रूरतों से हैं। - JPBlanc


जवाब:


मैंने एक बार परियोजना के लिए यह किया - शुभकामनाएँ! क्या आपके पास एडी सर्वर पर प्रशासनिक पहुंच है? आपको इसकी आवश्यकता हो सकती है। अपने एडी व्यवस्थापक के साथ दोस्त बनाओ :-)

क्या आप कृपया बता सकते हैं कि आपकी परियोजना क्या है?

सवाल यह है कि अगर आपको अपने उपयोगकर्ताओं / अनुप्रयोगों को सक्रिय डायरेक्टरी या एलडीएपी के खिलाफ प्रमाणित करने की आवश्यकता है, या यदि आपको ActiveDirectory में संग्रहीत डेटा तक पहुंचने के लिए अपने अनुप्रयोगों की आवश्यकता है, और शायद प्रविष्टियों को बढ़ा या संशोधित करें ..

यदि आपको केवल प्रमाणित करने की आवश्यकता है, तो जस्टिन ने इंगित किया है, या तो एक एनिमेटेड या पासवर्ड-सुरक्षित (अधिक अतिरिक्त मूल्य IMHO नहीं) ActiveDirectory सर्वर पर बाइंड खाता आपको बस चाहिए। अपने ActiveDirectory व्यवस्थापक से बात करें।

यदि आप अपने स्वयं के उपयोगकर्ता रिकॉर्ड के आधार पर ActiveDirectory की सामग्री का उपयोग करना चाहते हैं, और शायद डेटा को बढ़ा या संशोधित करना चाहते हैं, तो आपको अपना स्वयं का एलडीएपी सर्वर स्थापित करना पड़ सकता है (क्योंकि आपका आईटी विभाग इस विचार से रोमांचित नहीं हो सकता है कि आप "उनके" रिकॉर्ड संशोधित करें ...)

ActiveDirectory एलडीएपी की तरह दिखता है और समान है, लेकिन मुख्य रूप से स्कीमा में मतभेद हैं।

आप कुछ समस्याओं में भाग लेंगे:

  • एडी स्कीमा और विशेषताएं एलडीएपी मानक से काफी अलग हैं
  • विशेष रूप से, जो मैं समझता हूं, उससे एडी स्कीमा कुछ हद तक पूर्व परिभाषित और निश्चित है, क्योंकि सभी माइक्रो $ ओटी अनुप्रयोगों को एक निश्चित स्कीमा की आवश्यकता होती है ...
  • एडी के लिए डिफॉल्ट रूप से एक अज्ञात एक्सेस सेट अप नहीं हो सकता है, क्योंकि यह एलडीएपी के लिए है (जिससे चीज़ों का परीक्षण करने के लिए कमांड लाइन पर एलडीएपी क्वेरी करना मुश्किल हो जाता है) आप अपने एडी व्यवस्थापक से आपके लिए एक सेट अप करने के लिए कह सकते हैं
  • आपके प्रमाणीकृत उपयोगकर्ता को एडी तक पहुंचने के लिए सभी एडी रिकॉर्ड और / या स्कीमा को देखने की अनुमति नहीं हो सकती है
  • मुझे याद है कि मुझे एडी में असंगत रिकॉर्ड मिलते हैं, उदा। गलत संगठनात्मक संरचना, लोगों ने मशीनों, उपकरणों, सॉफ्टवेयर के लिए अभिलेखों के साथ मिश्रित रिकॉर्ड किया - यूघ !! और लोग स्कीमा के पार strewn रिकॉर्ड (सभी लोगों को केवल एक उप पेड़ में रिकॉर्ड नहीं है क्योंकि आप एक एलडीएपी स्कीमा में उम्मीद करेंगे)

  • ... पूरा करना ...

यदि आपको किसी निर्देशिका के खिलाफ प्रमाणीकृत करने के लिए लोगों या एप्लिकेशन की आवश्यकता है, तो हो सकता है कि यह सब जल्दी से गुजरने के लायक न हो - यह केवल एक बाध्य खाते के माध्यम से सीधे एडी का उपयोग करना बेहतर है।

UNIX कमांड लाइन पर ActiveDirectory के विरुद्ध प्रमाणित करने का प्रयास करने के लिए openldap कमांड लाइन टूल्स का उपयोग करें। इससे आपको प्रक्रिया और डेटा लौटाए जाने वाले डेटा को महसूस करने में मदद मिलेगी।

मुझे अपने पुराने प्रोजेक्ट नोट्स को देखने दें और मैं इसे अपडेट कर दूंगा

मैं आशा करता हूं कि इससे तुम्हें सहायता मिलेगी


ओपनएलडीएपी के खिलाफ प्रमाणित करने के लिए, आपको अपने संगठन के "विशिष्ट नाम" (डीएन) के मूल्यों को जानना होगा, "संगठनात्मक इकाई" (कहां), प्रमाणीकरण करने वाले व्यक्ति का "सामान्य नाम" (सीएन) आदि .. लेकिन मैं आपको यहां एक पूर्ण परिचय नहीं दे सकता ...

ओपनएलडीएपी के दस्तावेज में यहां पढ़ना सबसे अच्छा है: http://www.openldap.org/doc/admin24/

कोशिश करने और सत्यापित करने के लिए कि आप एलडीएपी को बाध्य / एक्सेस कर सकते हैं, कमांड लाइन पर "ldapsearch" चलाने के लिए सबसे अच्छा है। http://www.openldap.org/software/man.cgi?query=ldapsearch&apropos=0&sektion=0&manpath=OpenLDAP+2.0-Release&format=html

या आईबीएम साइट पर: http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=%2Frzahy%2Frzahyunderdn.htm


3
2017-10-05 18:25



अपनी त्वरित प्रतिक्रिया के लिए धन्यवाद। हमारे पास हमारे कार्यालय में पहले से ही एक पूर्ण OpenLDAP डेटाबेस है। मैं ऐसा नहीं सोचता कि ओपन सोर्स एप्लिकेशन (पोस्टफिक्स, डूवेकॉट, वीपीएन, फाइल सर्वर इत्यादि) को मजबूर करना जो वर्तमान में एडी से संपर्क करने के लिए ओपनएलडीएपी द्वारा प्रमाणीकृत किया जा रहा है, एक अच्छा विचार है। इसके अलावा मुझे यकीन नहीं है कि क्या एडी सभी ओपनसोर्स अनुप्रयोगों का समर्थन करता है जिसे हम भविष्य में अपने कार्यालय में ला सकते हैं। मैं वास्तव में चाहता हूं कि एडी के लिए केवल उपयोगकर्ता डेटाबेस का प्रबंधन करें और फिर इसे खोलने के लिए इसे खोलें। मैं नहीं चाहता कि मेरे एप्लिकेशन एडी को प्रमाणित करें, मैं एप्लिकेशन प्रमाणीकरण के लिए openLDAP पर चिपकना पसंद करूंगा।
मुझे यकीन नहीं है कि बाध्यता के साथ एडी कैसे काम करता है? क्या कोई कुछ ट्यूटोरियल साझा कर सकता है, मैं यह समझने के लिए देख सकता हूं कि मैं इस समस्या को हल करने में मेरी सहायता कैसे कर सकता हूं। बीटीडब्ल्यू मुझे अपने कार्यालय में सभी प्रणालियों के लिए पूर्ण अनुमति है :)
यदि आपके पास पहले से ही OpenLDAP आधारभूत संरचना है, तो इसके माध्यम से इसके माध्यम से प्रमाणित करें! मैं अपने उत्तर के अंत में एक नोट जोड़ूंगा
सरल शब्दों में "एलडीएपी के लिए बाध्यकारी" "लॉग इन और कनेक्टिंग" के समान है .. इसका मतलब है कि आप एलडीएपी के खिलाफ प्रमाणीकरण कर रहे हैं और एलडीएपी तक पहुंच प्राप्त कर रहे हैं कि आप कौन हैं और आपके विशेषाधिकार क्या हैं: msdn.microsoft.com/en-us/library/windows/desktop/...
अगर यह आपके प्रश्न का उत्तर देता है तो कृपया स्वीकार / अप-वोट करें। धन्यवाद।


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

http://www.openldap.org/doc/admin24/security.html#Pass-Through%20authentication

जैसा कि उपर्युक्त दस्तावेज में उल्लेख किया गया है, आप अपने उपयोगकर्ता नाम / पासवर्ड सत्यापन को केर्बेरोज में भेज सकते हैं। वास्तव में, दिए गए उदाहरण (देखें 14.5.2) दिखाएं कि इसे एडी डोमेन को प्रमाणीकृत करने के लिए कैसे सेट अप करें। आपको सक्रिय निर्देशिका में एक उपयोगकर्ता खाता सेट अप करना होगा जो एलडीएपी क्वेरी चलाने के लिए डीसी से जुड़ सकता है। इस उपयोगकर्ता खाते में किसी भी विंडोज सर्वर तक पहुंचने की कोई अनुमति नहीं होनी चाहिए, न ही यह किसी भी संवेदनशील सुरक्षा समूहों में होनी चाहिए।

उम्मीद है की वो मदद करदे।


1
2017-10-05 20:46



यह एक आसान समाधान की तरह प्रतीत होता है। लेकिन क्या आप इस कार्यान्वयन के साथ सोचते हैं कि एडी में बनाए गए उपयोगकर्ता ईमेल या फाइलसेवर जैसे एप्लिकेशन को एक्सेस करने में सक्षम होंगे जो ओपनएलडीएपी से जुड़े हुए हैं और वर्तमान में केवल ओपनडैप में बनाए गए उपयोगकर्ताओं के लिए उपलब्ध हैं। धन्यवाद
यह इस बात पर निर्भर करता है कि आप इसे कैसे सेट अप करते हैं। ऊपर वर्णित कार्यान्वयन मानता है कि आप OpenLDAP में उपयोगकर्ताओं को बनाने जा रहे हैं और फिर उन्हें प्रमाणित करने के लिए डोमेन नियंत्रक का उपयोग करें। इस मामले में, आप उपयोगकर्ता बनाते समय OpenLDAP खाते पर जो भी प्राधिकरणों की आवश्यकता होती है सेट कर सकते हैं। - Justin ᚅᚔᚈᚄᚒᚔ
@ जस्टिन: +1 अच्छा बिंदु
मैं एडी में उपयोगकर्ताओं को बनाना चाहता हूं ताकि मैं उपयोगकर्ता पासवर्ड पर समूह नीति पासवर्ड नियम लागू कर सकूं। यह प्राथमिक कारण है कि हम अपने नेटवर्क में एडी क्यों ला रहे हैं। क्या एडी में उपयोगकर्ताओं को बनाने का एक तरीका है और फिर बस उन्हें सिंक्रनाइज़ करें ??


मेरी कंपनी के लिए एक ही समस्या को हल करना पड़ा।

लिनक्स-सेंट्रिक्स होने के नाते, पासवर्ड को सिंक्रनाइज़ किया जाना था:

  • OpenLDAP छाया खाता उपयोगकर्ता पासवर्ड (विरासत पीएएम / एलडीएपी प्रमाणीकरण)
  • ओपनएलडीएपी sambaSamAccount sambaLMPassword और sambaNTPassword (विरासत एनटीएलएम / सांबा प्रमाणीकरण)
  • ओपनएलडीएपी krbPrincipalAux krb प्रिंसिपलकी (वास्तविक पीएएम / एमआईटी-केर्बेरोज-वी प्रमाणीकरण)
  • माइक्रोसॉफ्ट सक्रिय निर्देशिका (उपग्रह विंडोज डोमेन)

अब, आपके पास मुख्य समस्या यह है कि:

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

तो मैं इसके साथ आया: https://github.com/cedric-dufour/upwdchg ; जल्द ही डाल दिया:

  • उपयोगकर्ताओं को देने के लिए एक असुरक्षित उपयोगकर्ता-पहुंच योग्य फ्रंटेंड (क्लाइंट) निवेदन पासवर्ड परिवर्तन
  • एक सुरक्षित प्रसंस्करण बैकएंड (सर्वर) - उपयुक्त प्रशासनिक विशेषाधिकारों के साथ - जो अपने स्वयं के "मूल" विधि का उपयोग करके सभी बैकएंड पर पासवर्ड परिवर्तन करता है

"मूल" विधि से, मेरा मतलब है:

  • ओपनएलडीएपी पासवर्ड संशोधित करें (आरएफसी 3062) shadowAccount उपयोगकर्ता पासवर्ड के लिए ऑपरेशन
  • SambaSamAccount sambaLMPassword और sambaNTPassword के लिए ओपनएलडीएपी 'smbk5pwd' ओवरले (केर्बेरोस के लिए नहीं; 'smbk5pwd' केवल हीमडाल केर्बेरोज का समर्थन करता है)
  • एमआईटी केर्बेरोज वी व्यवस्थापक सर्वर और इसका "कैडमिन" और "पासवर्ड_चेंज" ऑपरेशन
  • माइक्रोसॉफ्ट ने एडी "यूनिकोड पीडब्ल्यूडी" को बदलने के तरीके को दस्तावेज किया है http://support.microsoft.com/kb/263991

1
2017-09-16 07:57





मैंने 2 साल पहले इसी तरह की परियोजना की थी और मैं इसी स्थिति में था कि यह नहीं जानना कि कहां से शुरू करना है और कैसे एक साथ सिरों को बांधना है।

चरण 1: चित्रित करें कि आप क्या हासिल करना चाहते हैं और इसे लिखना चाहते हैं। चरण 2: देखें कि क्या आवश्यकताएं यथार्थवादी हैं और पूरी तरह से पूरी की जा सकती हैं। यदि नहीं, तो आप किस बलिदान के लिए तैयार हैं। (यह वह जगह है जहां इसे लंबा समय लगता है)। चरण 3: एलडीएपी के लिए एक मंच चुनें। आपके मामले में, आपके पास पहले से मौजूद एक मौजूदा है। चरण 4: दस्तावेज और परीक्षण। चरण 5: योजना पर कटौती सबसे महत्वपूर्ण है क्योंकि इससे कोई फर्क नहीं पड़ता कि आप जो कुछ भी चाहते थे उसे पूरा करते हैं, लेकिन यह सुनिश्चित करने के लिए कि एक चिकनी संक्रमण हो। मेरे मामले में, हमें चरणबद्ध तरीके से करना पड़ा।

उपर्युक्त टिप्पणियों को पढ़ने से आपको लगता है कि आपके पास उत्पादन में पहले से ही ओपनडैप है। आपकी आवश्यकताएं इस तरह दिखती हैं:

ए) उपयोगकर्ताओं को एडी पर एक ही पासवर्ड नीति का उपयोग करने की अनुमति।

ख) उपयोगकर्ता खाते स्वचालित रूप से एलडीएपी को प्रचारित करने के लिए।

ए के जवाब) आप एलडीएपी में एक पीएएम पास-थ्रू मॉड्यूल सेट कर सकते हैं ताकि डीसी को केर्बेरोस के माध्यम से डीसी को पासवर्ड प्रमाणीकरण दिया जा सके। इस तरह आपको दो स्थानों पर पासवर्ड बनाए रखने का सिरदर्द नहीं होगा। मैंने 38 9-डीएस एलडीएपी पर किया, और प्रलेखन लिंक पर्याप्त होना चाहिए। जब कोई उपयोगकर्ता प्रमाणित करता है, तो पीएएम मॉड्यूल जांचता है कि क्या उपयोगकर्ता खाता एलडीएपी में मौजूद है और यदि ऐसा है, तो पासवाड को पीएएम स्टैक से krb5.so प्रमाणीकृत करने के लिए पास करता है। 38 9-डीएस दस्तावेज की जांच करें जो यहां भी लागू होनी चाहिए।

बी के लिए जवाब) मैंने सभी सिलेंडरों को एक तैयार समाधान का उपयोग करने का तरीका जानने के लिए मारा लेकिन कुछ भी करीब नहीं आया। ऐसा इसलिए है क्योंकि आपको खातों और समूहों के लिए स्कीमा मालिश करना है। इसलिए मैंने सहयोगी की मदद से उपयोगकर्ताओं और समूहों को एडी से एलडीएपी में सिंक करने के लिए पर्ल में एक स्क्रिप्ट लिखी। एफ कोड के लिए एक स्निपइप है यहाँ


0
2017-10-07 21:43



धन्यवाद प्रशांत .. मैं अब आपके सुझाए गए समाधान को लागू करने की कोशिश कर रहा हूं। धन्यवाद दोस्त ... उम्मीद है कि यह मेरी समस्या का समाधान करेगा। मैं जिन मुद्दों का सामना कर सकता हूं उन्हें पोस्ट करूंगा।