Ubuntu पर WPA2 के लिए RADIUS + LDAP की स्थापना


16

मैं ~ 150 उपयोगकर्ताओं के लिए एक वायरलेस नेटवर्क स्थापित कर रहा हूं। संक्षेप में, मैं एक LDAP के खिलाफ WPA2 को प्रमाणित करने के लिए RADIUS सर्वर सेट करने के लिए एक गाइड की तलाश कर रहा हूं। उबंटू पर।

  • मुझे एक काम करने वाला LDAP मिला है, लेकिन जैसा कि यह उत्पादन उपयोग में नहीं है, यह बहुत आसानी से अनुकूलित किया जा सकता है जो भी इस परियोजना में बदलाव की आवश्यकता हो सकती है।
  • मैं FreeRADIUS को देख रहा हूं, लेकिन कोई RADIUS सर्वर करेगा।
  • हमें सिर्फ वाईफाई के लिए एक अलग भौतिक नेटवर्क मिला है, इसलिए उस मोर्चे पर सुरक्षा के बारे में बहुत अधिक चिंताएं नहीं हैं।
  • हमारे एपी के एचपी के कम अंत उद्यम सामान हैं - वे जो कुछ भी आप सोच सकते हैं उसका समर्थन करते हैं।
  • सभी Ubuntu सर्वर, बच्चे!

और बुरी खबर:

  • अब मैं अपने से कम ज्ञानी हूं, अंततः प्रशासन संभाल लूंगा, इसलिए सेटअप को यथासंभव "तुच्छ" होना चाहिए।
  • अब तक, हमारा सेटअप केवल उबंटू रिपॉजिटरी से सॉफ्टवेयर पर आधारित है, हमारे एलडीएपी प्रशासन वेब एप्लिकेशन और कुछ छोटी विशेष लिपियों के अपवाद के साथ। तो कोई "भ्रूण पैकेज एक्स, अनटार ।/configure"-things अगर बचने योग्य है।

अद्यतन 2009-08-18:

जबकि मुझे कई उपयोगी संसाधन मिले, एक गंभीर बाधा है:

Ignoring EAP-Type/tls because we do not have OpenSSL support.
Ignoring EAP-Type/ttls because we do not have OpenSSL support.
Ignoring EAP-Type/peap because we do not have OpenSSL support.

मूल रूप से FreeRADIUS का उबंटू संस्करण SSL ( बग 183840 ) का समर्थन नहीं करता है , जो सभी सुरक्षित ईएपी-प्रकार को बेकार बनाता है। ओह।

लेकिन किसी के लिए कुछ उपयोगी दस्तावेज दिलचस्पी:

अद्यतन 2009-08-19:

मैं अपने खुद के FreeRADIUS पैकेज कल शाम संकलन समाप्त हो गया - वहाँ पर एक बहुत अच्छी नुस्खा है http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html (देखें अद्यतन निर्देशों के लिए पोस्ट के लिए टिप्पणियाँ)।

मुझे http://CACert.org से प्रमाणपत्र मिला (यदि संभव हो तो आपको "वास्तविक" प्रमाण पत्र प्राप्त करना चाहिए)

फिर मैंने http://vuksan.com/linux/dot1x/802-1x-LDAP.html पर निर्देशों का पालन किया । यह लिंक http://tldp.org/HOWTO/html_single/8021X-HOWTO/ है , जो बहुत ही सार्थक पढ़ने योग्य है यदि आप जानना चाहते हैं कि वाईफाई सुरक्षा कैसे काम करती है।

अद्यतन 2009-08-27:

उपरोक्त गाइड का पालन करने के बाद, मैं LDAP से बात करने के लिए FreeRADIUS प्राप्त करने में कामयाब रहा:

मैंने LDAP में एक परीक्षण उपयोगकर्ता बनाया है, पासवर्ड के साथ mr2Yx36M- यह लगभग LDAP प्रविष्टि देता है:

uid: testuser
sambaLMPassword: CF3D6F8A92967E0FE72C57EF50F76A05
sambaNTPassword: DA44187ECA97B7C14A22F29F52BEBD90
userPassword: {SSHA}Z0SwaKO5tuGxgxtceRDjiDGFy6bRL6ja

उपयोग करते समय radtest, मैं ठीक कनेक्ट कर सकता हूं:

