如今,OpenLDAP需要使用ldapmodify cn = config进行配置,如
here所述.但我无处可以找到如何将其配置为仅接受TLS流量.我刚刚确认我们的服务器接受未加密的流量(使用ldapsearch和tcpdump).
通常情况下,我只关闭带有IP表的非SSL端口,但显然不推荐使用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 @R_301_159@: -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.可以改变吗?
我似乎得到了它:
我这样做了:
dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcSecurity olcSecurity: tls=1
这似乎有所期望的效果.我仍然可以运行如下命令:
ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config
但是试图在没有SSL的情况下与“ldapsearch -xLLL -b …”绑定说:“需要TLS机密性”