Ошибочное конфигурирование OpenLDAP StartTLS: ldap_modify: Другой (например, конкретная реализация) ошибка (80)

Конфигурирование StartTLS для OpenLDAP.

  • Сервер Ubuntu 16.04
  • Slapd 2.4.42+dfsg-2ubuntu3.2

У меня есть свой собственный внутренний Центр сертификации, который предоставляет сертификаты.

Я настроил сертификаты и ключ: в/etc/ssl/certs:

-rw-r----- 1 root ssl-cert   3268 Jul 14 23:02 ldaptest.roenix.net.cert.pem

lrwxrwxrwx 1 root root         51 Jul  2 13:22 roenix.ca.cert.pem -> /usr/local/share/ca-certificates/roenix.ca.cert.crt

в/etc/ssl/private:

-rw-r----- 1 root ssl-cert 3243 Jul 14 23:01 ldaptest.roenix.net.key.pem

Я правильно установил имя хоста:

@ldaptest:/etc/ssl/certs$ hostname -f
ldaptest.roenix.net

Я пытаюсь добавить конфигурацию к slapd с этим LDIF:

dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/roenix.ca.cert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldaptest.roenix.net.cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldaptest.roenix.net.key.pem

С командой:

sudo 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)

Любая справка значительно ценится!

4
задан 15 July 2017 в 13:32

4 ответа

Эта ошибка может быть также ошибкой разрешения. Например, если сделал эту команду

vim newcerts.ldif

dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/myca.crt
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap1.mydom.crt
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap1.mydom.key
-
replace: olcTLSRandFile
olcTLSRandFile: /dev/urandom

затем

ldapmodify -Y EXTERNAL -H ldapi:/// -f newcerts.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)

, но после того, как дают с setfacl разрешение файла ключей чтения openldap пользователю (сертификаты обычно являются 644 читаемыми всеми)

setfacl -m u:openldap:r-x /etc/ssl/private
setfacl -m u:openldap:r-x /etc/ssl/private/ldap1.mydom.key

все работы

ldapmodify -Y EXTERNAL -H ldapi:/// -f newcerts.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
0
ответ дан 1 December 2019 в 10:00

у меня была та же проблема. Сертификаты были сохранены в /opt/local/cert.

Необходимо добавить этот каталог к списку разрешенных файлов в /etc/apparmor.d/usr.sbin.slapd:

/opt/local/cert/ r,`
/opt/local/cert/* r,
1
ответ дан 1 December 2019 в 10:00

Я решил эту проблему путем изменения порядка в file.ldif как это:

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/your_key

dn: cn=config 
changetype: modify
replace: olcTLSCertificateFile 
olcTLSCertificateFile: /etc/openldap/certs/your_certificate

и я выполнил команду

ldapmodify -Y EXTERNAL -H ldapi:/// -f your_file.ldif 

удостоверьтесь, что там acl, который делает корень имеющим право внести изменение с аутентификацией с SASL, связывает.

Чтобы удостовериться, что изменения были сделаны, выполнял эту команду

ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config | grep olcTLS
2
ответ дан 1 December 2019 в 10:00

Я решил проблему, просто используйте в правильном порядке сначала ключ, затем сертификат. И у меня это сработало.

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/myldap.kart.com.key 

dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/myldap.kart.com.cert
1
ответ дан 17 March 2020 в 14:46

Другие вопросы по тегам:

Похожие вопросы: