Невозможно настроить параметры TLS для OpenLDAP

Я борюсь с настройкой TLS для нового сервера OpenLDAP. Система - Debian Jessie (обновленная до последней стабильной версии 8.7), и я настроил сервер, установив пакет slapd , практически без изменений на сегодняшний день.

Одна из вещей, которые я пытаюсь для настройки используется TLS Cipher Suite. Вот LDIF:

dn: cn=config
changetype: modify
add: olcTLSCipherSuite
olcTLSCipherSuite: HIGH

Когда я пытаюсь отправить это изменение с помощью следующей команды:

ldapmodify -Y EXTERNAL -H ldapi:/// -f set-cipher-suite.ldif

Я получаю эту ошибку:

ldap_modify: Server is unwilling to perform (53)

Я также пытался установить файл сертификата со следующим LDIF:

dn: cn=config
changetype: modify
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/foo.crt

Здесь я получаю ошибка 80 вместо ошибки 53.

ldap_modify: Other (e.g., implementation specific) error (80)

Я дважды проверил, существует ли файл и что slapd имеет доступ к файлу.

Я изменил olcLogLevel на любой (тем самым доказав, что Я могу изменить конфигурацию) и проверил вывод отладки, но то, что я вижу, не имеет никакой информации для моего неподготовленного глаза. Вот фрагмент, в котором возникает ошибка 53:

[...]
Jun  8 16:46:21 pelargir slapd[36937]: slap_queue_csn: queueing 0x7f3648f4a430 20160608144621.742848Z#000000#000#000000
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_required entry (cn=config), objectClass "olcGlobal"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "objectClass"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "cn"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcArgsFile"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcLogLevel"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcPasswordHash"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcPidFile"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcToolThreads"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "structuralObjectClass"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "entryUUID"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "creatorsName"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "createTimestamp"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "olcTLSCipherSuite"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "entryCSN"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "modifiersName"
Jun  8 16:46:21 pelargir slapd[36937]: oc_check_allowed type "modifyTimestamp"
Jun  8 16:46:21 pelargir slapd[36937]: send_ldap_result: conn=1002 op=1 p=3
Jun  8 16:46:21 pelargir slapd[36937]: send_ldap_result: err=53 matched="" text=""
Jun  8 16:46:21 pelargir slapd[36937]: send_ldap_response: msgid=2 tag=103 err=53
Jun  8 16:46:21 pelargir slapd[36937]: conn=1002 op=1 RESULT tag=103 err=53 text=
[...]

Кто-нибудь может мне подсказать, что я здесь делаю не так? Что меня совершенно сбивает с толку, так это то, что я могу успешно изменять простые параметры, такие как olcLogLevel или olcPasswordHash , но мне не удается сделать то же самое для таких же простых параметров TLS, таких как olcTLSCipherSuite .

2
задан 18 February 2017 в 14:06
2 ответа

Проблема с

olcTLSCipherSuite: HIGH

заключается в том, что GnuTLS не знает набор шифров "HIGH", потому что это удобное имя поддерживается только OpenSSL. Если вы хотите увидеть доступные имена шифров, поддерживаемые GnuTLS, выполните команду gnutls-cli -l . Установите пакет Debian gnutls-bin , чтобы получить доступ к утилите gnutls-cli .

Проблема с

olcTLSCertificateFile: /etc/ssl/certs/foo.crt

мне не удалось воспроизвести более чем через 3 года. Как отметил в своем ответе Александр Кьялл, в конце концов, это могла быть проблема с разрешением.

0
ответ дан 22 January 2020 в 17:53

Я столкнулся с той же проблемой: openldap в debian скомпилирован с пакетом gnu-tls и не установлен по умолчанию.

Это может помочь:

apt install gnutls-bin

Также убедитесь, что у пользователя openldap достаточно прав для чтения сертификатов. Например:

useradd letsencrypt
chown openldap:letsencrypt /etc/letsencrypt/ -R
usermod -a -G letsencrypt openldap
0
ответ дан 3 December 2019 в 14:24

Теги

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