Аутентификация OpenLDAP TLS

Я пытаюсь реализовать TLS согласно https://help.ubuntu.com/lts/serverguide/openldap-server.html, Когда я пытаюсь изменить cn=config базу данных с этим ldif файлом:

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
10
задан 10 July 2015 в 15:27
8 ответов

Ну, я не знаю, это решение или просто обходной путь, но мне удалось заставить его работать.

Сначала я остановил slapd с помощью:

service slapd stop

Затем я начал в режиме отладки:

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

Важно запускать ТОЛЬКО с ldapi: /// URL. После запуска я выполнил команду ldapmodify, и атрибуты были импортированы.

В конце я остановил режим отладки и запустил slapd в обычном режиме.

3
ответ дан 2 December 2019 в 22:00

У меня тоже есть эта проблема. Проблема в том, что у пользователя, запустившего slapd, не было доступа к файлам сертификатов. Убедитесь, что владельцем этих файлов является пользователь openldap.

0
ответ дан 2 December 2019 в 22:00

Я следовал тому же руководству, и у меня была такая же проблема. Это сработает, если вы выполните действия по «Укреплению прав собственности и разрешений», перечисленные вначале после вызывающей ошибку команды 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
17
ответ дан 2 December 2019 в 22:00

В продолжение A. Ответ Гутьерреса, лучший способ проверить доступ для каждого файла - запустить sudo -u openldap cat . Я просмотрел все файлы несколько раз, и они выглядели так, чтобы права были установлены правильно. Оказалось, что это групповая проблема для openldap. Как только я, наконец, понял это, простой sudo usermod -a -G ssl-cert openldap решил эту проблему за меня.

.
2
ответ дан 2 December 2019 в 22:00

Для меня проблема заключалась в неправильном порядке записей - вот тот, который сработал:

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
ответ дан 2 December 2019 в 22:00

Тилекке каршы, бул "демейки" ката болуп калды окшойт. @ wulfsdad's anwser адатта аны оңдойт.

Дагы бир нерсени унутам: ubuntu slapdде ачкычты opensl форматында каалаганым. Мен аны үзгүлтүксүз, бирок PCKS # 8 баскычын ачып, анын жөн гана иштешин күтөм (бул туура болуш керек). Эгерде сиз жогоруда келтирилген анверлердин бардыгын сынап көрсөңүз, ачкычтын форматы туура экендигин текшериңиз. Ката жөнүндө googling болгондо, адатта туура эмес уруксаттар жөнүндө окуп, apache slapd баскычы менен иштегениңиздин башын сүртөсүз.

0
ответ дан 2 December 2019 в 22:00

Иногда проблема возникает в профиле устройства для обслуживания ведомых устройств. Убедитесь, что профиль apparmor разрешил путь к сертификату для демона.

Это визуально находится в /etc/apparmor.d/usr.sbin.slapd. По умолчанию этот профиль позволяет читать сертификаты в местах по умолчанию.

Apparmor должен предотвращать неуказанные действия для исполняемого файла даемона, несмотря на соответствующие unix-разрешения.

.
2
ответ дан 2 December 2019 в 22:00

Как я сообщал в об этой ошибке на панели запуска Ubuntu , эта проблема также может быть вызвана apparmor. Обычно это отображается в системном журнале как отказ в доступе.

Исправление заключается в вставке следующей строки в /etc/apparmor.d/usr.sbin.slapd:

/etc/letsencrypt/** r,

, а затем обновите профиль:

# apparmor_parser -vr usr.sbin.slapd
# service apparmor restart
1
ответ дан 2 December 2019 в 22:00

Теги

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