仅使用 STARTTLS 的 slapd 不起作用

仅使用 STARTTLS 的 slapd 不起作用

我在 Debian/Squeeze 下使用 slapd,并尝试将系统配置为仅允许在端口 389 上使用 STARTTLS 进行 TLS 加密连接。

因此我将 /etc/default/slapd 配置为监听端口 389:

SLAPD_SERVICES="ldap://:389/"

我通过在 /etc/ldap/slap.d/cn=config.ldif 中添加以下条目来生成证书并启用 TLS

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

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

security tls=256

通过该配置,我可以使用以下方式运行 TLS 加密连接:

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

但除此之外,未加密的连接仍然可以使用:

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

从我的角度来看,/etc/ldap/slapd.conf 中的 security 指令似乎根本没有使用。此外,当我尝试将 slapd.conf 转换为 cn=config 配置格式时,我可以清楚地看到,生成的 cn=config 配置文件中不包含 security 指令。

有人知道那里发生了什么以及如何更改配置以禁止未加密的连接吗?

答案1

您已声明所有 tls 连接的强度必须为 256。
您尚未声明有关其他类型连接的任何内容。

也许你想要security minssf=256

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

答案2

我发现问题在于,我一直cn=配置-style 配置格式(我已经意识到了这一点),但我认为/etc/ldap/slapd.conf也会被使用。有了额外的条目olcSecurity: tls=128/etc/ldap/slapd.d/cn=config.ldif一切都按预期工作。

相关内容