В настоящее время OpenLDAP необходимо настроить с помощью ldapmodify cn = config, как описано здесь . Но нигде я не могу найти, как вы настраиваете его только для приема трафика TLS. Я только что подтвердил, что наш сервер принимает незашифрованный трафик (с помощью ldapsearch и tcpdump).
Обычно я просто закрывал бы не-SSL-порт с IP-таблицами, но использование SSL-порта, по-видимому, не рекомендуется, поэтому у меня нет такой опции.
Итак, с помощью команд конфигурации SSL, например:
dn: cn=config
changetype:modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/bla.key
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/bla.crt
-
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/ca.pem
Есть ли параметр для принудительного использования TLS?
Изменить: я попытался olcTLSCipherSuite, но это не работает. Отладочный вывод:
TLS: could not set cipher list TLSv1+RSA:!NULL.
main: TLS init def ctx failed: -1
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
Edit2 (почти исправлено): я смог исправить это, загрузив:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Но тогда команды вроде
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
Не работать больше ... И изменить его на:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
дает мне «ldap_bind: неверные учетные данные (49)». Очевидно, что хотя этот binddn указан как rootdn, я не могу использовать его для изменения cn=config
. Можно ли это изменить?
TLS confidentiality required
сообщением.