> radtest testuser "mr2Yx36N" sbhr.dk 0 radius-private-password
Sending Access-Request of id 215 to 130.225.235.6 port 1812
    User-Name = "msiebuhr"
    User-Password = "mr2Yx36N"
    NAS-IP-Address = 127.0.1.1
    NAS-Port = 0
rad_recv: Access-Accept packet from host 130.225.235.6 port 1812, id=215, length=20
> 

लेकिन जब मैं एपी के माध्यम से कोशिश करता हूं, तो यह उड़ता नहीं है - जबकि यह पुष्टि करता है कि यह NT और LM पासवर्डों का पता लगाता है:

...
rlm_ldap: sambaNTPassword -> NT-Password == 0x4441343431383745434139374237433134413232463239463532424542443930
rlm_ldap: sambaLMPassword -> LM-Password == 0x4346334436463841393239363745304645373243353745463530463736413035
[ldap] looking for reply items in directory...
WARNING: No "known good" password was found in LDAP.  Are you sure that the user is configured correctly?
[ldap] user testuser authorized to use remote access
rlm_ldap: ldap_release_conn: Release Id: 0
++[ldap] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] Normalizing NT-Password from hex encoding
[pap] Normalizing LM-Password from hex encoding
...

यह स्पष्ट है कि NT और LM पासवर्ड उपरोक्त से भिन्न हैं, फिर भी संदेश [ldap] user testuser authorized to use remote access- और उपयोगकर्ता बाद में अस्वीकार कर दिया गया है ...


NT और LM पासवर्ड एन्क्रिप्टेड स्टोर किए जाते हैं, इसलिए यह स्पष्ट नहीं है कि वे अलग हैं या नहीं। आपको यह निर्धारित करने की आवश्यकता है कि एपी द्वारा किस पासवर्ड का उपयोग किया जा रहा है, और यदि यह स्पष्ट में पारित किया जा रहा है, तो एक एमडी 5 को इसके स्थान पर पारित किया जा रहा है, या ... कुछ और। RADIUS क्लाइंट पासवर्ड या पासवर्ड-जैसे प्रमाणीकरण के लिए RADIUS विशेषताओं के किसी भी संख्या का उपयोग कर सकते हैं। इसके अलावा, समाप्ति विशेषता को आबाद करने का प्रयास करें।
12

जवाबों:


12

मैं यहाँ LDAP प्रश्न का उत्तर देने का प्रयास करूँगा।

यहां संक्षिप्त उत्तर है: सुनिश्चित करें कि ldapमॉड्यूल authenticateअनुभाग से हटा दिया गया है , और सुनिश्चित करें कि mschapमॉड्यूल authorizeऔर authenticateअनुभाग दोनों में मौजूद है । और सिर्फ 'न जाने "अच्छे" पासवर्ड "को अनदेखा करें।

और अब यहाँ (बहुत) लंबा जवाब है।

कैसे काम करता है ldap मॉड्यूल?

जब आप अनुभाग ldapमें मॉड्यूल को सक्रिय करते हैं authorize, तो यह तब होता है जब एक RADIUS पैकेट FreeRADIUS द्वारा प्राप्त किया जाता है:

  1. यह LDAP सर्वर (एक अतिथि उपयोगकर्ता के रूप में, या किसी व्यक्ति के कॉन्फ़िगर होने पर दी गई पहचान का उपयोग करके ldap.conf) को बांधने की कोशिश करता है।
  2. यह बेस DN (कॉन्फ़िगर किया गया ldap.conf) के तहत फ़िल्टर का उपयोग करके उपयोगकर्ता की डीएन प्रविष्टि की खोज करता है ।
  3. यह उन सभी LDAP विशेषताओं को प्राप्त करता है जो इसे कॉन्फ़िगर किए गए लोगों के बीच प्राप्त कर सकते हैं ldap.attrmapऔर उन्हें RADIUS विशेषताओं में परिवर्तित कर सकते हैं।
  4. यह उन विशेषताओं को RADIUS पैकेट के चेक आइटम सूची में जोड़ता है।

