我正在努力为新的OpenLDAP服务器设置TLS。 系统是Debian Jessie(已更新到最新的8.7版本),并且通过安装slapd软件包来设置服务器,到目前为止几乎没有修改。
我试图configuration的一件事是TLS密码套件。 这是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 (eg, implementation specific) error (80)
我仔细检查文件是否存在,并且slapd有权访问该文件。
我将olcLogLevel更改为any (因此certificate我能够修改configuration)并检查debugging输出,但是我所看到的对于未经训练的眼睛没有任何信息价值。 这里是错误53发生的片段:
[...] 6月8日16:46:21 pelargir slapd [36937]:slap_queue_csn:排队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_allowedtypes“objectClass” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedinput“cn” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedtypes“olcArgsFile” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcLogLevel” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcPasswordHash” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcPidFile” Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcToolThreads” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedtypes“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” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“createTimestamp” Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcTLSCipherSuite” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedtypes“entryCSN” Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed type“modifiersName” 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“modifyTimestamp” Jun 8 16:46:21 pelargir slapd [36937]:send_ldap_result:conn = 1002 op = 1 p = 3 6月8日16:46:21 pelargir slapd [36937]:send_ldap_result:err = 53 matched =“”text =“” 6月8日16:46:21 pelargir slapd [36937]:send_ldap_response:msgid = 2 tag = 103 err = 53 6月8日16:46:21 pelargir slapd [36937]:conn = 1002 op = 1 RESULT tag = 103 err = 53 text = [...]
任何人都可以给我一个提示,我可能在这里做错了吗? 我觉得非常困惑的是,我可以成功修改诸如olcLogLevel或olcPasswordHash类的简单选项,但是当我尝试对类似简单的TLS选项(如olcTLSCipherSuite执行相同的操作时失败。
我遇到了同样的问题,debian中的openldap是针对gnu-tls包进行编译的,并且默认情况下不会安装。
这可能有助于:
apt install gnutls-bin
还要确保openldap用户有足够的权限来读取证书。 例如:
useradd letsencrypt chown openldap:letsencrypt /etc/letsencrypt/ -R usermod -a -G letsencrypt openldap