只有STARTTLS slapd不起作用

我在Debian / Squeeze下使用slapd,并尝试将系统configuration为仅允许在端口389上使用STARTTLS进行TLSencryption的连接。

所以我configuration了我的/ etc / default / slapd来侦听端口389:

SLAPD_SERVICES="ldap://:389/" 

我生成了一个证书并启用了TLS,将以下条目添加到/etc/ldap/slap.d/cn=config.ldif

 olcTLSCertificateFile: /etc/ssl/openldap/ca-cert.pem olcTLSCertificateKeyFile: /etc/ssl/openldap/ca-key.pem 

最后,我添加了一个/etc/ldap/slapd.conf,内容如下:

 security tls=256 

有了这个configuration,我可以运行TLSencryption连接使用:

 ldapsearch -ZZ -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=net" -w "password" 

但除此之外,未encryption的连接仍在使用:

 ldapsearch -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=net" -w "password" 

从我的angular度来看,似乎/etc/ldap/slapd.conf中的安全指令根本没有使用。 另外,当我尝试将slapd.conf转换为cn = configconfiguration格式时,我可以清楚地看到,安全性指令不包含在生成的cn = configconfiguration文件中。

有人知道那里发生了什么,以及如何改变configuration来禁止未encryption的连接?

你已经声明所有连接必须有256的强度。
您还没有声明其他types的连接。

也许你想要security minssf=256

man slapd.conf部分sasl-secpropssecurity的更多信息。

我发现问题是,我一直是cn = config- style的configuration格式(我已经意识到了这一点),但我想/etc/ldap/slapd.conf也会被使用。 使用/etc/ldap/slapd.d/cn=config.ldif的附加条目olcSecurity: tls=128 ,所有内容都可以像预期的那样工作。