जब आप अनुभाग ldapमें मॉड्यूल को सक्रिय करते हैं authenticate, तो यह वही है जो FreeRADIUS करता है:

  1. यह LDAP सर्वर को उपयोगकर्ता के रूप में बाँधने का प्रयास करता है ।
  2. अगर यह बाँध सकता है, तो यह एक सफल प्रमाणीकरण है, और एक Radius-Acceptपैकेट ग्राहक को वापस भेजा जाएगा, या फिर, यह एक विफलता है, जिससे एक पैकेट को बढ़ावा मिलेगा Radius-Reject

तो मैं PEAP / MS-CHAP-v2 को LDAP के साथ काम करने के लिए FreeRADIUS को कैसे कॉन्फ़िगर कर सकता हूं?

यहां महत्वपूर्ण बिंदु यह है कि उपयोगकर्ता के रूप में बाइंडिंग केवल तभी काम करेगी जब FreeRADIUS सर्वर प्राप्त उपयोगकर्ता के स्पष्ट पासवर्ड को RADIUS पैकेट से प्राप्त कर सकता है। यह केवल मामला है जब PAP या TTLS / PAP प्रमाणीकरण विधियों का उपयोग किया जाता है (और संभवतः EAP / GTC भी)। केवल TTLS / PAP विधि वास्तव में सुरक्षित है, और यह विंडोज में डिफ़ॉल्ट रूप से उपलब्ध नहीं है। यदि आप अपने उपयोगकर्ताओं को टीटीएलएस / पीएपी से जोड़ना चाहते हैं, तो आपको उन्हें टीटीएलएस सप्लीमेंट सॉफ़्टवेयर स्थापित करना होगा, जो एक विकल्प है। अधिकांश समय, जब WPA एंटरप्राइज़ securiy, PEAP / MS-CHAP-v2 के साथ वाईफाई को तैनात करना एकमात्र उचित विकल्प है।

तो लब्बोलुआब यह है: जब तक आप पीएपी या टीटीएलएस / पीएपी का उपयोग नहीं कर रहे हैं, तब तक आप ldapमॉड्यूल को authenticateअनुभाग से सुरक्षित रूप से निकाल सकते हैं , और वास्तव में, आपको चाहिए: क्योंकि उपयोगकर्ता काम नहीं करेगा।

यदि आप उपयोग करते समय आपका परीक्षण काम करते हैं radtest, तो इसका मतलब है कि ldapमॉड्यूल authenticateअनुभाग में सक्रिय है : यह उपयोगकर्ता के रूप में बाँधने की कोशिश करेगा, और चूंकि रेडेस्टेस्ट पीएपी प्रमाणीकरण का उपयोग करता है, इसलिए यह सफल होगा। लेकिन अगर आप PEAP / MS-CHAP-v2 का उपयोग कर रहे हैं, तो आप एक्सेस प्वाइंट के माध्यम से कनेक्ट करने का प्रयास करेंगे, लेकिन यह विफल हो जाएगा।

आपको क्या करना चाहिए ldapमॉड्यूल को authenticateअनुभाग से हटा दें , और सुनिश्चित करें कि आपने mschapमॉड्यूल authorizeको authenticateअनुभाग और अनुभाग दोनों में सक्रिय किया है । क्या होगा कि mschapमॉड्यूल चरण के NT-Passwordदौरान LDAP सर्वर से पुनर्प्राप्त की गई विशेषता का उपयोग करके प्रमाणीकरण का ध्यान रखेगा authorize

यहाँ आपकी sites-enabled/defaultफ़ाइल को क्या देखना चाहिए (सभी टिप्पणियों के बिना):

    ...
    authorize {
        preprocess
        suffix
        eap {
            ok = return
        }
        expiration
        logintime
    }
    authenticate {
        eap
    }
    ...

और यहाँ आपकी sites-enabled/inner-tunnelफ़ाइल को कैसा दिखना चाहिए:

    ...
    authorize {
        mschap
        suffix
        update control {
               Proxy-To-Realm := LOCAL
        }
        eap {
            ok = return
        }
        ldap
        expiration
        logintime
    }
    authenticate {
        Auth-Type MS-CHAP {
            mschap
        }
        eap
    }
    ...

'' न जाने "अच्छे पासवर्ड" चेतावनी के बारे में क्या?

