OpenLDAP TLS प्रमाणीकरण


10

मैं टीएचएस को https://help.ubuntu.com/lts/serverguide/openldap-server.html के अनुसार लागू करने का प्रयास कर रहा हूं जब मैं इस ldif फ़ाइल के साथ cn = config डेटाबेस को संशोधित करने का प्रयास करता हूं:

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/test-ldap-server_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/test-ldap-server_key.pem

मुझे निम्नलिखित त्रुटि मिलती है:

ldapmodify -Y EXTERNAL -H ldapi:/// -f certinfo.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)

मैं क्या गलत कर रहा हूं?

संपादित करें: जब मैं साधारण त्रुटि का उपयोग करने की कोशिश करता हूं तो मुझे निम्नलिखित त्रुटि मिली:

ldapmodify -x -D cn=admin,dc=example,dc=com -W -f certinfo.ldif
Enter LDAP Password:
ldap_bind: Invalid DN syntax (34)
        additional info: invalid DN

प्रमाणपत्र फ़ाइलों पर अनुमतियों की जाँच करें। और अगर ऐसा सेट है तो पासवर्ड भी हटा दें।
ज़ेरिडॉन

त्वरित उत्तर के लिए धन्यवाद। अनुमतियाँ .44 फ़ाइल को छोड़कर 644 के लिए सेट की गई हैं, जो कि 600 पर है मैं पासवर्ड कैसे चेक / निकालूँ? मुझे cn = config .. के लिए कोई भी पासवर्ड सेट करने की याद नहीं है
Amar Prasovic

2
मेरा मतलब है कि सर्टिफिकेट पर पासवर्ड (cn = config पर नहीं)। जाँच करें: mnx.io/blog/removing-a-passphrase-from-an-ssl-key
zeridon

नहीं, ऐसी बात नहीं थी। कुंजी फ़ाइल पासवर्ड के बिना बनाई गई थी।
अमर प्रसोविक

क्या आप साधारण नॉर्थ के साथ ldiff को लोड करने का प्रयास कर सकते हैं (नहीं -Y EXTERNAL)
zeridon

जवाबों:


17

मैं एक ही गाइड का पालन कर रहा था और एक ही मुद्दा था। यह कार्य करेगा यदि आप पहले किए गए ldapmodify कमांड के बाद सूचीबद्ध "स्वामित्व और अनुमतियों को कस लें" अर्थात्:

sudo adduser openldap ssl-cert
sudo chgrp ssl-cert /etc/ssl/private
sudo chgrp ssl-cert /etc/ssl/private/ldap01_slapd_key.pem
sudo chmod g+X /etc/ssl/private
sudo chmod g+r /etc/ssl/private/ldap01_slapd_key.pem

तथा

sudo systemctl restart slapd.service

1
यह मेरे लिए भी काम किया!
सोनिकवेव

2
मेरे मामले में मुझे इस्तेमाल करना था chgrp openldap। वैसे भी, यह एक अनुमति मुद्दा है। +1
xonya

निजी निर्देशिका भी पार करने के लिए निष्पादन योग्य होना चाहिए। sudo chgrp ssl-cert /etc/ssl/private && sudo chmod g+X /etc/ssl/private
जेफ पकेट

3

वैसे मुझे नहीं पता कि यह एक समाधान है या सिर्फ एक समाधान है, लेकिन मैं इसे काम में लाने में कामयाब रहा।

मैंने पहले थप्पड़ को रोका:

service slapd stop

फिर मैंने इसे डिबग मोड में शुरू किया:

slapd -h ldapi:/// -u openldap -g openldap -d 65 -F /etc/ldap/slapd.d/ -d 65

महत्वपूर्ण केवल इसे ldapi: /// URL से शुरू करना है। इसके शुरू होने के बाद मैंने ldapmodify कमांड निष्पादित की और विशेषताओं को आयात किया गया।

अंत में मैंने डिबग मोड बंद कर दिया और सामान्य रूप से थप्पड़ शुरू कर दिया।


2

