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