खैर, आप इसे सुरक्षित रूप से अनदेखा कर सकते हैं। यह सिर्फ इसलिए है क्योंकि चरण के दौरान LDAP सर्वर से उपयोगकर्ता विवरण प्राप्त करने पर ldapमॉड्यूल को कोई UserPasswordविशेषता नहीं मिल पाती authorize। आपके मामले में, आपके पास NT-Passwordविशेषता है, और PEAP/MS-CHAP-v2प्रमाणीकरण के लिए यह पूरी तरह से ठीक है।

मुझे लगता है कि चेतावनी मौजूद है क्योंकि जब ldapमॉड्यूल डिज़ाइन किया गया PEAP/MS-CHAP-v2था, तब तक अस्तित्व में नहीं था, इसलिए उस समय केवल एक चीज जो समझ में आती थी, वह था LDAP सर्वर से UserPassword विशेषता को पुनर्प्राप्त करने के लिए, ताकि PAP, CHAP, EAP का उपयोग किया जा सके। MD5 या ऐसे प्रमाणीकरण तरीके।


3

मैं यहाँ OpenSSL प्रश्न का उत्तर देने का प्रयास करूँगा: संक्षिप्त उत्तर FreeRADIUS 2.1.8 या इसके बाद के संस्करण का उपयोग करना है, जिसमें OpenSSL शामिल है । यह उबंटू लुसीड और डेबियन लेन बैकपोर्ट में उपलब्ध है (और शायद उबंटू कर्मिक बैकपोर्ट में भी समाप्त हो जाएगा)।

यहाँ लंबे उत्तर है:

दुर्भाग्य से, OpenSSL लाइसेंस FreeRADIUS लाइसेंस के साथ असंगत (कुछ हद तक) हुआ करता था। इसलिए, उबंटू के लोगों ने एक ओपनरियस बाइनरी प्रदान करने के लिए चुना है जो ओपनएसएसएल से जुड़ा नहीं है । यदि आप ईएपी / टीएलएस, पीईएपी या टीटीएलएस चाहते थे , तो आपको स्रोतों को प्राप्त करना होगा और उन्हें --with-opensslविकल्प के साथ संकलित करना होगा (जैसा कि आपके द्वारा बताया गया नुस्खा है)।

लेकिन हाल ही में, लाइसेंस की समस्या ठीक हो गई है । FreeRADIUS संस्करण 2.1.8 या इसके बाद के संस्करण को OpenSSL के साथ संकलित और वितरित किया जा सकता है। बुरी खबर यह है कि सबसे हाल ही में स्थिर उबंटू वितरण (कर्मिक कोआला) में केवल FreeRADIUS 2.1.0 शामिल है, OpenSSL के बिना (वही डेबियन के लिए जाता है, क्योंकि लेनी में केवल FreeRADIUS 2.0.4 शामिल है)। मैंने Karmic-backports की जाँच की, लेकिन ऐसा लगता है कि FreeRADIUS 2.1.8 या इसके बाद के संस्करण को वहां अपलोड नहीं किया गया है, फिर भी (लेकिन इसे जल्द ही जोड़ा जा सकता है, इसे यहाँ देखें)। तो अब के लिए, आपको या तो उबंटू ल्यूसिड पर स्विच करना होगा (जिसमें फ्रीड्रायस 2.1.8 शामिल है) या संकलन के लिए छड़ी। डेबियन उपयोगकर्ताओं के लिए, चीजें थोड़ी उज्जवल हैं: लेनी बैकपोर्ट में FreeRADIUS 2.1.8 शामिल हैं। इसलिए यदि आप कुछ बहुत स्थिर चाहते हैं, और स्थापित करना और बनाए रखना आसान है, तो मेरा सुझाव है कि आप डेबियन लेनी के साथ एक सर्वर को तैनात करें, और बैकपोर्टेड फ्रीरेडस पैकेज स्थापित करें (यह आपको मुफ्त में पाइथन मॉड्यूल लिखने की संभावना भी देता है, बिना पुनर्नवीनीकरण किए बिना। सभी प्रयोगात्मक मॉड्यूल)।

मुझे http://CACert.org से प्रमाणपत्र मिला (यदि संभव हो तो आपको "वास्तविक" प्रमाण पत्र प्राप्त करना चाहिए)

"वास्तविक" प्रमाणपत्रों के साथ एक "गोत्चा" है (स्व-हस्ताक्षरित प्रमाणपत्रों के विपरीत)।