ए। गुटिरेज़ के जवाब के अनुवर्ती के रूप में , प्रत्येक फ़ाइल की पहुंच की जांच करने का सबसे अच्छा तरीका है sudo -u openldap cat <filename>। मैंने कई बार सभी फाइलों को देखा और उन्होंने सही तरीके से अनुमतियों को सेट करने के लिए देखा। ओपनपैड के लिए एक समूह समस्या बन गया। एक बार जब मैंने आखिरकार यह पता लगा लिया, तो एक साधारण sudo usermod -a -G ssl-cert openldapने मेरे लिए इसे हल कर दिया।


2

कभी-कभी समस्या थप्पड़ सेवा के लिए ऐपमोरर प्रोफाइल में होती है। सुनिश्चित करें कि एपरमोर प्रोफाइल ने डेमॉन के लिए प्रमाणपत्र पथ की अनुमति दी है।

यह काफी नेत्रहीन है /etc/apparmor.d/usr.sbin.slapd। डिफ़ॉल्ट रूप से यह प्रोफ़ाइल डिफ़ॉल्ट स्थानों में प्रमाणपत्र पढ़ने की अनुमति देती है।

उचित यूनिक्स अनुमतियों के बावजूद, डेमॉन के निष्पादन योग्य के लिए अपीमीकृत अनिर्दिष्ट कार्यों को रोकना चाहिए।


यदि आप letencrypt का उपयोग करते हैं, तो यह समाधान है। निम्न पंक्तियों को इसमें जोड़ें /etc/apparmor.d/usr.sbin.slapd: / etc / letencrypt / r, / etc / letencrypt / ** r, और apparmate प्रोफाइल पुनः लोड करें।
बर्नहार्ड

1

जैसा कि मैंने उबंटू लॉन्चपैड पर इस बग में बताया है , यह समस्या अप्पर्मर के कारण भी हो सकती है। आमतौर पर यह syslog में पहुंच निषेध के रूप में दिखाई देगा।

फिक्स निम्नलिखित लाइन को /etc/apparmor.d/usr.sbin.slapd में सम्मिलित कर रहा है:

/etc/letsencrypt/** r,

और फिर प्रोफ़ाइल को ताज़ा करना:

# apparmor_parser -vr usr.sbin.slapd
# service apparmor restart

0

मुझे भी यह समस्या है। समस्या यह है कि स्लैपड फ्लॉप चल रहे उपयोगकर्ता के पास सेरेट्स फ़ाइलों तक पहुंच है। जाँच करें कि उस फ़ाइल का मालिक Openldap उपयोगकर्ता है।


0

मेरे लिए समस्या अभिलेखों के गलत क्रम में थी - यहाँ वह काम किया गया है:

dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cm_ca_cert.pem
-
# This never worked for me, no idea why
#add: olcTLSCipherSuite
#olcTLSCipherSuite: TLSv1+RSA:!NULL
#-
replace: olcTLSVerifyClient
olcTLSVerifyClient: never
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/cm_server.pem
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/cm_server.key

0

दुर्भाग्य से यह "डिफ़ॉल्ट" त्रुटि प्रतीत होती है जो आपको किसी भी चीज़ के लिए मिलती है। @ wulfsdad का anwser आमतौर पर इसे ठीक करता है।

एक और चीज जो मैं हमेशा भूल जाता हूं, वह यह है कि डिफ़ॉल्ट रूप से ubuntu slapd पर खुलने वाले प्रारूप में कुंजी चाहता है। मैं इसमें पीसीके # 8 कुंजी को नियंत्रित करता हूं और उम्मीद करता हूं कि यह सिर्फ काम करेगा (जो उचित होना चाहिए)। यदि आपने ऊपर दिए गए सभी ऐरर की कोशिश की है, तो सुनिश्चित करें कि कुंजी का सही प्रारूप है। जब आप आमतौर पर गलत अनुमतियों के बारे में पढ़ते हैं और अपने सिर को रगड़ते हैं, तो अपाचे बहुत महत्वपूर्ण थप्पड़ के साथ काम क्यों नहीं करता है।

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