मैंने थावे द्वारा हस्ताक्षरित एक का उपयोग किया। यह ठीक काम करता है, और उपयोगकर्ताओं को एक सुंदर "वैध" प्रमाण पत्र दिखाई देता है जिसका नाम कुछ है www.my-web-site.comजब उपयोगकर्ता प्रमाण पत्र स्वीकार करता है, तो उसका कंप्यूटर वास्तव में समझता है कि एक ही प्रमाण पत्र प्राधिकारी द्वारा जारी किए गए सभी प्रमाणपत्रों पर भरोसा किया जाना चाहिए (मैंने विंडोज विस्टा और मैकओएसएक्स स्नो लेपर्ड के साथ यह परीक्षण किया है)! इसलिए मेरे मामले में, अगर किसी हैकर के पास www.some-other-web-site.comथावे द्वारा हस्ताक्षरित प्रमाण के लिए भी प्रमाण पत्र है , तो वह उपयोगकर्ता के कंप्यूटर पर कोई चेतावनी दिखाए बिना आसानी से एक मैन-इन-बीच हमला चला सकता है!

इसका समाधान उपयोगकर्ता के कंप्यूटर के नेटवर्क कॉन्फ़िगरेशन में गहराई से निहित है, विशेष रूप से यह निर्दिष्ट करने के लिए कि केवल "www.my-web-site.com" पर भरोसा किया जाना चाहिए। इसमें बस एक मिनट लगता है, लेकिन अधिकांश उपयोगकर्ताओं को यह पता नहीं होगा कि इसे कहाँ कॉन्फ़िगर करना है जब तक कि आप उन्हें एक स्पष्ट प्रक्रिया नहीं देते और सुनिश्चित करें कि प्रत्येक उपयोगकर्ता इसका अनुसरण करता है। मैं अभी भी "मान्य" प्रमाण पत्र का उपयोग करता हूं, लेकिन स्पष्ट रूप से यह देखना निराशाजनक है कि विंडोज और मैकओएसएक्स दोनों इस "बग" को साझा करते हैं: विशिष्ट प्रमाण पत्र के बजाय प्रमाण पत्र प्राधिकरण पर भरोसा करते हैं। आउच ...


1

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

मुझे यकीन नहीं है कि सेटअप के साथ प्रशासन में क्या आसानी है। अक्सर, जितना अधिक शामिल और विस्तृत होता है सेटअप, प्रशासन करना उतना ही आसान होता है, क्योंकि सेटअप ने सभी आधारों को कवर किया है। क्या आपका मतलब है कि कॉन्फ़िगरेशन को अन्य सर्वरों पर भी आसानी से छोड़ दिया जाना चाहिए? आप कितने वायरलेस LAN सेट कर रहे हैं?

एक बार कॉन्फ़िगर किए जाने के बाद, प्रशासन को एलडीएपी उपयोगकर्ता तक सीमित होना चाहिए, हटाता है और संशोधित करता है। ये ldapmodify (et al) के साथ स्क्रिप्ट के लिए पर्याप्त आसान होना चाहिए या एक अच्छा LDAP ग्राफिकल फ्रंट एंड ढूंढना चाहिए और स्क्रीनशॉट के साथ प्रक्रियाओं को दस्तावेज़ित करना चाहिए।


सबसे पहले, आपको हर बार अपडेट प्रदान किए जाने पर पैकेज को फिर से भरना होगा (यहाँ पर गेंटू-लोगों से ईर्ष्या :))। दूसरे हिस्सों पर, मैं पूरी तरह सहमत हूं - यदि सेटअप सभी आधारों को कवर करता है, तो मेरे उत्तराधिकारी को कम काम करना होगा (और रिवर्स-इंजीनियर को कम हैक)।
मोर्टेन सिबूहर


-1

आप FreeRADIUS2 (OpenSSL के साथ) + EAP-TLS + WPA2-Enterprice का उपयोग कर सकते हैं। यहाँ wery dowailed HOW-TO है । विंडोज एक्सपी एसपी 3 में इसके लिए देशी समर्थन के साथ-साथ विंडोज 7, एंड्रॉइड 2.3, आईफोन, सिम्बियन है। लेकिन मुझे इस तरह के एक योजना में SLDAP के साथ संगतता के बारे में नहीं पता है।

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